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.