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