Organizador da saída do objdump
Publicado por Ruan (última atualização em 06/04/2015)
[ Hits: 1.765 ]
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
ebook-cli - gerencia livros digitais entre PC e leitores ebooks
Habilitar e Desabilitar a Touchscreen
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
conflicting values set for option signed-by regarding source (1)
iso de sistema 32 bit em atividade (13)
Agora temos uma assistente virtual no fórum!!! (247)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)