ReCopilot is developed by the XingTu Lab of QI-ANXIN Technology Research Institute. It is an AI-powered binary program analysis assistant that leverages artificial intelligence to enhance reverse engineering workflows. It features powerful binary code reasoning capabilities and homologous code search functionality. ReCopilot can intelligently recover function names, variable names, and type information, generate code documentation, and provide semantic-based binary code homology search.
ReCopilot Binary Code Reasoning and Analysis
- Symbol and Type Recovery: Intelligently infer stripped function names, variable names, and other semantic symbols using large language models. Supports source-level variable type and struct definition recovery.
- Semantic Analysis and Code Documentation: Automated binary code semantic analysis with context-based function behavior inference, assisting code comprehension through function documentation and inline comments.
- Decompilation Enhancement: Use large language models to enhance decompilation results and improve pseudocode readability.
- Result Review and Application: Supports manual review of model predictions, allowing modifications or selective application of results. Predicted symbol information and types (including struct types) can be applied to binary code with automatic propagation.
- General Model Support: Supports dynamic model switching to leverage the performance of rapidly evolving advanced large language models.
SimAI Binary Code Homology Search
- Function-level Binary Code Homology Search: Search for homologous functions of binary functions based on semantics. Search results include source code, pseudocode, project name, version number, similarity score, and other information.
- Automated Batch Search: Supports automated batch searching of multiple functions in the current binary file.
- Search Result Details Inspection and Application: Search results contain fine-grained information of homologous functions, such as function names, parameter types, and parameter names, for users to selectively apply to the analyzed binary code.
- IDA Pro 9.0+
- Python 3.8~3.13
Place the plugin files in the IDA Pro plugins directory:
$IDA_INSTALL_DIR/plugins/
|--recopilot
|--recopilot.py
|--ida-plugin.json
...Use the command pip install -r requirements.txt in the recopilot directory to install the required Python libraries.
Note: Please ensure installation to the IDAPython environment. Use
$IDA_INSTALL_DIR/idapyswitchto check the Python environment currently used by IDA.
Open IDA Pro and load a binary file. Observe the Output window. If the following output appears, the plugin installation was successful:
==== ReCopilot Plugin Init ====
[👏] ReCopilot init success
Open IDA Pro → Edit → ReCopilot-Settings dialog. In the ReCopilot Settings tab, configure the ReCopilot reasoning model API:
Model Name: recopilot-v0.1-beta-dpo
Base URL: https://tqgpt.qianxin.com/recopilot/v1
API Key: Obtain Token from Personal Center on our website
In the SimAI Settings tab, configure the search model API:
Base URL: https://tqgpt.qianxin.com/simai/analyze
API Key: Same as above
Obtain API Key from Personal Center on our website (ENGLISH VERSION IS ONLINE): https://tqgpt.qianxin.com/recopilot/
For more configuration options and usage details, please visit our Documentation.
This repository is licensed under the GPLv3 License.
ReCopilot does not collect any usage data by default. Data collection is only enabled when you manually turn on the "Feedback Enable" option in the plugin settings. When enabled, collected data includes system information, model interactions, and analysis results to help improve our models and plugin performance. We are committed to protecting your privacy and have implemented strict data protection measures.
For detailed information about our data collection practices, please read our Privacy Policy.
If you find our work helpful, feel free to give us a cite.
@misc{ReCopilot2025,
title={ReCopilot: Reverse Engineering Copilot in Binary Analysis},
author={Guoqiang Chen and Huiqi Sun and Daguang Liu and Zhiqi Wang and Qiang Wang and Bin Yin and Lu Liu and Lingyun Ying},
year={2025},
eprint={2505.16366},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2505.16366},
}