https://github.com/ant4g0nist/decompiler
RetDec plugin for LLDB. RetDec is a retargetable machine-code decompiler based on LLVM.
https://github.com/ant4g0nist/decompiler
decompiler lldb retdec
Last synced: 12 months ago
JSON representation
RetDec plugin for LLDB. RetDec is a retargetable machine-code decompiler based on LLVM.
- Host: GitHub
- URL: https://github.com/ant4g0nist/decompiler
- Owner: ant4g0nist
- License: mit
- Created: 2023-06-13T01:34:37.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-13T12:21:36.000Z (about 3 years ago)
- Last Synced: 2024-04-01T15:09:34.361Z (over 2 years ago)
- Topics: decompiler, lldb, retdec
- Language: C++
- Homepage: https://fuzzing.science
- Size: 1.67 MB
- Stars: 62
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# RetDec lldb plugin
RetDec plugin for LLDB. RetDec is a machine-code decompiler based on LLVM.
[](https://github.com/ant4g0nist/ManuFuzzer/pulls)
[](https://github.com/ant4g0nist/decompiler/blob/main/LICENSE)
[](https://twitter.com/ant4g0nist)

## Build
Packages should be preferably installed via [Homebrew](https://brew.sh).
* macOS >= 10.15
* Full Xcode installation ([including command-line tools](https://github.com/frida/frida/issues/338#issuecomment-426777849), see [#425](https://github.com/avast/retdec/issues/425) and [#433](https://github.com/avast/retdec/issues/433))
* [CMake](https://cmake.org/) (version >= 3.6)
* [Git](https://git-scm.com/)
* [OpenSSL](https://www.openssl.org/) (version >= 1.1.1)
* [Python](https://www.python.org/) (version >= 3.4)
* [autotools](https://en.wikipedia.org/wiki/GNU_Build_System) ([autoconf](https://www.gnu.org/software/autoconf/autoconf.html), [automake](https://www.gnu.org/software/automake/), and [libtool](https://www.gnu.org/software/libtool/))
* Optional: [Doxygen](http://www.stack.nl/~dimitri/doxygen/) and [Graphviz](http://www.graphviz.org/) for generating API documentation
```sh
brew install make
make
```
## Usage
```sh
plugin load build/src/decompiler.dylib
```
## Limitations
Currently only works with lldb built from source. Hopefully this will be fixed in the future.
## TODO
- [x] Decompile functions from target executable
- [ ] Add caching
- [ ] Enable spot decoding
- [ ] Add support for decoding any loaded module
- [ ] Syntax highlighter
## Thanks
- [retdec](https://github.com/avast/retdec)