| Thread overview | |||||
|---|---|---|---|---|---|
|
May 08, 2018 Disassemble binary. | ||||
|---|---|---|---|---|
| ||||
Just share.
Script for disassemble binary.
And script for bash completion. Complete symbol names.
Files:
./dasm
/etc/bash_completion.d/dasm
file <./dasm>
#!/bin/bash
# Author: abu, vital
# Description: puts disassembled objectfile to std-out
if [ $# = 2 ]; then
sstrg="^[[:xdigit:]]{2,}+.*<$2>:$"
objdump -d $1 | awk -F"\n" -v RS="\n\n" '$1 ~ /'$2'/'
elif [ $# = 1 ]; then
objdump -d $1 | awk -F"\n" -v RS="\n\n" '{ print $1 }'
else
echo "You have to add argument(s)"
echo "Usage: "$0 " arg1 arg2"
echo "Description: print disassembled label to std-out"
echo " arg1: name of object file"
echo " arg2: name of function to be disassembled"
echo " "$0 " arg1 ... print labels and their rel. addresses"
fi
file </etc/bash_completion.d/dasm>
# bash completion for dasm
_dasm()
{
local cur=${COMP_WORDS[COMP_CWORD]}
if [[ $COMP_CWORD -eq 1 ]] ; then
# files
COMPREPLY=( $( command ls *.o -F 2>/dev/null | grep "^$cur" ) )
elif [[ $COMP_CWORD -eq 2 ]] ; then
# functions
OBJFILE=${COMP_WORDS[COMP_CWORD-1]}
COMPREPLY=( $( command nm --demangle=dlang $OBJFILE | grep " W " | cut -d " " -f 3 | tr "()" " " | grep "$cur" ) )
else
COMPREPLY=($(compgen -W "" -- "$cur"));
fi
}
complete -F _dasm dasm
| ||||
May 08, 2018 Re: Disassemble binary. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to vital.fadeev | example:
./dasm opcode.o opcode.op_eq_s
Disassembly of section .text._D6opcode7op_eq_sFZi:
0000000000000000 <_D6opcode7op_eq_sFZi>:
0: 55 push %rbp
1: 48 8b ec mov %rsp,%rbp
4: 48 39 d1 cmp %rdx,%rcx
7: 75 0a jne 13 <_D6opcode7op_eq_sFZi+0x13>
9: 48 85 c9 test %rcx,%rcx
c: 74 0c je 1a <_D6opcode7op_eq_sFZi+0x1a>
e: fc cld
f: f3 a6 repz cmpsb %es:(%rdi),%ds:(%rsi)
11: 74 07 je 1a <_D6opcode7op_eq_sFZi+0x1a>
13: b8 00 00 00 00 mov $0x0,%eax
18: eb 05 jmp 1f <_D6opcode7op_eq_sFZi+0x1f>
1a: b8 01 00 00 00 mov $0x1,%eax
1f: 90 nop
20: 5d pop %rbp
21: c3 retq
...
| |||
May 08, 2018 Re: Disassemble binary. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to vital.fadeev | Source code: https://github.com/vitalfadeev/dasm | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply