Ассистент для реверс-инжиниринга на базе ИИ, который связывает IDA Pro с языковыми моделями через MCP.
[!IMPORTANT] Я рекомендую вместо этого использовать Официальный сервер IDA MCP от Hex-Rays!
См. анонс в блоге для получения дополнительной информации.
Простой MCP-сервер для обратной разработки в IDA Pro.
https://github.com/user-attachments/assets/6ebeaa92-a9db-43fa-b756-eececce2aca0
Бинарные файлы и промпт для видео доступны в репозитории mcp-reversing-dataset.
idapyswitch, чтобы переключиться на новейшую версию Pythonida-pro-mcp --config, чтобы получить JSON-конфигурацию для вашего клиента.Примечание: Для этого требуется глобально активированный idalib и установленный uv:```bash
uv run "C:\Program Files\IDA Professional 9.3\idalib\python\py-activate-idalib.py"
uv run "/Applications/IDA Professional 9.3.app/Contents/MacOS/idalib/python/py-activate-idalib.py"
uv run "/path/to/idapro-9.3/idalib/python/py-activate-idalib.py"
## Установка (Claude Code)
Чтобы установить последнюю версию IDA Pro MCP в Claude Code:```bash
claude plugin marketplace add mrexodia/claude-marketplace
claude plugin uninstall ida-pro-mcp@mrexodia
claude plugin install ida-pro-mcp@mrexodia
Чтобы установить последнюю версию IDA Pro MCP в Codex:```bash codex plugin marketplace add mrexodia/codex-marketplace codex plugin remove ida-pro-mcp@mrexodia codex plugin add ida-pro-mcp@mrexodia
## Установка (Kimi Code)
Чтобы установить последнюю версию IDA Pro MCP в Kimi Code, выполните эту slash-команду в чате:```
/plugins install https://github.com/mrexodia/ida-pro-mcp/tree/main
/reload
Это устанавливает MCP-сервер idalib и навык idapython. Плагины копируются в
$KIMI_CODE_HOME/plugins/managed/, поэтому uv должен быть в вашем PATH. Первая сессия после
установки проходит медленнее, потому что uv разрешает зависимости перед тем, как сервер ответит.
Примечание: MCP-плагин больше не рекомендуется и со временем будет объявлен устаревшим. Используйте вместо него idalib-mcp.
Если вы хотите настроить MCP-сервер вручную из GUI IDA:```sh pip uninstall ida-pro-mcp pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip
Настройте серверы MCP и установите плагин IDA:```
ida-pro-mcp --install
Важно: Обязательно полностью перезапустите IDA и ваш MCP-клиент, чтобы установка вступила в силу. Некоторые клиенты (например, Claude) работают в фоновом режиме, и их нужно закрыть через значок в трее.
LLM склонны к галлюцинациям, поэтому при составлении промптов нужно быть конкретным. При обратном проектировании преобразование между целыми числами и байтами особенно проблематично. Ниже приведён минимальный пример промпта; не стесняйтесь начать обсуждение или открыть issue, если у вас есть хорошие результаты с другим промптом:```md Your task is to analyze a crackme in IDA Pro. You can use the MCP tools to retrieve information. In general use the following strategy:
int_convert MCP tool if needed!Этот промпт был лишь первым экспериментом, пожалуйста, поделитесь, если вы нашли способы улучшить результат!
Ещё один промпт от [@can1357](https://github.com/can1357):```md
Your task is to create a complete and comprehensive reverse engineering analysis. Reference AGENTS.md to understand the project goals and ensure the analysis serves our purposes.
Use the following systematic methodology:
1. **Decompilation Analysis**
- Thoroughly inspect the decompiler output
- Add detailed comments documenting your findings
- Focus on understanding the actual functionality and purpose of each component (do not rely on old, incorrect comments)
2. **Improve Readability in the Database**
- Rename variables to sensible, descriptive names
- Correct variable and argument types where necessary (especially pointers and array types)
- Update function names to be descriptive of their actual purpose
3. **Deep Dive When Needed**
- If more details are necessary, examine the disassembly and add comments with findings
- Document any low-level behaviors that aren't clear from the decompilation alone
- Use sub-agents to perform detailed analysis
4. **Important Constraints**
- NEVER convert number bases yourself - use the int_convert MCP tool if needed
- Use MCP tools to retrieve information as necessary
- Derive all conclusions from actual analysis, not assumptions
5. **Documentation**
- Produce comprehensive RE/*.md files with your findings
- Document the steps taken and methodology used
- When asked by the user, ensure accuracy over previous analysis file
- Organize findings in a way that serves the project goals outlined in AGENTS.md or CLAUDE.md
Живая трансляция с обсуждением промптинга и демонстрацией реального анализа вредоносного ПО:
Большие языковые модели (LLM) — мощные инструменты, но иногда они могут испытывать трудности со сложными математическими вычислениями или демонстрировать «галлюцинации» (выдумывание фактов). Обязательно указывайте LLM использовать MCP-инструмент int_convert, а также вам может понадобиться math-mcp для определённых операций.
Ещё один момент, который стоит учитывать: LLM плохо справляются с обфусцированным кодом. Прежде чем пытаться использовать LLM для решения задачи, осмотрите бинарный файл и потратьте некоторое время на (автоматическое) удаление следующих вещей: