Organizador da saída do objdump

Publicado por Ruan (última atualização em 06/04/2015)

[ Hits: 1.869 ]

Homepage: N/A

Download odump.sh




Apenas para facilitar um pouco a vida. Organiza, salva ou apenas imprime na tela.

Aceito sugestões de mudanças.

Muito obrigado.

  



Esconder código-fonte

#!/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

Scripts recomendados

trocar a senha de um usuario do sistema

Instalar NetBox (container) em CentOS 7

Instalar emuladores no Fedora 22

Backup e restauração dos programas instalados em sistemas baseados em Debian

Script compartilhar conexão e criar regras de Firewall


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts