Files
skel/dotfiles/zshrc.d/assemble.zsh
David Tomaschik 4743b635aa Update zshrc.d
2025-06-10 09:07:56 -07:00

19 lines
506 B
Bash

if have_command nasm && have_command objdump ; then
assemble_shellcode() {
if [ -z "$1" ] ; then echo "Usage: $0 <assembly file>" >&2 ; return 1 ; fi
local NASM=`command which nasm`
local OBJDUMP=`command which objdump`
local TMPF=`mktemp`
local bytes
local byte
$NASM -f elf -o $TMPF $1
$OBJDUMP -M intel -d $TMPF | grep '^ ' | cut -f2 | while read -A bytes ; do
for byte in $bytes ; do
echo -n "\\\\x$byte"
done
done
echo
rm $TMPF
}
fi