apple-data 1.0.600 → 1.0.602

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15275056392f38b0ee0cddf9a78c75b789c35a661373610d40eccd59cd87fe97
4
- data.tar.gz: d2e9f6553af7cd431f91bd7731d57d869eb0a455bd9a959291399e717024d0a2
3
+ metadata.gz: dd760aa9e09e4a1a3262b1b7ba1a2142d79572876b78c969dd8f40542eee852b
4
+ data.tar.gz: 2ec56bb95e0d0097fad7234484ed395f196b5256e77cf852773e4e04aa5ac8e9
5
5
  SHA512:
6
- metadata.gz: 0ae8f21160273e15588b6dda61b31b204d4abd8ed89d379b4ca5e25210e3cb26156b646858e7703643637f37d981a34c56f9a26b4fc4a908cda0d8e6cfae266a
7
- data.tar.gz: e7d821eef75a798598043a5034735c326986c081475dcf1be5a1d6428792a113e7989e7b9d10261c195fe64999b72a7eb95a9c9ff3099a5fb6fd8a66d3282ea6
6
+ metadata.gz: f51754e3f65ff1c507e6894dc872a0390601d0f1af783825546da153710c711b39c5685781196094364fcea8c1e0205d1b12b09dcf73ad9c85e1cbf14a578044
7
+ data.tar.gz: 7e36ea6e0a9bde9de0244fe2d4a6e647ce4e101bbec978b01b2ebb07fe30847415b53973937b31e144e039e1745e3b553e985af43bb74b354eaad9e072ed746d
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppleData
4
- VERSION = '1.0.600'
4
+ VERSION = '1.0.602'
5
5
  end
data/share/apns.yaml CHANGED
@@ -575,7 +575,7 @@ apns_environments:
575
575
  com.apple.aps.remindd.dataaccess.dev:
576
576
  com.apple.dataaccess.dataaccessd.aps.dev:
577
577
  processes:
578
- - cloudd
578
+ cloudd:
579
579
  _applepay:
580
580
  production:
581
581
  endpoints:
data/share/fdr.yaml CHANGED
@@ -75,6 +75,8 @@ fdr_properties:
75
75
  description:
76
76
  jlnl:
77
77
  description:
78
+ esdm:
79
+ description: Extended Security Domain Fuse
78
80
  jlnm:
79
81
  description:
80
82
  jlnv:
@@ -85,6 +87,29 @@ fdr_properties:
85
87
  description:
86
88
  jlsk:
87
89
  description:
90
+ mmap:
91
+ description: The memory map passed from the iBoot loader to the Kernel
92
+ sePK:
93
+ description: Point Compressed Elliptic Curve point sering as the master Public Key for the SE
94
+ comb:
95
+ description: Combined FDR object
96
+ rssl:
97
+ description: Root SSL / TLS certificate
98
+ trst:
99
+ description: Trust Object
100
+ rvok:
101
+ description: Trust Object Revocation
102
+ fdrd:
103
+ description: FDR2 Data
104
+ secb:
105
+ sreq:
106
+ description: Sealing request
107
+ fdr2:
108
+ mft2:
109
+ trpk:
110
+ description: Trusted Public Key
111
+ IM4C:
112
+ description: Img4 Certificate
88
113
  lcrt:
89
114
  description:
90
115
  contexts:
data/share/img4.yaml CHANGED
@@ -43,13 +43,53 @@ img4_tags:
43
43
  aupr:
44
44
  description:
45
45
  auxi:
46
- description: Auxiliary Kernel Cache Image4 Hash
46
+ title: Auxiliary Kernel Collection (AuxKC) Image4 Manifest Hash (`auxi`)
47
+ description: >
48
+ After the system verifies that the UAKL hash matches what’s found in the `auxp` field of the
49
+ LocalPolicy, it requests that the AuxKC be signed by the Secure Enclave processor application that’s
50
+ responsible for LocalPolicy signing. Next, an SHA384 hash of the AuxKC Image4 manifest signature is placed
51
+ into the LocalPolicy to avoid the potential for mixing and matching previously signed AuxKCs to an operating
52
+ system at boot time. If iBoot finds the auxi field in the LocalPolicy, it attempts to load the AuxKC from
53
+ storage and validate its signature. It also verifies that the hash of the Image4 manifest attached to the
54
+ AuxKC matches the value found in the auxi field. If the AuxKC fails to load for any reason, the system
55
+ continues to boot without this boot object and (so) without any third-party kexts loaded. The auxp field
56
+ is a prerequisite for setting the auxi field in the LocalPolicy. Users change the auxi value implicitly
57
+ when they change the UAKL by approving a kext from the Security & Privacy pane in System Preferences.
58
+ type: binary
59
+ subtype: sha2-384
60
+ access:
61
+ write:
62
+ - macOS
47
63
  auxk:
48
64
  description: Auxiliary Kernel Cache
49
65
  auxp:
50
- description: User Authorized Kext List Hash
66
+ title: Auxiliary Kernel Collection (AuxKC) Policy Hash (auxp)
67
+ description: >
68
+ The `auxp` is an SHA384 hash of the user-authorized kext list (UAKL) policy. This is used at
69
+ AuxKC generation time to help ensure that only user-authorized kexts are included in the AuxKC. `smb2`
70
+ is a prerequisite for setting this field. Users change the `auxp` value implicitly when they change the
71
+ UAKL by approving a kext from the Security & Privacy pane in System Preferences.
72
+ type: binary
73
+ subtype: sha2-384
74
+ access:
75
+ write:
76
+ - macOS
51
77
  auxr:
52
- description: AuxKC Kext Receipt Hash
78
+ title: Auxiliary Kernel Collection (AuxKC) Receipt Hash (auxr)
79
+ description: >
80
+ The `auxr` is an SHA384 hash of the AuxKC receipt, which indicates the exact set of kexts that
81
+ were included into the AuxKC. The AuxKC receipt can be a subset of the UAKL, because kexts can be excluded
82
+ from the AuxKC even if they’re user authorized if they’re known to be used for attacks. In addition,
83
+ some kexts that can be used to break the user-kernel boundary may lead to decreased functionality,
84
+ such as an inability to use Apple Pay or play 4K and HDR content. Users who want these capabilities
85
+ opt in to a more restrictive AuxKC inclusion. The auxp field is a prerequisite for setting the auxr
86
+ field in the LocalPolicy. Users change the auxr value implicitly when they build a new AuxKC from
87
+ the Security & Privacy pane in System Preferences.
88
+ type: binary
89
+ subtype: sha2-384
90
+ access:
91
+ write:
92
+ - macOS
53
93
  avef:
54
94
  description: AV Encryption (DRM) Firmware
55
95
  bat0:
@@ -105,7 +145,16 @@ img4_tags:
105
145
  cmsv:
106
146
  description:
107
147
  coih:
108
- description:
148
+ title: CustomOS Image4 Manifest Hash (coih)
149
+ description: >
150
+ The `coih` is an SHA384 hash of CustomOS Image4 manifest. The payload for that manifest is used
151
+ by iBoot (instead of the XNU kernel) to transfer control. Users change the `coih` value implicitly when
152
+ they use the `kmutil` configure-boot command-line tool in 1TR.
153
+ type: binary
154
+ subtype: sha2-384
155
+ access:
156
+ write:
157
+ - 1TR
109
158
  CPRO:
110
159
  description: Chip promotion fuse value (what is burned in)
111
160
  alias:
@@ -161,6 +210,18 @@ img4_tags:
161
210
  - effective-production-status-ap
162
211
  esca:
163
212
  description:
213
+ hrlp:
214
+ title: Has Secure Enclave Signed recoveryOS Local Policy (hrlp)
215
+ description: >
216
+ The `hrlp` indicates whether or not the `prot` value is the measurement of a Secure Enclave–signed
217
+ recoveryOS LocalPolicy. If not, then the recoveryOS LocalPolicy is signed by the Apple online signing server,
218
+ which signs things such as macOS Image4 files.
219
+ type: boolean
220
+ access:
221
+ write:
222
+ - 1TR
223
+ - recoveryOS
224
+ - macOS
164
225
  esdm:
165
226
  description: Extended Security Domain fuses
166
227
  alias:
@@ -261,7 +322,18 @@ img4_tags:
261
322
  krnl:
262
323
  description: Kernel
263
324
  kuid:
264
- description: KEK Group UUID
325
+ title: Key encryption key (KEK) Group UUID (kuid)
326
+ description: >
327
+ The kuid indicates the volume that was booted. The key encryption key has typically been used
328
+ for Data Protection. For each LocalPolicy, it’s used to protect the LocalPolicy signing key. The
329
+ kuid is set by the user implicitly when creating a new operating system install.
330
+ type: binary
331
+ subtype: sha2-384
332
+ access:
333
+ write:
334
+ - 1TR
335
+ - recoveryOS
336
+ - macOS
265
337
  lamo:
266
338
  description:
267
339
  lckr:
@@ -273,9 +345,17 @@ img4_tags:
273
345
  logo:
274
346
  description: Apple logo image
275
347
  love:
276
- description: OS Version - dotted form. Last portion after the version and comma is a cryptex update?
348
+ title: Local Operating System Version (love)
349
+ description: >
350
+ The love indicates the OS version that the LocalPolicy is created for. The version is obtained from the
351
+ next state manifest during LocalPolicy creation and is used to enforce recoveryOS pairing restrictions.
277
352
  type: string
278
353
  example: "21.3.66.0.0,0"
354
+ access:
355
+ write:
356
+ - 1TR
357
+ - recoveryOS
358
+ - macOS
279
359
  prtp:
280
360
  description: Product ID String
281
361
  type: string
@@ -287,7 +367,26 @@ img4_tags:
287
367
  lphp:
288
368
  description:
289
369
  lpnh:
290
- description: LocalPolicy nonce hash
370
+ title: LocalPolicy Nonce Hash (lpnh)
371
+ description: >
372
+ The lpnh is used for anti-replay of the LocalPolicy. This is an SHA384 hash of the LocalPolicy Nonce
373
+ (LPN), which is stored in the Secure Storage Component and accessible using the Secure Enclave Boot
374
+ ROM or Secure Enclave. The raw nonce is never visible to the Application Processor, only to the
375
+ sepOS. An attacker wanting to convince LLB that a previous LocalPolicy they had captured was valid
376
+ would need to place a value into the Secure Storage Component, which hashes to the same lpnh value
377
+ found in the LocalPolicy they want to replay. Normally there is a single LPN valid on the system—except
378
+ during software updates, when two are simultaneously valid—to allow for the possibility of falling back
379
+ to booting the old software in the event of an update error. When any LocalPolicy for any operating
380
+ system is changed, all policies are re-signed with the new lpnh value corresponding to the new LPN
381
+ found in the Secure Storage Component. This change happens when the user changes security settings
382
+ or creates new operating systems with a new LocalPolicy for each.
383
+ type: binary
384
+ subtype: sha2-384
385
+ access:
386
+ write:
387
+ - 1TR
388
+ - recoveryOS
389
+ - macOS
291
390
  lpol:
292
391
  description: Local Policy
293
392
  ltrs:
@@ -359,7 +458,20 @@ img4_tags:
359
458
  pndp:
360
459
  description:
361
460
  prot:
362
- description:
461
+ title: Paired recoveryOS Trusted Boot Policy Measurement (prot)
462
+ description: >
463
+ A paired recoveryOS Trusted Boot Policy Measurement (TBPM) is a special iterative SHA384 hash calculation
464
+ over the Image4 manifest of a LocalPolicy, excluding nonces, in order to give a consistent measurement
465
+ over time (because nonces like lpnh are frequently updated). The prot field, which is found only in each
466
+ macOS LocalPolicy, provides a pairing to indicate the recoveryOS LocalPolicy that corresponds to the
467
+ macOS LocalPolicy.
468
+ type: binary
469
+ subtype: sha2-384
470
+ access:
471
+ write:
472
+ - 1TR
473
+ - recoveryOS
474
+ - macOS
363
475
  rbmt:
364
476
  description:
365
477
  rddg:
@@ -383,11 +495,42 @@ img4_tags:
383
495
  rolp:
384
496
  description: recoveryOS local policy
385
497
  ronh:
386
- description: recoveryOS nonce hash
498
+ title: recoveryOS Nonce Hash (ronh)
499
+ description: >
500
+ The ronh behaves the same way as the lpnh, but is found exclusively in the LocalPolicy for system
501
+ recoveryOS. It’s updated when the system recoveryOS is updated, such as on software updates. A
502
+ separate nonce from the lpnh and rpnh is used so that when a device is put into a disabled state
503
+ by Find My, existing operating systems can be disabled (by removing their LPN and RPN from the
504
+ Secure Storage Component), while still leaving the system recoveryOS bootable. In this way, the
505
+ operating systems can be reenabled when the system owner proves their control over the system by
506
+ putting in their iCloud password used for the Find My account. This change happens when a user updates
507
+ the system recoveryOS or creates new operating systems.
508
+ type: binary
509
+ subtype: sha2-384
510
+ access:
511
+ write:
512
+ - 1TR
513
+ - recoveryOS
514
+ - macOS
387
515
  rosi:
388
516
  description:
389
517
  nish:
390
- description: preboot splat manifest hash
518
+ title: Next Stage Image4 Manifest Hash (nsih)
519
+ description: >
520
+ The nsih field represents an SHA384 hash of the Image4 manifest data structure that describes the booted
521
+ macOS. The macOS Image4 manifest contains measurements for all the boot objects—such as iBoot, the static
522
+ trust cache, device tree, Boot Kernel Collection, and signed system volume (SSV) volume root hash. When
523
+ LLB is directed to boot a given macOS, it’s designed to ensure that the hash of the macOS Image4 manifest
524
+ attached to iBoot matches what’s captured in the nsih field of the LocalPolicy. In this way, the nsih
525
+ captures the user intention of what operating system the user has created a LocalPolicy for. Users
526
+ change the nsih value implicitly when they perform a software update.
527
+ type: binary
528
+ subtype: sha2-384
529
+ access:
530
+ write:
531
+ - 1TR
532
+ - recoveryOS
533
+ - macOS
391
534
  spih:
392
535
  description: Cryptex1 Image4 Hash
393
536
  stng:
@@ -395,7 +538,18 @@ img4_tags:
395
538
  auxh:
396
539
  description: User Authorized Kext List Hash
397
540
  rpnh:
398
- description: RemotePolicy nonce hash
541
+ title: Remote Policy Nonce Hash (rpnh)
542
+ description: >
543
+ The rpnh behaves the same way as the lpnh but is updated only when the remote policy is updated, such as when
544
+ changing the state of Find My enrollment. This change happens when the user changes the state of Find My on
545
+ their Mac.
546
+ type: binary
547
+ subtype: sha2-384
548
+ access:
549
+ write:
550
+ - 1TR
551
+ - recoveryOS
552
+ - macOS
399
553
  RSCH:
400
554
  description: Research mode
401
555
  fgpt:
@@ -515,7 +669,17 @@ img4_tags:
515
669
  vkdl:
516
670
  description:
517
671
  vuid:
518
- description: Volume Group UUID
672
+ title: APFS volume group UUID (vuid)
673
+ description: >
674
+ The vuid indicates the volume group the kernel should use as root. This field is primarily informational
675
+ and isn’t used for security constraints. This vuid is set by the user implicitly when creating a new
676
+ operating system install.
677
+ type: binary
678
+ subtype: sha2-384
679
+ access:
680
+ - 1TR
681
+ - recoveryOS
682
+ - macOS
519
683
  ware:
520
684
  description:
521
685
  wchf:
