https://github.com/redthing1/binja_moonanalyzer
binja: analyze things on the moon
https://github.com/redthing1/binja_moonanalyzer
Last synced: 5 months ago
JSON representation
binja: analyze things on the moon
- Host: GitHub
- URL: https://github.com/redthing1/binja_moonanalyzer
- Owner: redthing1
- Created: 2025-05-10T05:36:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-27T01:46:00.000Z (5 months ago)
- Last Synced: 2026-01-27T13:41:16.998Z (5 months ago)
- Language: Python
- Size: 130 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# binja_moonanalyzer
binja: analyze things on the moon
## overview
- the idea of this project is to enable ai-assisted binary analysis in a chat-like fashion.
- unlike many ai-assisted analysis tools, **moonanalyzer** is designed for chat rather than api calls. this tool is for conversational, stateful binary analysis in a way that's closer to the human workflow.
- you, the user, are in the front seat, and can locate interesting code; when you find some, you can use the quick analyze tool to generate a contextualized prompt to send to the moon (your llm chat) for analysis.
- the llm sends back a dsl script that can rename things and add comments based on its analysis of the decompilation.
- it's designed in the way that you can keep adding to a stateful chat in a back-and-forth, gradually analyzing the binary.
## features
- smart analyze: send snippets of HLIL and disassembly and get back DSL that can rename and retype things
- smart patch: send snippets of HLIL and disassembly along with an objective and get back a patch
## guide
- ensure python dependency `lark` (for parsing) is installed
- go to settings, set scope to project/resource, and set project context under **MoonAnalyzer**
- navigate to a function, and use Plugins > MoonAnalyzer and an analyze command
- paste the prompt into a llm chat interface
- use Plugins > MoonAnalyzer > Execute BN-DSL and run the llm output