idapython

Automate IDA Pro disassembly and decompilation with Python scripting APIs.

2|1|Updated Mar 13, 2024
One-click install
npx skills add https://github.com/WingsZeng/dotfiles --skill idapython
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: idapython
Source: https://github.com/WingsZeng/dotfiles/tree/main/dot_config/goose/skills/idapython
Command: npx skills add https://github.com/WingsZeng/dotfiles --skill idapython

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

IDAPython provides streamlined access to IDA Pro's Python APIs to automate reverse-engineering tasks, reducing repetitive manual steps during analysis.

Core Features & Use Cases

  • Python-based automation for IDA Pro disassembly, decompilation (Hex-Rays), and database manipulation using ida_* modules and idautils.
  • Build repeatable analysis workflows across functions, cross-references, segments, and decompiler output; batch extract data and apply transformations automatically.
  • Real-world scenarios include bulk function analysis, pattern discovery, and rapid prototyping of reverse-engineering tasks.

Quick Start

Install IDA, enable Python scripting, and run a sample IDAPython script to automate a typical disassembly task.

Frequently Asked Questions about idapython

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate reverse engineering tasks in IDA Pro?

Automating reverse engineering in IDA Pro involves using IDAPython to access Python APIs for disassembly, decompilation, and database manipulation. This enables building repeatable workflows to batch extract data and apply transformations automatically.

Can I use Python to batch analyze functions and cross-references in IDA?

Yes, you can batch analyze functions and cross-references in IDA using Python. By utilizing idautils and ida_* modules, you can iterate through Functions() and XrefsTo() to traverse reference graphs and perform bulk function analysis.

Do I need Hex-Rays decompiler to automate binary analysis with IDAPython?

Hex-Rays is not strictly required for IDAPython automation, but having it enables decompilation interactions. Without it, you can still automate disassembly, traverse segments, and manipulate the analysis database using ida_* modules.

What is the best way to script decompilation workflows in IDA?

The best way to script decompilation workflows in IDA is using IDAPython to interact with the Hex-Rays APIs. This approach allows you to automate decompile calls, extract decompiler output, and rapidly prototype reverse-engineering tasks.

How to get started with IDAPython scripts for disassembly and pattern discovery?

To get started with IDAPython scripts for disassembly and pattern discovery, install IDA, enable Python scripting support, and run a sample script. You can then iterate through functions and cross-references to discover patterns across the binary.

Why is my IDAPython script not working with idautils and ida_* modules?

If your IDAPython script is not working with idautils and ida_* modules, it may be due to an incorrect environment setup. You need IDA Pro with proper Python scripting support enabled to successfully execute scripts and traverse reference graphs.