@@ -0,0 +1,19 @@
1
+ ---
2
+ metadata:
3
+ description:
4
+ credits:
5
+ profiles:
6
+ nonet:
7
+ nointernet:
8
+ pure-computation:
9
+ write-tmp-only:
10
+ nowrite:
11
+ sandbox-compilerd:
12
+ mDNSResponder:
13
+ apsd:
14
+ AppleDiags:
15
+ PasteBoard:
16
+ container:
17
+ MobileSafari:
18
+ MobileMail:
19
+ MobileMaps:
data/share/syscfg.yaml CHANGED
@@ -1,4 +1,103 @@
1
1
  ---
2
2
  metadata:
3
3
  description:
4
- credits:
4
+ credits:
5
+
6
+ values:
7
+ RMd#:
8
+ description: Regulatory Model Number
9
+ Coor:
10
+ description: Country of Origin
11
+ values:
12
+ - C
13
+ CFG#:
14
+ description: Configuration Number
15
+ SrNm:
16
+ description: Serial Number
17
+ MLB#:
18
+ description: Main Logic Board Serial Number
19
+ Regn:
20
+ description: Region Info
21
+ Mod#:
22
+ description: Model Number
23
+ MdlC:
24
+ description: Model Configuration (key value seperated by ";" and "key=value")
25
+ CLCG:
26
+ description: Cover glass (gloss or opaque)
27
+ BMac:
28
+ description: Bluetooth MAC Address
29
+ SwBh:
30
+ description: Software Behavior
31
+ CLBG:
32
+ MkBS:
33
+ CLHS:
34
+ CGMt:
35
+ EMac:
36
+ EnMt:
37
+ BGMt:
38
+ EMc2:
39
+ rpcp:
40
+ MkBH:
41
+ WMac:
42
+ SBVr:
43
+ AROC:
44
+ LTAO:
45
+ ARSC:
46
+ ASCl:
47
+ ARXN:
48
+ AICl:
49
+ ARot:
50
+ ARNC:
51
+ ARXC:
52
+ GICl:
53
+ GRXC:
54
+ GRXN:
55
+ GRNC:
56
+ GRSC:
57
+ GSCl:
58
+ GYTT:
59
+ GRot:
60
+ MDCC:
61
+ CRot:
62
+ CVCC:
63
+ CDCC:
64
+ CMOC:
65
+ CSCM:
66
+ JRot:
67
+ CPAS:
68
+ PRTT: (Pressure Sensor / Barometer) temp-compensation-table
69
+ SPPO: (Pressure Sensor / Barometer) pressure-offset-calibration
70
+ PxCl: (Proximity Sensor) prox-calibration
71
+ PSCl:
72
+ STRB:
73
+ BCAR:
74
+ PrCL:
75
+ RACa:
76
+ RACm:
77
+ RxCL:
78
+ TCal:
79
+ WSKU:
80
+ description: WiFi Chip / Product SKU
81
+ WCAL:
82
+ description: WiFi Calibration Data
83
+ RFEM:
84
+ BCAL:
85
+ BTTx:
86
+ BTBF:
87
+ MBac:
88
+ BTRx:
89
+ RSKU:
90
+ description: Region SKU (in US "/LLA")
91
+ DClr:
92
+ DBCl:
93
+ DPCl:
94
+ DTCl:
95
+ CGSp:
96
+ CLCL:
97
+ MiGH:
98
+ SpPH:
99
+ SpGH:
100
+ MiGB:
101
+ TMac:
102
+ ksku:
103
+ TCID:
data/share/terms.yaml ADDED
@@ -0,0 +1,340 @@
1
+ ---
2
+ terms:
3
+ ace:
4
+ - title: USB-C Port Controller
5
+ aht:
6
+ - title: Apple Hardware Test
7
+ ane:
8
+ - title: Apple Neural Engine
9
+ anps:
10
+ - title: Apple Push Notification Service
11
+ description:
12
+ aop:
13
+ - title: Always-On Processor
14
+ AP:
15
+ - title: Application Processor
16
+ aps:
17
+ see:
18
+ - apns
19
+ APTicket:
20
+ mach:
21
+ tfp0:
22
+ gcd:
23
+ - title: Grand Central Dispatch
24
+ xnu:
25
+ seatbelt:
26
+ see:
27
+ - sandbox
28
+ dfu:
29
+ - title: Device Firmware Update
30
+ recovery:
31
+ restore:
32
+ mdm:
33
+ - title: Mobile Device Management
34
+ dep:
35
+ - title: Device Enrollment Program
36
+ se:
37
+ - title: Secure Element
38
+ register:
39
+ - title: Processor Register
40
+ msr:
41
+ - title: Model/Machine Specific Register
42
+ see:
43
+ - register
44
+ ecore:
45
+ - title: Efficienty Core
46
+ pcore:
47
+ - title: Performance Core
48
+ x86:
49
+ x86_64:
50
+ x86_64h:
51
+ arm:
52
+ armv7:
53
+ aarch64:
54
+ aarch64e:
55
+ sp:
56
+ - title: Stack Pointer
57
+ fp:
58
+ - title: Frame Pointer
59
+ baseband:
60
+ bluetooth:
61
+ wlan:
62
+ bridge:
63
+ bridgeOS:
64
+ eOS:
65
+ OHCI:
66
+ EHCI:
67
+ VHCI:
68
+ XPC:
69
+ RemoteXPC:
70
+ "Mach Port":
71
+ see:
72
+ - mach_port
73
+ mach_port:
74
+ bundle:
75
+ AppKit:
76
+ UIKit:
77
+ entitlement:
78
+ cs:
79
+ - title: Code Signing
80
+ ioreg:
81
+ macho:
82
+ dylib:
83
+ dsc:
84
+ syscall:
85
+ plist:
86
+ asn:
87
+ asn1:
88
+ der:
89
+ pdu:
90
+ quarantine:
91
+ dyld:
92
+ executable:
93
+ service:
94
+ launchd:
95
+ Framework:
96
+ defaults:
97
+ iv:
98
+ - title: Initialization Vector (Encryption)
99
+ key:
100
+ - title: Encryption Key
101
+ pem:
102
+ efi:
103
+ nub:
104
+ aes:
105
+ - title: Advanced Encryption Standard
106
+ pki:
107
+ - title: Public Key Infrastructure
108
+ ecc:
109
+ - title: Elliptic Curve Cryptograph
110
+ - title: Error Checking and Correction
111
+ hid:
112
+ - title: Human Interface Device
113
+ uart:
114
+ amfm:
115
+ i2c:
116
+ - title: Inter Integrated Circuit
117
+ spmi:
118
+ smmu:
119
+ mmu:
120
+ pa:
121
+ - title: Physical Address
122
+ tc:
123
+ see:
124
+ - TrustCache
125
+ iboot:
126
+ reg:
127
+ see:
128
+ - register
129
+ ean:
130
+ ans:
131
+ - title: Apple NAND Storage
132
+ soc:
133
+ - title: System-on-a-Chip
134
+ fpga:
135
+ AuxKC:
136
+ BootKC:
137
+ sio:
138
+ - title: SmartIO (iPad keyboard covers)
139
+ tss:
140
+ - title: Tatsu Signing Server
141
+ kc:
142
+ see:
143
+ - kernelcache
144
+ rsep:
145
+ - title: Restore SEP Firmware Image
146
+ keynag:
147
+ asmb:
148
+ - title: Apple Secure Multi Boot
149
+ awdl:
150
+ csr:
151
+ see:
152
+ - sip
153
+ ctrr:
154
+ dart:
155
+ - title: Device Address Resolution Table
156
+ dext:
157
+ dmg:
158
+ - title: Disk Image
159
+ dt:
160
+ - title: Device Tree
161
+ en:
162
+ - title: Ethernet Adapter (generic)
163
+ description: Often `en` in the form `enX` where X is a number is used to identify
164
+ a network adapter.
165
+ esim:
166
+ - title: Embedded Subscriber Identificaton Module
167
+ see:
168
+ - sim
169
+ euicc:
170
+ see:
171
+ - esim
172
+ FindMy:
173
+ - title: FindMy iPhone / Mac
174
+ description: A set of technologies that both help find the location of a lost
175
+ Apple device, as well as prevent theft from being able to reset the device for
176
+ sale or use.
177
+ FireWire:
178
+ - title: FireWire
179
+ fmm:
180
+ see:
181
+ - FindMy
182
+ fw:
183
+ see:
184
+ - FireWire
185
+ - firmware
186
+ isp:
187
+ - title: Image Signal Processor
188
+ kdp:
189
+ - title: Kernel Debug Port / Protocol
190
+ description: KDP is a general way in which XNU allows for the kernel itself to
191
+ be attached to a debugger. Attaching a kernel debugger allows for the complete
192
+ control of a device and subverts all security guarantees, therefore should be
193
+ exercised with care. Apple makes majority of the KDP for external users available
194
+ through Kernel Debug Kits. These are components that help with two machine
195
+ debugging, but nearly all kernels shipped by Apple can be debugged if the proper
196
+ `boot-args` are passed on startup.
197
+ kernel:
198
+ kernelcache:
199
+ - title: Kernel Cache
200
+ description: A kernel cache is a combined object that contains the kernel itself
201
+ as well as various kexts (Kernel Extensions). Older macs would load the kernel
202
+ itself, then load the various kexts from disk. The process of loading the kexts
203
+ and then binding the symbols was a process that slowed the starup of a mac. Apple
204
+ then started doing the combine of the kernel and the extensions into a BootCache
205
+ that allowed the system to load one large monolithic binary.
206
+ kext:
207
+ ktrr:
208
+ - title: Kernel Text Readonly Region
209
+ lpddr:
210
+ - title: Low-Power Double Data Rate RAM
211
+ description: LPDDR differs as it uses techniques to minimize the amount of power
212
+ needed to maintain the memory. Most RAM requires that the RAM controller occasionally
213
+ read each value, and write it again as the data is stored in capacitors that
214
+ leak current over time. Were the cells not refreshed, every 1 in memory would
215
+ eventually leak enough current that it would become a zero.
216
+ see:
217
+ - ddr
218
+ lr:
219
+ - title: Link Register (ARM)
220
+ description: The LR is populated when a `bx` is called to inform a function of
221
+ the address to return to.
222
+ nand:
223
+ - title: Not-AND Based Non-volatile Memory
224
+ see:
225
+ - nvme
226
+ nmi:
227
+ - title: Non-maskable Interrupt
228
+ nor:
229
+ - title: Not-OR Based Non-volatile Memory
230
+ see:
231
+ - spi
232
+ nvram:
233
+ - title: Non-Volatile RAM
234
+ ota:
235
+ - title: Over-the-Air Update - Incremental Update (Somewhat arcane)
236
+ description: In the earliest days of the iPhone, users had to connect the device
237
+ to a computer with iTunes to download and Apply updates to the operating system. Eventually
238
+ Apple produced a system called OTA (because at the time it was mostly focused
239
+ on download of these updates over cellular - therefore over-the-air as in wireless)
240
+ to allow users to keep a device updated without being tied to a computer. This
241
+ is somewhat of a misnomer now because OTA updates can be delivered over several
242
+ means, some of which include over ethernet for example which, ironically isn't
243
+ over any wireless protocol. Some types of devices and restore flows make use
244
+ of 'full OTAs' which are a delta update in OTA format, but includes the entire
245
+ set of data to restore devices. These are typically employed for devices that
246
+ lack the port needed for DFU/iBoot/IPSW based recovery.
247
+ otg:
248
+ - title: USB On-the-go
249
+ description: USB-OTG is a way to describe a device that is typically a peripheral
250
+ acting instead as a USB host. The technology evolved as phones became not just
251
+ devices you could attach to a computer such as to sync with iTunes, but hosts
252
+ in their own right such as to access a flash drive.
253
+ panic:
254
+ - title: Kernel / Device Panic
255
+ description:
256
+ pc:
257
+ - title: Program Counter (ARM/Intel)
258
+ description: The PC or Program Counter is the address (typically virtual address)
259
+ which the processor is currently executing. When a subroutine is called, the
260
+ PC is the address passed to LR so that the called function knows where to return
261
+ to.
262
+ pio:
263
+ - title: Programmed IO
264
+ pmgr:
265
+ - title: Power Manager
266
+ pmp:
267
+ - title: Power Management Processor
268
+ pram:
269
+ - title: Parameter RAM
270
+ see:
271
+ - nvram
272
+ rtkit:
273
+ - title: RealtimeKit (Realtime OS)
274
+ sart:
275
+ - title: Secure Address Resolution Table
276
+ sep:
277
+ - title: Secure Enclave Processor
278
+ sim:
279
+ - title: Subscriber Identification Module
280
+ SIP:
281
+ - title: System Integrity Protection
282
+ description: System Integrity Protection is a set of technologies employed by
283
+ Apple to ensure that even when a process executes as root (UID0) it cannot modify
284
+ a system in such a way as to disable security features. The feature is also
285
+ known as `csr` due to it being managed by `csrutil` and stored in Intel macs
286
+ in the nvram variable `csr-status`.
287
+ smc:
288
+ - title: System Management Controller
289
+ spi:
290
+ - title: Serial Peripheral Interconnect
291
+ description: SPI is a physical pin layer used to pass data between chips. It's
292
+ primary use is in SPI Flash, which is a simple, low level way to read and write
293
+ firmware from flash storage. This was used to load the BIOS/Firmware for Intel
294
+ macs before the T2. (The T2 uses eSPI or enhanced SPI to expose a "synthetic"
295
+ or fake SPI Flash chip to the Intel chip from the T2). Often SPI is used by
296
+ Apple devices to load and store non-volatile data prior to bringing up the NAND/NVMe
297
+ chip, this historically was called NOR as it was a distinct component. NOR
298
+ Flash is usually more expensive compared to NAND which is why the early iPhone
299
+ models made use of a smaller (in the few megabytes range) NOR chip to load iBoot,
300
+ and stored the user's data on a larger NAND flash chip. In newer devices the
301
+ NOR/SPI flash is synthetic and provided by ANS2/3.
302
+ SysCfg:
303
+ see:
304
+ - SysConfig
305
+ SysConfig:
306
+ - title: System Configuration
307
+ description: SysCfg / SysConfig is a portion of non-volatile memory of Apple devices
308
+ that encodes various data that is only to be set by Apple. The most canonical
309
+ example is this is the location of the serial number. This is because the device
310
+ serial number cannot be burned in as it is the whole device, not any one component. SysCfg
311
+ is a series of key/value pairs and is documented in `syscfg.yaml`.
312
+ tbm:
313
+ - title: Trusted Boot Monitor
314
+ tcon:
315
+ - title: Timing Controller (Displays)
316
+ description: The TCON is used to control the refresh of a LED/OLED display, ensuring
317
+ that each frame is shown for the right amount of time, and that new frames are
318
+ updated all at once / not-torn.
319
+ tdm:
320
+ - title: Target Disk Mode
321
+ trustcache:
322
+ - title:
323
+ tz:
324
+ - title: ARM TrustZone
325
+ see:
326
+ - tz0
327
+ - tz1
328
+ tz0:
329
+ tz1:
330
+ uicc:
331
+ see:
332
+ - sim
333
+ usb-pd:
334
+ - title: USB Power Delivery
335
+ vm:
336
+ - title: Virtual Memory
337
+ - title: Virtual Machine
338
+ metadata:
339
+ description:
340
+ credits: []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apple-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.600
4
+ version: 1.0.602
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Mark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-06 00:00:00.000000000 Z
11
+ date: 2024-02-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |2
14
14
  This package includes machine readable data about Apple platforms maintained by hack-different.
@@ -264,11 +264,13 @@ files:
264
264
  - share/pmu.yaml
265
265
  - share/registers.yaml
266
266
  - share/resources.yaml
267
+ - share/sandbox.yaml
267
268
  - share/sep.yaml
268
269
  - share/services.yaml
269
270
  - share/sip.yaml
270
271
  - share/smc.yaml
271
272
  - share/syscfg.yaml
273
+ - share/terms.yaml
272
274
  - share/tipw_sync.yaml
273
275
  - share/vmapple.yaml
274
276
  homepage: https://docs.hackdiffe.rent