CLI tool for reverse engineering with IDA's idalib
Project description
ida-cli
CLI tool for reverse engineering with IDA's idalib (ida-domain).
Features
- Subcommand-based CLI for all common IDA operations
- JSON output for easy automation and agent integration
- Invisible daemon for fast repeated commands (no repeated IDB loading)
- Auto-detection of existing IDB files
Installation
pip install -e ".[dev]"
Usage
# Get binary info
ida-cli -i binary.exe info
# List functions
ida-cli -i binary.exe functions list
ida-cli -i binary.exe functions list --filter "main|start"
# Decompile a function
ida-cli -i binary.exe decompile main
ida-cli -i binary.exe decompile 0x401000
# Disassemble
ida-cli -i binary.exe disassemble main
# Cross-references
ida-cli -i binary.exe xrefs 0x401000 --direction to
ida-cli -i binary.exe callgraph main --depth 3
# Search
ida-cli -i binary.exe strings --pattern "password|key"
ida-cli -i binary.exe search "48 8B 05" --type bytes
# Mutation
ida-cli -i binary.exe rename sub_401000 my_function
ida-cli -i binary.exe comment 0x401000 "This is the entry point"
ida-cli -i binary.exe set-type my_function "int __fastcall my_function(int a, char *b)"
# Daemon management
ida-cli --shutdown # Stop daemon for current target
ida-cli --shutdown-all # Stop all daemons
Daemon Behavior
The CLI automatically spawns a background daemon when first accessing an IDB. The daemon:
- Keeps the IDB loaded in memory for fast subsequent commands
- Auto-terminates after 15 minutes of inactivity (configurable via
--timeout) - Uses Unix sockets for IPC (
/tmp/ida-cli-{hash}.sock) - Logs to
~/.cache/ida-cli/daemon-{hash}.log
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run type checking
mypy src/
# Run linting
ruff check src/
ruff format src/
# Run tests
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ida_cli-0.1.0.tar.gz
(102.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ida_cli-0.1.0-py3-none-any.whl
(24.5 kB
view details)
File details
Details for the file ida_cli-0.1.0.tar.gz.
File metadata
- Download URL: ida_cli-0.1.0.tar.gz
- Upload date:
- Size: 102.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3543007b4e8620bd458be27fd3714edb93dee0470d602f17ba0c4f38dab56ec
|
|
| MD5 |
38d8a39b8370c89f6c9c45474b318272
|
|
| BLAKE2b-256 |
be02e8aee4f20537c0cb9ab3a8ec608d60074b6656484c18bb05605f8bb42a55
|
File details
Details for the file ida_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ida_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b35483edb05cea33a70317cf5af3583865c35fd6fd0d8c78b1bf8745d03f254
|
|
| MD5 |
9573aaaf0bd2b5011210af84726b6229
|
|
| BLAKE2b-256 |
55213b863281620463d98a44fd6e188e564a408c304e9978872b7ae61042c556
|