DDisasm is a fast disassembler which is accurate enough for the resulting assembly code to be reassembled.
See https://github.com/grammatech/ddisasm on GitHub.
This image includes pre-built ddisasm and gtirb-pprinter
executables.
Example usage:
$ mkdir /tmp/workspace
$ cp $(which ls) /tmp/workspace/
$ docker run --rm -v /tmp/workspace:/workspace grammatech/ddisasm sh -c "ddisasm --ir /workspace/ls.gtirb /workspace/ls"
Building the initial gtirb representation (6ms)
Decoding the binary (366ms)
Disassembling (4s)
Populating gtirb representation (629ms)
Computing intra-procedural SCCs (9ms)
Computing no return analysis (102ms)
Detecting additional functions (130ms)
$ ls -1 /tmp/workspace/
ls
ls.gtirb
Content type
Image
Digest
sha256:0d2da2fa3…
Size
159.7 MB
Last updated
3 months ago
docker pull grammatech/ddisasm