0xreversed/with.ai
Reverse engineering frameworkApache License 2.0

SymGen

A domain-adapted LLM framework for inferring function names in stripped binaries using decompilation and source code summaries.

0 projects

About SymGen

SymGen is a framework designed to infer function names in stripped binaries, which lack debug symbols, by leveraging domain-adapted Large Language Models (LLMs). The tool operates by decompiling binaries using Ghidra and processing the resulting code with ANTLR 4. It utilizes a fine-tuning approach based on alpaca-lora, specifically adapted for Code Llama models, to predict function names from decompiled code. The workflow involves several stages: decompiling unstripped and stripped binaries, processing decompiled data to create datasets, and generating function summaries from source code to enhance training. SymGen supports multiple architectures including x86_64, x86_32, ARM, and MIPS, across various optimization levels (O0 to O3). The environment requires Python 3.9 and Conda for dependency management, alongside a headless Ghidra installation for the decompilation pipeline.

Summarised from the official page linked above.

0 projects

Projects using SymGen

No projects with SymGen yet
If you took something apart with SymGen, add it so others can see how it went.
Submit a project