|   |   | 
  | Line 376: | Line 376: | 
  |  | ! Comments |  | ! Comments | 
  |  | |- |  | |- | 
  | − | | rowspan="7" | 8.0 | + | | rowspan="8" | 8.0 | 
  |  | | [[Okemo 12A22121a|12A22121a]] |  | | [[Okemo 12A22121a|12A22121a]] | 
  |  | | Okemo? |  | | Okemo? | 
  | Line 391: | Line 391: | 
  |  | | - |  | | - | 
  |  | |- |  | |- | 
  | − | | [[OkemoAni 12A93650o|12A93650o]] | + | | [[OkemoAni 12A93650j|12A93650j]] | 
  | − | | rowspan="4" | OkemoAni | + | | rowspan="5" | OkemoAni | 
  |  | + | | 1.00.05 | 
  |  | + | | From [twitter.com/TipzRickyCheung @TipzRickyCheung] on Twitter | 
  |  | + | | - | 
  |  | + | |- | 
  |  | + | |- | 
  |  | + | | [[OkemoAni 12A93650z|12A93650z]] | 
  |  | | 1.00.05 |  | | 1.00.05 | 
  |  | | - |  | | - | 
		Revision as of 13:41, 3 May 2022
| This article discusses software internally used by Apple. Acquiring a copy without Apple's consent is illegal and may result in being scammed.Engaging in illegal activity is not condoned. This information is provided for educational purposes only.
 | 
This is a documented list of known NonUI builds, used by Apple workers in California to do engineering tests on prototype devices and also by factory workers on production devices during manufacturing. These "factory firmwares" are based on production iOS firmware, but are adapted for internal engineering tests, development and debugging. 
 
  "Skankwerk" logo on 7.x and up
 
  "Skankwerk" logo on 6.x and below
 
  Prototype showing newer Skankwerk logo during boot
 
  Prototype showing older Skankwerk logo during boot
