apple-data 1.0.601 → 1.0.603

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: 743643db69e6ebb5aeffe4a7889c49924b76154a9f08eb3c4e79e3b2c8b721e3
4
- data.tar.gz: 5375a2fa841a2304c181e84294adba5601c63d43afc0e96ec40546e584ae1c21
3
+ metadata.gz: 6481d521a2e38a707f359222233661bd1732d032d4db3b04951e0b9c7ed80038
4
+ data.tar.gz: b03d824d4282dfbd6ea02badd95b7a65dc6c32efffa2a7e35a3d57f82cd86b54
5
5
  SHA512:
6
- metadata.gz: a17e3415a457336e496cc41c0c4b5c5697162b55ff5e9b10957ce9353b1809a52fdd0f217749e8d844fc452a2c8bde61c83f29dfd2d42bf0104aeb4ce86a9f18
7
- data.tar.gz: 8174dafa632c4e430412d91dc3444ff5414837f778ef1d83c18906b9c3c5dd2c44d6a8a21aed278f4c03e316b159c81aacba27e425fc6aff0994f6585abc8150
6
+ metadata.gz: 07ef65c955be0b50e3b7cb3c749107f3d2e7e438c27d88ab566431b155caa921089d32eb218634ddf6034ac1b38576c386f29b7ea256182fa93a9f07737c99a5
7
+ data.tar.gz: 468030029f6c6572d4f4a5567d817542e493385a8ffe0cce9872095e3cce0a346918cf28dd9185c193671ad67ca7cba060b7949fc5f1b271e4c64cce2a4cb905
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppleData
4
- VERSION = '1.0.601'
4
+ VERSION = '1.0.603'
5
5
  end
data/share/fdr.yaml CHANGED
@@ -25,7 +25,7 @@ fdr_properties:
25
25
  CmCl:
26
26
  description:
27
27
  dCfg:
28
- description:
28
+ description: Display LCD
29
29
  contexts:
30
30
  - base
31
31
  - mansta
@@ -48,10 +48,14 @@ fdr_properties:
48
48
  contexts:
49
49
  - mandev
50
50
  - mansta
51
+ data:
52
+ comb:
53
+ fdrd:
54
+ secb:
51
55
  GpC2:
52
56
  description:
53
57
  HmCA:
54
- description:
58
+ description: Ambient Light Sensor
55
59
  contexts:
56
60
  - base
57
61
  - mansta
@@ -167,7 +171,7 @@ fdr_properties:
167
171
  rSCl:
168
172
  description:
169
173
  scrt:
170
- description:
174
+ description: SEP Certificate
171
175
  contexts:
172
176
  - base
173
177
  SDOM:
@@ -194,5 +198,11 @@ fdr_properties:
194
198
  description:
195
199
  vcrt:
196
200
  description:
201
+ ADCL:
202
+ description: Raw Panel / Coverglass
197
203
  WMac:
198
204
  description: Wireless MAC Address
205
+ to_be_signed_keys:
206
+ DGST:
207
+ clid:
208
+ inst:
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:
@@ -60,6 +100,9 @@ img4_tags:
60
100
  description: battery full image
61
101
  BLDS:
62
102
  description:
103
+
104
+ prid:
105
+ description: Encrypted Private Key / Private Key Info
63
106
  bles:
64
107
  description:
65
108
  BNCH:
@@ -88,6 +131,10 @@ img4_tags:
88
131
  description:
89
132
  chg0:
90
133
  description: Charging Image 0
134
+ faic:
135
+ description:
136
+ type: integer
137
+ default: 0
91
138
  chg1:
92
139
  description: Charging Image 1
93
140
  CHIP:
@@ -105,7 +152,16 @@ img4_tags:
105
152
  cmsv:
106
153
  description:
107
154
  coih:
108
- description:
155
+ title: CustomOS Image4 Manifest Hash (coih)
156
+ description: >
157
+ The `coih` is an SHA384 hash of CustomOS Image4 manifest. The payload for that manifest is used
158
+ by iBoot (instead of the XNU kernel) to transfer control. Users change the `coih` value implicitly when
159
+ they use the `kmutil` configure-boot command-line tool in 1TR.
160
+ type: binary
161
+ subtype: sha2-384
162
+ access:
163
+ write:
164
+ - 1TR
109
165
  CPRO:
110
166
  description: Chip promotion fuse value (what is burned in)
111
167
  alias:
@@ -161,6 +217,18 @@ img4_tags:
161
217
  - effective-production-status-ap
162
218
  esca:
163
219
  description:
220
+ hrlp:
221
+ title: Has Secure Enclave Signed recoveryOS Local Policy (hrlp)
222
+ description: >
223
+ The `hrlp` indicates whether or not the `prot` value is the measurement of a Secure Enclave–signed
224
+ recoveryOS LocalPolicy. If not, then the recoveryOS LocalPolicy is signed by the Apple online signing server,
225
+ which signs things such as macOS Image4 files.
226
+ type: boolean
227
+ access:
228
+ write:
229
+ - 1TR
230
+ - recoveryOS
231
+ - macOS
164
232
  esdm:
165
233
  description: Extended Security Domain fuses
166
234
  alias:
@@ -179,7 +247,7 @@ img4_tags:
179
247
  euou:
180
248
  description: engineering use-only unit
181
249
  clas:
182
- description: product class
250
+ description: product class (often used in FDR specificatons)
183
251
  psmh:
184
252
  description: previous stage manifest hash
185
253
  fchp:
@@ -261,7 +329,18 @@ img4_tags:
261
329
  krnl:
262
330
  description: Kernel
263
331
  kuid:
264
- description: KEK Group UUID
332
+ title: Key encryption key (KEK) Group UUID (kuid)
333
+ description: >
334
+ The kuid indicates the volume that was booted. The key encryption key has typically been used
335
+ for Data Protection. For each LocalPolicy, it’s used to protect the LocalPolicy signing key. The
336
+ kuid is set by the user implicitly when creating a new operating system install.
337
+ type: binary
338
+ subtype: sha2-384
339
+ access:
340
+ write:
341
+ - 1TR
342
+ - recoveryOS
343
+ - macOS
265
344
  lamo:
266
345
  description:
267
346
  lckr:
@@ -273,9 +352,17 @@ img4_tags:
273
352
  logo:
274
353
  description: Apple logo image
275
354
  love:
276
- description: OS Version - dotted form. Last portion after the version and comma is a cryptex update?
355
+ title: Local Operating System Version (love)
356
+ description: >
357
+ The love indicates the OS version that the LocalPolicy is created for. The version is obtained from the
358
+ next state manifest during LocalPolicy creation and is used to enforce recoveryOS pairing restrictions.
277
359
  type: string
278
360
  example: "21.3.66.0.0,0"
361
+ access:
362
+ write:
363
+ - 1TR
364
+ - recoveryOS
365
+ - macOS
279
366
  prtp:
280
367
  description: Product ID String
281
368
  type: string
@@ -287,7 +374,26 @@ img4_tags:
287
374
  lphp:
288
375
  description:
289
376
  lpnh:
290
- description: LocalPolicy nonce hash
377
+ title: LocalPolicy Nonce Hash (lpnh)
378
+ description: >
379
+ The lpnh is used for anti-replay of the LocalPolicy. This is an SHA384 hash of the LocalPolicy Nonce
380
+ (LPN), which is stored in the Secure Storage Component and accessible using the Secure Enclave Boot
381
+ ROM or Secure Enclave. The raw nonce is never visible to the Application Processor, only to the
382
+ sepOS. An attacker wanting to convince LLB that a previous LocalPolicy they had captured was valid
383
+ would need to place a value into the Secure Storage Component, which hashes to the same lpnh value
384
+ found in the LocalPolicy they want to replay. Normally there is a single LPN valid on the system—except
385
+ during software updates, when two are simultaneously valid—to allow for the possibility of falling back
386
+ to booting the old software in the event of an update error. When any LocalPolicy for any operating
387
+ system is changed, all policies are re-signed with the new lpnh value corresponding to the new LPN
388
+ found in the Secure Storage Component. This change happens when the user changes security settings
389
+ or creates new operating systems with a new LocalPolicy for each.
390
+ type: binary
391
+ subtype: sha2-384
392
+ access:
393
+ write:
394
+ - 1TR
395
+ - recoveryOS
396
+ - macOS
291
397
  lpol:
