Example Usage
>>> from smda.Disassembler import Disassembler
>>> disassembler = Disassembler()
>>> report = disassembler.disassembleFile("/bin/cat")
>>> print(report)
0.777s -> (architecture: intel.64bit, base_addr: 0x00000000): 143 functions
>>> for fn in report.getFunctions():
... print(fn)
... for ins in fn.getInstructions():
... print(ins)
...
0x00001720: (-> 1, 1->) 3 blocks, 7 instructions.
0x00001720: ( 4883ec08) - sub rsp, 8
0x00001724: (488b05bd682000) - mov rax, qword ptr [rip + 0x2068bd]
0x0000172b: ( 4885c0) - test rax, rax
0x0000172e: ( 7402) - je 0x1732
0x00001730: ( ffd0) - call rax
0x00001732: ( 4883c408) - add rsp, 8
0x00001736: ( c3) - ret
0x00001ad0: (-> 1, 4->) 1 blocks, 12 instructions.
[...]
>>> json_report = report.toDict()
See also
AndKittyInjector
Open Source
Inject a shared library into a process using ptrace…
Angr
Open Source
Python binary analysis framework supporting both static and dynamic symbolic execution (concolic exe…
NebulaFD
Free
A work in progress, reimagined decompiler for Clickteam Fusion.…
Binwalk
Open Source
Kali
Firmware analysis tool for searching, extracting, and analyzing binary images. Identifies embedded f…
NTRGhidra
Open Source
A Nintendo DS binary loader for Ghidra…
RetDec
Open Source
Retargetable machine-code decompiler based on LLVM. Developed by Avast. Decompiles x86, ARM, MIPS, P…