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, which establish no REA connection. GPL-3.0. Nothing was installed or run.

About this entry

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

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 129 entries in Native binaries