292
398
  description: Local Policy
293
399
  ltrs:
@@ -359,7 +465,20 @@ img4_tags:
359
465
  pndp:
360
466
  description:
361
467
  prot:
362
- description:
468
+ title: Paired recoveryOS Trusted Boot Policy Measurement (prot)
469
+ description: >
470
+ A paired recoveryOS Trusted Boot Policy Measurement (TBPM) is a special iterative SHA384 hash calculation
471
+ over the Image4 manifest of a LocalPolicy, excluding nonces, in order to give a consistent measurement
472
+ over time (because nonces like lpnh are frequently updated). The prot field, which is found only in each
473
+ macOS LocalPolicy, provides a pairing to indicate the recoveryOS LocalPolicy that corresponds to the
474
+ macOS LocalPolicy.
475
+ type: binary
476
+ subtype: sha2-384
477
+ access:
478
+ write:
479
+ - 1TR
480
+ - recoveryOS
481
+ - macOS
363
482
  rbmt:
364
483
  description:
365
484
  rddg:
@@ -383,11 +502,42 @@ img4_tags:
383
502
  rolp:
384
503
  description: recoveryOS local policy
385
504
  ronh:
386
- description: recoveryOS nonce hash
505
+ title: recoveryOS Nonce Hash (ronh)
506
+ description: >
507
+ The ronh behaves the same way as the lpnh, but is found exclusively in the LocalPolicy for system
508
+ recoveryOS. It’s updated when the system recoveryOS is updated, such as on software updates. A
509
+ separate nonce from the lpnh and rpnh is used so that when a device is put into a disabled state
510
+ by Find My, existing operating systems can be disabled (by removing their LPN and RPN from the
511
+ Secure Storage Component), while still leaving the system recoveryOS bootable. In this way, the
512
+ operating systems can be reenabled when the system owner proves their control over the system by
513
+ putting in their iCloud password used for the Find My account. This change happens when a user updates
514
+ the system recoveryOS or creates new operating systems.
515
+ type: binary
516
+ subtype: sha2-384
517
+ access:
518
+ write:
519
+ - 1TR
520
+ - recoveryOS
521
+ - macOS
387
522
  rosi:
388
523
  description:
389
524
  nish:
390
- description: preboot splat manifest hash
525
+ title: Next Stage Image4 Manifest Hash (nsih)
526
+ description: >
527
+ The nsih field represents an SHA384 hash of the Image4 manifest data structure that describes the booted
528
+ macOS. The macOS Image4 manifest contains measurements for all the boot objects—such as iBoot, the static
529
+ trust cache, device tree, Boot Kernel Collection, and signed system volume (SSV) volume root hash. When
530
+ LLB is directed to boot a given macOS, it’s designed to ensure that the hash of the macOS Image4 manifest
531
+ attached to iBoot matches what’s captured in the nsih field of the LocalPolicy. In this way, the nsih
532
+ captures the user intention of what operating system the user has created a LocalPolicy for. Users
533
+ change the nsih value implicitly when they perform a software update.
534
+ type: binary
535
+ subtype: sha2-384
536
+ access:
537
+ write:
538
+ - 1TR
539
+ - recoveryOS
540
+ - macOS
391
541
  spih:
392
542
  description: Cryptex1 Image4 Hash
393
543
  stng:
@@ -395,7 +545,18 @@ img4_tags:
395
545
  auxh:
396
546
  description: User Authorized Kext List Hash
397
547
  rpnh:
398
- description: RemotePolicy nonce hash
548
+ title: Remote Policy Nonce Hash (rpnh)
549
+ description: >
550
+ The rpnh behaves the same way as the lpnh but is updated only when the remote policy is updated, such as when
551
+ changing the state of Find My enrollment. This change happens when the user changes the state of Find My on
552
+ their Mac.
553
+ type: binary
554
+ subtype: sha2-384
555
+ access:
556
+ write:
557
+ - 1TR
558
+ - recoveryOS
559
+ - macOS
399
560
  RSCH:
400
561
  description: Research mode
401
562
  fgpt:
@@ -515,9 +676,21 @@ img4_tags:
515
676
  vkdl:
516
677
  description:
517
678
  vuid:
518
- description: Volume Group UUID
679
+ title: APFS volume group UUID (vuid)
680
+ description: >
681
+ The vuid indicates the volume group the kernel should use as root. This field is primarily informational
682
+ and isn’t used for security constraints. This vuid is set by the user implicitly when creating a new
683
+ operating system install.
684
+ type: binary
685
+ subtype: sha2-384
686
+ access:
687
+ - 1TR
688
+ - recoveryOS
689
+ - macOS
519
690
  ware:
520
691
  description:
692
+ inst:
693
+ descryption: The key or file to install
521
694
  wchf:
522
695
  description: Wireless Charging Framework
523
696
  xbtc:
data/share/pki.yaml CHANGED
@@ -12,9 +12,18 @@ certificate_names:
12
12
  tcrt: test certificate?
13
13
  ucrt: user certificate (mapps to a single iCloud account)
14
14
  vcrt: virtual certificate?
15
+ keys:
16
+ uik:
17
+ description: User Identity Key
18
+ sik:
19
+ description: System Identity Key
20
+ oik:
21
+ description: Owner Identity Key (the first password after restore)
15
22
  constants:
16
23
  private_oid_root: 1.2.840.113635
17
24
  oids:
25
+ - oid: 1.2.840.113635.100.6.17
26
+ description: Contains the name of the key
18
27
  - oid: 1.2.840.113635.100.5.3
19
28
  apple_description: ADC Certificate Policy
20
29
  - oid: 1.2.840.113635.100.5.4
@@ -31,8 +40,15 @@ oids:
31
40
  apple_description: Apple World Wide Developer Relations Certificates for Code Signing for Test Release through the iTMS
32
41
  - oid: 1.2.840.113635.100.6.1.4
33
42
  apple_description: Apple World Wide Developer Relations Certificates for Code Signing GM from developer to Apple
43
+ - oid: 1.2.840.113635.100.6.16
44
+ description:
45
+ A sequence of FDR programming commands, seperated by ";". Each command is "PUT" or "GET" prior to a
46
+ 4CC value, followed by a ":" then the value of the key.
47
+ example:
48
+ PUT/FSCl:sik-FXFYFXFFYFFEX-QQRRRDEETFEFYCEIESLIREILCILESCLSELRESERSER
34
49
  - oid: 1.2.840.113635.100.6.1.15
35
50
  description:
51
+ To be signed certificate...
36
52
  Contains the boot policy of the machine during certificate issuance
37
53
  based on boot policy. includes BORD, ronh, lobo, SDOM, lpnh, rpnh
38
54
  BNCH, CSEC, CHIP, ECID, CPEO, OBJP, EPRO, DPRO, ESEC, DSEC and DGST
@@ -171,4 +187,6 @@ known_symbols:
171
187
  - _oidAppleSecureBootCertSpec
172
188
  - _oidAppleSecureBootTicketCertSpec
173
189
  - _oidAppleTVOSApplicationSigningProd
174
- - _oidAppleTVOSApplicationSigningProdQA
190
+ - _oidAppleTVOSApplicationSigningProdQA
191
+ roots:
192
+ FDR-CA1-ROOT-CM:
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 CHANGED
@@ -195,6 +195,25 @@ terms:
195
195
  debugging, but nearly all kernels shipped by Apple can be debugged if the proper
196
196
  `boot-args` are passed on startup.
197
197
  kernel:
198
+ baa:
199
+ - title: Basic Attestation Authority (BAA)
200
+ oik:
201
+ - title: Owner Identity Key (OIK)
202
+ uik:
203
+ - title: User Identity Key (UIK)
204
+ ucrt:
205
+ - title: User identity Certificate (ucrt)
206
+ oic:
207
+ - title: Owner Identity Certificate (OIC)
208
+ LLB:
209
+ LocalPolicy:
210
+ RemotePolicy:
211
+ 1TR:
212
+ sik:
213
+ oid:
214
+ pka:
215
+ siK:
216
+ - title: System Identity Key
198
217
  kernelcache:
199
218
  - title: Kernel Cache
200
219
  description: A kernel cache is a combined object that contains the kernel itself
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.601
4
+ version: 1.0.603
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-14 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.