The name "NonUI" (Non-User Interface) refers to how a majority of applications in these builds are accessible via command line interace. The applications which do use a graphical user interface can be launched through SwitchBoard, a minimal version of SpringBoard. Unlike production iOS firmwares, factory firmwares have the following differences:
- DEVELOPMENT fused bootloaders in \Firmware\dfu\and\Firmware\all_flash\all_flash.[board codename].factory[fa/sa]\.
- FACTORY fused SEP firmware in \Firmware\all_flash\all_flash.[board codename].factory[fa/sa]\
- DEVELOPMENT fused kernelcache with more symbols (located in /System/Library/Caches/com.apple.kernelcacheson the filesystem), and with individual kexts in/System/Library/Extensions.
- DEVELOPMENT dyld_shared_cache in /System/Library/Caches/com.apple.dyld.
- DEBUG fused baseband firmware in \Firmware\.
- Skankwerk (gear) logo image file in \Firmware\all_flash\all_flash.[board codename].factoryfa\.
- /AppleInternalfolder, which the hierarchy inside get priority over hierarchy in- /.
- No SpringBoard, requires the use of daemons to launch SwitchBoard.app as a multi-app launcher instead.
- /usrand subfolders contain many UNIX command line utilities.
- SSH daemon is pre-installed as dropbear, can be connected to over usb
- Boot loader passes arguments to kernel (unlike RELEASE boot loaders as of iOS 5.0) which makes it easy to disable AMFI
- It has some additional Private Frameworks in /System/Library/PrivateFrameworksfor internal GUI apps and command line utilities.
- Most internal applications require the use of SkankKit (replacement for UIKit in nonUI firmwares) to produce special layers such as text on the framebuffer.
Factory firmwares are distributed via internal "restore bundles", which can only be restored on devices using internal restore software such as PurpleRestore. Release and factory firmware "restore bundles" have the same directory structure (bootloaders, kernel, restore ramdisk, update ramdisk and root filesystem), but can also include other files specific to internal development builds of iOS.
Some interesting facts about factory firmwares
- Design: Apple seems to use the same GUI design from the production firmware to the factory one.
Production iOS 1.x to 6.x skeuomorphism design is also present on 1.x to 6.x factory firmwares, but seems really more excessive than production ones. For example, the  "skankwerk" boot logo represents a real gear and many GUI icons are realistic or simply photos of real life things (especially in Operator). For newer versions, production iOS 7.x to 9.x flat design is mostly used in 7.x to 9.x factory firmwares. For example, the new "skankwerk" boot logo is a flat, simple white gear. Some newer internal applications like Earthbound also use a "flat" design.
- Other: The "skank" word is used to name multiple elements of factory firmwares. For example, there is "skankphone", "skankbattery" (the green battery shown in SwitchBoard), "skankwerk" logo, "skankkit" framework, "purpleskank" (used by BurnIn) and most likely others. The "skank" word seems to be a reference to "Skunkworks" projects, which are secrecy projects that are usually innovative. Read more about "Skunkworks" on  Wikipedia.
iPhones
| Version | Build | Codename | Baseband | Comments | 
| 1.0 | 1A420 | Alpine | 03.06.01_G[1] | Originally posted to MacRumors | 
| 4A57 | 04.02.13_G | - | 
| 1.1.2 | 3B48 | 04.02.13_G | - | 
| 1.1.3 | 4A102a | 04.04.05_G | - | 
| Version | Build | Codename | Baseband | Comments | 
| 4.0 | 8A2130h | ApexNanshan | ? | - | 
| 8A2180g | 05.12.01 | - | 
| Version | Build | Codename | Baseband | Comments | 
| 4.2 | 8E5074b | Phoenix? | ? | Found on an FCC test report [2] | 
| 6.0 | 10A63971b | SundanceTaosTianshan | ? | - | 
| Version | Build | Codename | Baseband | Comments | 
| 9.0 | 13A22120w | Monarch? | ? | - | 
| 13A23161b | MonarchNanshan | ? | - | 
| Version | Build | Codename | Baseband | Comments | 
| 9.3 | 13E180 | Eagle? | 4.70.10 | Found on an FCC test report [7] | 
| Version | Build | Codename | Baseband | Comments | 
| 12.0 | 16A93020u | PeaceAni | ? | - | 
iPads
| Version | Build | Codename | Baseband | Comments | 
| 3.2 | 7B3341e | Wildcat | ? | - | 
| 7B5286a | ? | Found by SonnyDickson, documented on 9to5mac | 
| 5.1 | 9B3176n | HoodooYaubli | ? | - | 
| Version | Build | Codename | Baseband | Comments | 
| 4.3 | 8F3178a | Durango | ? | - | 
| 8F3191d | ? | - | 
| Version | Build | Codename | Baseband | Comments | 
| 5.1 | 9B87 | Hoodoo? | ? | Found on an FCC test report [10] | 
| 6.0 | 10A316 | Sundance | ? | - | 
| Version | Build | Codename | Baseband | Comments | 
| 6.0 | 10A33901a | Sundance? | ? | - | 
| 7.0 | 11A63840h | InnsbruckTianshan | ? | Horizontal mode only. | 
| Version | Build | Codename | Baseband | Comments | 
| 11.3 | 15E61570m | Emet? | ? | From @mcg29_ on Twitter | 
| Version | Build | Codename | Baseband | Comments | 
| 8.1 | 12B331 | OkemoTaos? | ? | Found on an FCC test report [15] | 
| 12B33610i | ? | From journaldulapin.com [16]. | 
| Version | Build | Codename | Baseband | Comments | 
| 12.2 | 16E31120m | PeaceEYabuli | ? | - | 
| 16E31520i | ? | Found on an FCC test report [17] | 
| Version | Build | Codename | Baseband | Comments | 
| 9.0 | 13A165 | Monarch | 2.15.00 (debug) | For J98/99AP | 
| Version | Build | Codename | Baseband | Comments | 
| 9.3 | 13E31820k | Eagle? | ? | Found on an FCC test report [18] | 
| Version | Build | Codename | Baseband | Comments | 
| 9.1 | 13B72 | Boulder? | ? | Found on an FCC test report [19] | 
| Version | Build | Codename | Baseband | Comments | 
| 10.3 | 14E232 | Erie? | ? | Found on an FCC test report [20] | 
| 14E32020u | ? | Found on an FCC test report [21] | 
| Version | Build | Codename | Baseband | Comments | 
| 10.3 | 14E22020w | Erie? | ? | Found on an FCC test report [22] | 
| Version | Build | Codename | Baseband | Comments | 
| 14.5 | 18E20700y | AzulE? | ? | Found on a FCC test report [23] | 
iPods
| Version | Build | Codename | Comments | 
| 1.1 | 3A53 | Snowbird | Found on an FCC test report [24] | 
| Version | Build | Codename | Comments | 
| 6.0 | 10A351 | Sundance? | Found on an FCC test report [25] |