Retro reversing logo

iOS

Edit on Github | Updated: 1st February 2026

iOS Introduction (iPhone OS)

The first version of iOS (retroactively called iPhone OS 1.0 after the launch of 2.0) was released on June 29, 2007, alongside the first iPhone 1. It was renamed iOS in 2010 with the release of iOS 4 which is what this page will refer to it as.

History of iOS

Apple Explained presents a comprehensive documentary covering the technical and visual evolution of Apple’s mobile operating system, ranging from the secretive “Project Purple” development phase to the release of iOS 16.

The video details critical milestones in the platform’s history, including the pivot from web apps to a native SDK, the architectural changes required for multitasking, the controversial shift away from Google services (Maps/YouTube), and the major interface overhaul introduced in iOS 7.

History of the App Store

Apple Explained documents the pivotal shift in mobile computing history from Steve Jobs’ initial vision of web-based applications to the creation of the native iOS App Store. The video details the internal debates that led to the release of the iPhone SDK in 2008, the subsequent explosion of the “app economy,” and major platform milestones like the introduction of In-App Purchases (IAP) and the “Walled Garden” censorship controversies.

Steve Jobs Introduces the App Store (2008)

gamingandtechnology archives the historic iPhone SDK Keynote where Steve Jobs officially unveils the App Store. The presentation outlines the ecosystem’s distribution model, detailing how developers can reach every user wirelessly (or via iTunes), the 70/30 revenue split, and the handling of free applications. Jobs emphasizes the centralized update mechanism and the curated nature of the platform to prevent malicious software, establishing the closed-garden software distribution model standard in modern mobile computing.


Reverse Engineering iOS Games

touchHLE: High-Level Emulator for Early iOS Games

touchHLE is an open-source high-level emulator (HLE) written in Rust that runs classic apps from the early iPhone OS era (specifically versions 2.x and 3.x) on modern platforms like Windows, macOS, and Android.

Created by hikari-no-yume, the project focuses on preserving early mobile gaming history by dynamically recompiling ARM code and reimplementing Apple’s system frameworks (such as UIKit and OpenGL ES) rather than emulating the full hardware. This approach allows titles like Super Monkey Ball and Crash Bandicoot Nitro Kart 3D to run with enhanced performance and resolution scaling.

For a full list of game compatibility check out the touchHLE app compatibility database.

Driver iOS (2009) on touchHLE Emulator

VortexStory showcases the 2009 Gameloft iOS port of Driver, now playable via the high-level emulator touchHLE. The video explores this previously “lost” mobile version through gameplay of the Car Park tutorial and Pursuit mode, demonstrating how file modifications can enable controller support and remove on-screen touch overlays.

iPhone OS 2 first introduced the App Store and with it came a bunch of “AAA” game studios aiming to tap into the market, some of these games are quite fun and worth playing others are maybe not as fun but could be fun to reverse engineer.

Games released for iPhone OS 2 were compiled for the 32-bit ARMv6 processor so they will not run on 32-bit ARMv7 devices (iPhone 3GS+) or any 64-bit devices.

They can run on later devices only if the developer shipped a dual-architecture binary (ARMv6+ARMv7). Many early App Store games never did this, so some games are ARMv6-only and thus can only run on the iPhone (2G) and iPhone 3G!

So games in this list must have an ARMv6 executable, either as a dual-architecture or ARMv6 exclusive, as otherwise they would not run on iOS 2.x!

These games require a minimum of iPhone OS 2.x (latest 2.2.1 recommended) to run and the reviews of these games come from the Bookazine iPhone Games Directory Volume 001 from 2009 to give time-period accurate reviews.

Name Developer Review out of 5 Description
Airport Mania Reflexive Entertainment 4/5  
Assassin’s Creed: Altaïr’s Chronicles (2009) Gameloft 4/5  
Blades of Fury Gameloft 5/5  
Doom Resurrection (2009) ID Software 4/5  
Duke Nukem 3D MachineWorks Northwest LLC 3/5  
Crystal Defenders Square Enix 3/5  
Ferrari GT: Evolution (2008) Gameloft 4/5  
Flight Control Firemint 5/5  
Flight Of The Amazon Queen iPhSoft 3/5  
Hero of Sparta Gameloft 4/5  
Kroll Digital Legends Entertainment 3/5  
Lemonade Tycoon (2009) EA 4/5  
Metal Gear Solid Touch (2009) Kojima Productions 4/5  
Modern Combat: Sandstorm (2009) Gameloft 4/5  
Paper Toss (2009) Backflip Studios 4/5  
Pocket God (2009) Bolt Creative 4/5  
Resident Evil 4: Mobile Edition Capcom 3/5  
Rolando (2008) HandCircus 5/5  
SimCity EA 4/5  
Space Ace Dragon’s Lair LLC 2/5  
The Secret Of Monkey Island Special Edition LucasArts 5/5  
The Sims 3 (2009) EA 4/5  

The reviews of these games come from the Bookazine iPhone Games Directory Volume 001 from 2009 to give time-period accurate reviews.

Name Developer Review out of 5
Command & Conquer: Red Alert EA 3/5
Devil Hunter X Corefran technologies Ltd  
Final Fantasy (2010) Square Enix  

The best way to check for recommended iOS 5.x games is to check out the Bookazine iPad and iPhone Games Directory Volume 1 from 2011 as it gives a great snapshot of exactly what was popular back when iOS 5 was the latest iOS.


Frida: Dynamic Instrumentation Toolkit

Frida is a world-class dynamic instrumentation framework created by Ole André Vadla Ravnås that allows developers and reverse engineers to inject custom scripts into black-box processes. It enables users to hook functions, trace APIs, and manipulate application behavior in real-time across a wide range of platforms, including Windows, macOS, Linux, iOS, Android, and QNX, without requiring source code or recompilation.

Frida on iOS

Frida provides the official documentation for deploying the Frida dynamic instrumentation toolkit on iOS devices. The guide details the setup process for both jailbroken environments (via Cydia/Sileo) and non-jailbroken devices (using the Frida Gadget), enabling users to inject JavaScript, trace functions, and manipulate application behavior at runtime.

friman: Frida Version Management Tool

Thelicato has developed friman, a Python-based utility that simplifies the management of multiple Frida versions, which is necessary due to compatibility issues across different devices and target projects.

The tool enables seamless installation, local tracking, and switching of versions, along with specific helpers for downloading frida-gadget and frida-server assets, including a convenience utility for pushing the server to Android devices.


File Formats

QLCARFiles: Assets.car Viewer for macOS

The cgnkrz repository provides QLCARFiles, a native macOS application built for the static analysis and inspection of Apple’s compiled Assets.car files from iOS and macOS applications. This tool is valuable for reverse engineering as it offers a graphical interface to browse and view all bundled assets—including images at multiple scales, colors, and embedded data—and allows for easy extraction to disk. The project explicitly credits and builds upon the technical reverse engineering work of Timac on the underlying .car file format.


References