Organizador da saída do objdump
Publicado por Ruan (última atualização em 06/04/2015)
[ Hits: 2.245 ]
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
sincleg: sincronizador de legendas (srt)
GETPLAMIGA - Baixe a Palavra Amiga do Bispo Macedo
Atualizar status do MSN via shell script
Randomize - Gera números aleatórios de 1 a 100 mil
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)
Quando vocês pararam de testar distros? (23)









