Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ida_cli-0.1.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

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

Hashes for ida_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a3543007b4e8620bd458be27fd3714edb93dee0470d602f17ba0c4f38dab56ec
MD5 38d8a39b8370c89f6c9c45474b318272
BLAKE2b-256 be02e8aee4f20537c0cb9ab3a8ec608d60074b6656484c18bb05605f8bb42a55

See more details on using hashes here.

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

Hashes for ida_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b35483edb05cea33a70317cf5af3583865c35fd6fd0d8c78b1bf8745d03f254
MD5 9573aaaf0bd2b5011210af84726b6229
BLAKE2b-256 55213b863281620463d98a44fd6e188e564a408c304e9978872b7ae61042c556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page