Organizador da saída do objdump
Publicado por Ruan (última atualização em 06/04/2015)
[ Hits: 1.773 ]
Homepage: N/A
Apenas para facilitar um pouco a vida. Organiza, salva ou apenas imprime na tela.
Aceito sugestões de mudanças.
Muito obrigado.
#!/bin/bash # Organize exit the objdump # Autor: Slack # Date: 24/03/2015 # version 1.3 # ld -s hello.o bar.o -o foobar # Var COUNT -1 becaus in C, strlen () starts counting from zero, wc -l starts counting from one # Test if [[ "$#" < 2 ]]; then echo "Usage: `basename $0` {-p|-s|-ps} filename.o" exit 1 fi if ! [[ "$2" =~ .o$ ]]; then echo "Please check the argument "foo.o"" echo "nasm -f elf foo.asm -o foo.o" exit 1 fi if [[ -z "$(type -p objdump)" || -z "$(type -p nasm)" ]]; then echo "Obs: Objdump or Nasm -- NOT INSTALLED!!" exit 1 fi test -e "$2.txt" || touch "$2.txt" # Vars ASM="$2" ORGANIZE="$(objdump -d "$ASM" | egrep -v "[0-9]{8}\s<" | egrep -o "([0-9a-f]{2}\s){1,5}" | sed -e 's/^/"\\x/' -e 's/\s/\\x/g' -e 's/\\x$/"/g')" COUNT="$(objdump -d "$ASM" | egrep -v "[0-9]{8}\s<" | egrep -o "([0-9a-f]{2}\s){1,5}" | wc -l)" OUT="$2.txt" # Working save () { echo "$ORGANIZE" > "$OUT" echo "Length: $(expr "$COUNT" - 1)" && echo "Length: $(expr "$COUNT" -1 )" >> "$OUT" } print () { echo "**********Shellcode***********" echo "$ORGANIZE" echo "**********Shellcode***********" echo echo "Length: $(expr "$COUNT" -1 )" echo } case "$1" in -p) print ;; -s) save echo "Shellcode organized save in "$OUT"" ;; -ps) save print ;; *) echo "Usage: `basename $0` {-p|-s|-ps} filename.o" echo "-p for print" echo "-s just save" echo "-ps save and print" exit 1 esac
Testa link e reinicia a interface
Instalação do Adobe Flash Player em distros Debian-like
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Repositórios do Linux Mint com problemas [RESOLVIDO] (2)
Bora compartilhar umas ideias? (16)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (37)
Problema com session no umbutu (cookies) (0)
Som continua saindo no auto-falante mesmo com headphone, como conserto... (2)