IDA Domain API
The IDA Domain API provides a Domain Model on top of the IDA Python SDK.
This API will not replace the current low level IDA Python SDK, but will progressively increase in coverage to become the main entry point for IDA scripting & plugin development.
🚀 Key Features
- Pure Python implementation - No compilation required, works with any Python 3.9+
- Domain-driven design - APIs mirror how reverse engineers think about binaries
- Compatibility - The Domain API is fully compatible and can be used alongside with the IDA Python SDK
- Comprehensive coverage - Functions, strings, types, cross-references, and more
- Easy installation - Single
pip install
command
⚙️ Quick Example
import argparse
from ida_domain import Database
parser = argparse.ArgumentParser(description='Quick Usage Example')
parser.add_argument('-f', '--input-file', type=str, required=True)
args = parser.parse_args()
# Open any binary format IDA supports
with Database() as db:
if db.open(args.input_file):
# Pythonic iteration over functions
for func in db.functions.get_all():
print(f'{func.name}: {len(list(db.functions.get_instructions(func)))} instructions')
📖 Documentation
- Getting Started - Installation and your first script
- Examples - Practical examples for common tasks
- API Reference - Complete API documentation
🔗 Additional Resources
- PyPI Package: ida-domain on PyPI
- Source Code: GitHub Repository
- Issues: Bug Reports
- License: MIT License