Gepetto logo

Gepetto

Free

2.7k

FreeFree tier
Inputs: codeOutputs: text
Type
Open Source

About Gepetto

Gepetto is an open-source plugin for IDA Pro (version 7.6 and above) that integrates large language models to assist with reverse engineering. It is designed to analyze decompiled functions and provide natural language explanations of their purpose, as well as automatically rename variables to improve code readability. The plugin is written in Python and can be installed via the Hex-Rays CLI tool or manually placed in the IDA plugins directory. It requires users to configure their own API keys for the language model service they intend to use, such as OpenAI. Gepetto is hosted on GitHub under the repository JusticeRage/Gepetto, where it has garnered over 3,400 stars and 329 forks, indicating community interest. The tool is focused solely on enhancing the IDA Pro reverse engineering workflow and does not extend to other platforms or media types.

Key Features

Integrates with IDA Pro (≥ 7.6) to analyze decompiled functions
Uses large language models to generate human-readable explanations of function behavior
Automatically renames variables in decompiled code based on model suggestions
Open-source and free to use, with source code available on GitHub
Supports multiple language models via configurable API keys
Installable via Hex-Rays CLI tool or manual plugin installation

Pros & Cons

Pros
  • Free and open-source, with no licensing costs
  • Integrates directly into IDA Pro, a widely used reverse engineering tool
  • Can significantly reduce time spent understanding decompiled functions
  • Community-supported with active development and documentation on GitHub
  • Flexible configuration allows use of different language model providers
Cons
  • Requires IDA Pro (≥ 7.6), which is a commercial product and not free
  • Depends on external API keys and internet access for language model queries
  • Output quality varies based on the language model and prompt configuration
  • Free tier of language model APIs may have usage limits or costs; this should be verified
  • Limited to reverse engineering workflows and not applicable to other domains

Best For

Reverse engineering malware to understand obfuscated or complex functionsAnalyzing legacy or third-party binaries where source code is unavailableEducational purposes for learning assembly and decompiled code patternsSpeeding up code review of decompiled functions in security auditsAssisting vulnerability research by providing quick functional summaries

FAQ

What is Gepetto?
Gepetto is an open-source plugin for IDA Pro that uses large language models to explain decompiled functions and automatically rename variables, aiding reverse engineering.
How do I install Gepetto?
The recommended method is using the Hex-Rays CLI tool with the command 'hcli plugin install gepetto'. Alternatively, you can manually place the plugin files in your IDA plugins directory and install the required Python packages.
Does Gepetto require an API key?
Yes, you need to configure API keys for the language model service you plan to use, such as OpenAI. These keys are added to the configuration file (gepetto/config.ini).
Is Gepetto free to use?
Gepetto itself is free and open-source. However, using it may incur costs from the language model API provider based on their pricing; this should be verified on the provider's website.
Which versions of IDA Pro are supported?
Gepetto supports IDA Pro version 7.6 and above, as indicated in the repository documentation.
Can Gepetto be used with other reverse engineering tools?
Based on available information, Gepetto is specifically designed as a plugin for IDA Pro and does not appear to support other tools.