Organizador da saída do objdump
Publicado por Ruan (última atualização em 06/04/2015)
[ Hits: 2.298 ]
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
Instalar e ativar o tema aero-aio do superkaramba
Nenhum comentário foi encontrado.
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









