Alex

A999 Activator: A9, iOS 9, 9 Years Later

By Alex Free

A completely automatic solution that tether downgrades to iOS 9.2-9.3.3, jailbreaks, and activates any iPhone 6S, iPhone 6S Plus, or iPhone SE. Made possible by the work of many others. iOS 9 WILL NEVER DIE. I had an iPhone 6S that I jailbroke with Pangu 9 on iOS 9.0.something back in the day, hence why I made this.

For those unfamilar, A9 iOS 9 activation doesn’t work normally anymore for many iPhones and no one really knows why. Apple seems to have broken something during downgrade party. After turdus_merula dropped there were more iOS 9 users then there had been in years, many now expierencing the activation issue (including myself). A999Activator takes all the public knowlege on activating A9 iOS 9 devices and uses some new techniques to make the proccess as seemless as possible for the end user. I hope you enjoy this as much as I. I’ve been out of the scene mostly for years, so if you can contribute to this and make it better please do!

Github Homepage Reddit Post

Table Of Contents

Downloads

Version 1.0.2 (6/7/2025)

Changes:

Previous versions.

Important Info

The following information will be given to you while A999Activator is running as well. There are some limitations for certain iOS 9 versions you need to be aware of. I recommend downgrading to iOS 9.2 or iOS 9.2.1 (I daily drove 9.2 for a week!).

iOS Version Cellular WiFi iMessage FaceTime App Store iCloud Sign in (Setup.app) iCloud Sign in (Settings app) Sideloading
9.2 Yes Yes Yes Yes Yes No Yes Yes
9.2.1 Yes Yes Yes Yes Yes No Yes Yes
9.3 Yes Yes No No Yes Yes Yes Yes
9.3.1 Yes Yes No No Yes Yes Yes Yes
9.3.2 Yes Yes No No Yes Yes Yes Yes
9.3.3 Yes Yes No No Yes Yes Yes Yes

Usage

Requirements: You need Mac OS 10.12 or newer, and you need either the MacPorts or Homebrew package manager installed.

1) Download the latest release and extract it.

2) Execute it in Terminal.app (this is a command line program).

For tethered restores (no blobs):

./a999

For untethered restores (with blobs) (UNTESTED PLEASE OPEN AN ISSUE IF THIS WORKS OR DOESN’T WORK):

./a999 -b myblob.shsh

3) Follow the prompts.

Additional Info

How This Works

Remember, this is all automatic (as possible)!

1) Restores iOS 15.8.4 if iPhone is not on iOS 15.8.4 and activation files have not yet been backed up.

2) Prompt user to activate, sign into iCloud on iOS 15.8.4 if activation check returns it has not been activated, and complete Setup.app. Additionally, If the user has a SIM with active service and desire to use it on the target iOS version, it needs to be installed while activating or when they first activated the device with iOS 15.8.4 so there is an option to restore iOS 15.8.4 here even if iOS 15.8.4 is detected.

3) Checks activation status of iOS 15.8.4, then boots a custom ramdisk in Recovery mode to create iOS 15.8.4 activation tarball files which are transferred to the computer.

4) Downgrades to iOS 10.3.3 1st to work around 2 issues (random rebooting to Recovery Mode and random disabled Wifi in iOS 9.3.x). This is also the first step if activation files have been backed up.

5) Downgrades to target iOS (9.2-9.3.3).

6) Boots a custom ramdisk in Recovery mode that puts the activation tarball files, an activation script, and a launch daemon all on /. Jailbreaks the iPhone (needs a trigger to enable it but bootstrap is installed), disables Setup.app, and then reboots into Recovery Mode.

7) Boots iOS 9.2-9.3.3.

8) User is prompted to sign in to Wi-Fi and then go to http://jbme.ddw.nu to enable the Jailbreak.

9) Jailbreak triggers the previously in-active launch daemon. Launch daemon extracts all activation tarball files that were put on / into the proper /var places. It then modifies a plist file for activation needed for iOS 9.3.x. After that it deletes itself and all other temp files. Setup.app is then re-enabled, and the iPhone is rebooted into Recovery mode.

10) iPhone is booted into iOS 9.2-9.3.3. Activation status is checked and if successful a special boot script is created dynamically in the same directory as the a999 command which can be used to boot the device from Recovery Mode in the future.

What about iOS 9.0.x/9.1/9.3.4/9.3.5??

So iOS 9.0.x/iOS 9.1/9.3.4/9.3.5 have jailbreaks. The problem here is that these jailbreaks require an activated iOS 9 iPhone. Chicken and egg problem, we need a jailbreak to activate. This could be developed in the future if it can be done from a ramdisk entrypoint similar to how iOS 9.2-9.3.3 are handled and then triggered with some kind of untether or Safari exploit.

Credits

License

A999activator itself is released under the 3-BSD license, see license.md. A999Activator uses many other dependency programs which are not under that license, such as: