Organizador da saída do objdump
Publicado por Ruan (última atualização em 06/04/2015)
[ Hits: 2.219 ]
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
Verificar status do banco de dados HyperFile-Sql
Dependências de Emuladores e DosBox
Script para Gerar Chave SSH - Atualizado 2021
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









