Organizador da saída do objdump

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

[ Hits: 1.881 ]

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

Criador de VirtualHosts Apache no Ubuntu e Debian

Script de compilação do kernel 3.3.2 com cflags -march=native e patch 3.3.0-ck1 para ubuntu 11.10

Extrair arquivos pelo Nautilus com 7z e Yad

Script em bash para compilação do kernel 3.3.2 para Ubuntu 11.10 com patch 3.3.0-ck1

Padronização de usuários em vários micros


  

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