All pastes #1397817 Raw Edit

j0rn

public shellscript v1 · immutable
#1397817 ·published 2009-04-21 00:00 UTC
rendered paste body
#!/bin/bash## Auteur:#       j0rn - cmdlime chez gmail## Usage:#       ./shellcode_extractor -s helloworld.asm##       ou 'helloworld.asm' est la source nasm#       il ne doit pas y avoir de .data, juste#       une partie code, un shellcode quoi...##               ou##       ./shellcode_extractor -f helloworld##       ou 'helloworld' est un binaire ELF#       dont on sait qu'il aura peut etre des#       chances de nous donner quelque chose ;p#       (typiquement un shellcode compilé ELF)#if [ $# -ne 2 ]then        echo "Usage: $(basename $0) [-s .asm source|-f ELF binary]"        exit 1figetopts "s:f:" flagcase $flag in        s)                sourcefile="$2"                binaire="$(basename $sourcefile .asm)"                objet="$binaire.o"                echo "source  : $sourcefile"                echo "objet   : $objet"                echo "binaire : $binaire"                nasm -f elf $sourcefile -o $objet &&                ld $objet -o $binaire &&                taille=$(($(echo 0x$(readelf -t $binaire 2>&1 | awk '/.text/ {getline; print $4}')))) &&                od -An -j96 -N$taille -w$taille -tx1 $binaire | sed -e 's| |\\x|g' &&                rm -f $objet $binaire        ;;        f)                binaire=$2                echo "binaire : $binaire"                taille=$(($(echo 0x$(readelf -t $binaire 2>&1 | awk '/.text/ {getline; print $4}')))) &&                od -An -j96 -N$taille -w$taille -tx1 $binaire | sed -e 's| |\\x|g'        ;;        *)                echo "Usage: $(basename $0) [-s .asm source|-f ELF binary]"                exit 1        ;;esacexit 0