Star on GitHubStar1.4k stars

Tool

IDA iOS Helper

IDA Pro plugin that cleans up Hex-Rays pseudocode and adds navigation helpers for iOS user-mode binaries and the kernelcache, enabling its components according to the loaded file. For Objective-C and Swift code it hides reference-counting calls, selectors and static class arguments, collapses os_log sequences, turns property helpers into plain assignments or field reads, lists cross-references to a method's selector, and adds Swift type declarations and readable stack strings. For kernelcaches it types the results of safeMetaCast and typed operator new, names and types kalloc_type_view globals, fixes this arguments and lists the possible implementations of a virtual call, while shared helpers remove __break calls, rewrite ranged conditions, collapse block initializers and mark outlined functions.

Targets
App · Binary
Category
Native analysis tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • Requires IDA Pro 9.0+, and most listed features rewrite Hex-Rays pseudocode, so they assume IDA's decompiler is available. Installation uses IDA's own pip to install the ida-ios-helper package, which needs Python 3.10+ and pins the author's idahelper library at 1.0.18, and then copies ida-plugin.json and ida_plugin_stub.py into IDA's plugins folder.
  • Latest release at review: 1.0.23, published 2026-06-25 with the wheel and source archive that are also on PyPI. The reviewed master commit is six commits ahead, adding an Objective-C fast-enumeration component and Swift type fixes that are not yet released, and its ida-plugin.json still declares version 1.0.19 and pins ida-ios-helper==1.0.19.
  • The iOS binaries or kernelcaches come from the analyst. Virtual-call navigation needs vtable symbols in the database, and typing typed operator new results first needs the Locate all kalloc_type_view action. A Swift importer added in June 2026 and not described in the README runs the separate ipsw tool's swift-dump command on the input file to name and type Swift class methods.
  • CI only checks Python 3.10 compatibility with vermin and runs ruff lint and format checks; there are no automated tests. The repository also holds headless idat probing scripts and a Claude Code skill used while developing the plugin. GPL-3.0.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  2. src/ioshelper/core.py GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  3. pyproject.toml GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  4. ida-plugin.json GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  5. src/ioshelper/plugins/swift/swift_dump_import/importer.py GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  6. .github/workflows/main.yml GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  7. .claude/skills/probe-ida-function/SKILL.md GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  8. LICENSE GitHub · yoavst/ida-ios-helper · Revision 65c7b03
  9. https://github.com/yoavst/ida-ios-helper/releases/tag/1.0.23
  10. https://pypi.org/project/ida-ios-helper/1.0.23/

More in Native binaries

All 269 entries in Native binaries

↑↓ move↵ open⌘↵ new tab