{"adoption": {"forks": 463, "observed_at": "2026-08-28T04:08:48.682214+00:00", "stars": 4416}, "canonical_url": "https://ross.abutalabs.com/products/iosappreverseengineering", "card": {"archived": false, "artifact_type": "learning-resource", "description": "The world’s 1st book of very detailed iOS App reverse engineering skills :)", "domain": ["reverse-engineering", "security", "apple-ecosystem", "tutorials"], "enriched": true, "function": ["reverse-engineering", "security", "developer-tools"], "health_score": 20, "homepage": null, "language": null, "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["iosre/iOSAppReverseEngineering"], "name": "iosre/iOSAppReverseEngineering", "platform": [], "pushed_at": "2015-10-30T21:34:59+00:00", "repo": "iosre/iOSAppReverseEngineering", "stars": 4416, "tags": ["ios-reverse-engineering", "jailbreak", "book", "objective-c", "arm-assembly", "class-dump", "theos", "cycript", "ida", "lldb", "ios", "macos"], "topics": [], "urls": [], "use_cases": ["learn iOS app reverse engineering from scratch", "understand iOS filesystem and file types not exposed to app developers", "learn to use tools like class-dump, Cycript, IDA and LLDB for iOS analysis", "study Objective-C and ARM assembly for reverse engineering", "analyze third-party iOS app architectures", "get started with the iOS jailbreak research community"], "what_it_is": "An open-source book (MIT licensed) teaching detailed iOS app reverse engineering skills, covering concepts, tools like class-dump, Theos, Cycript, Reveal, IDA and LLDB, plus theory and practice chapters. It targets iOS enthusiasts, senior developers, architects, and reverse engineers from other platforms.", "when_to_avoid": ["you need up-to-date coverage of modern iOS versions and current tooling (content dates to ~2015)", "you need a hands-on tool rather than educational material", "you require guidance on non-jailbroken modern iOS workflows"], "when_to_choose": ["you want a structured, book-style introduction to iOS reverse engineering", "you are an iOS developer wanting deeper understanding of the platform internals", "you come from reverse engineering on other systems and want to learn iOS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/iosappreverseengineering", "repo": "iosre/iOSAppReverseEngineering", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:48.682214+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:21:00.706110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d28ad77ea1c83acdb252fefa8fb734a51ab362f6234265d098a07571a3f83058", "fetched_at": "2026-08-28T04:08:48.682214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iosre/iOSAppReverseEngineering"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4008, "days_push": 3960, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}