1
1
mirror of https://github.com/wader/fq.git synced 2024-12-23 05:13:30 +03:00

decode: fixes endian of unicode strings

This commit is contained in:
David McDonald 2022-12-10 21:04:56 -06:00
parent 9bad968911
commit a873819ea2
3 changed files with 451 additions and 1 deletions

View File

@ -141,7 +141,7 @@ func decodeItem(d *decode.D, p *plist) bool {
case elementTypeUnicodeString:
n := decodeSize(d)
d.FieldValueU("size", n)
d.FieldUTF16("value", int(n))
d.FieldUTF16BE("value", int(n))
return true
case elementTypeArray:
n := decodeSize(d)

450
format/bplist/testdata/unicode.fqtest vendored Normal file
View File

@ -0,0 +1,450 @@
$ fq dv unicode.plist
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: unicode.plist (bplist) 0x0-0x38e.7 (911)
| | | header{}: 0x0-0x7.7 (8)
0x000|62 70 6c 69 73 74 |bplist | magic: "bplist" (valid) 0x0-0x5.7 (6)
0x000| 30 30 | 00 | version: "00" (valid) 0x6-0x7.7 (2)
| | | objects{}: 0x8-0x31a.7 (787)
0x000| df | . | type: "dict" (13) (Dictionary) 0x8-0x8.3 (0.4)
0x000| df | . | size_bits: 15 0x8.4-0x8.7 (0.4)
0x000| 10 | . | large_size_marker: 1 (valid) 0x9-0x9.3 (0.4)
0x000| 10 | . | exponent: 0 0x9.4-0x9.7 (0.4)
0x000| 15 | . | size_bigint: 21 0xa-0xa.7 (1)
| | | size: 21 0xb-NA (0)
| | | entries[0:21]: 0xb-0x31a.7 (784)
| | | [0]{}: entry 0xb-0x1dc.7 (466)
0x000| 01 | . | key_index: 1 0xb-0xb.7 (1)
0x020|16 |. | value_index: 22 0x20-0x20.7 (1)
| | | key{}: 0x35-0x41.7 (13)
0x030| 5c | \ | type: "ascii_string" (5) (ASCII encoded string) 0x35-0x35.3 (0.4)
0x030| 5c | \ | size_bits: 12 0x35.4-0x35.7 (0.4)
| | | size: 12 0x36-NA (0)
0x030| 43 46 42 75 6e 64 6c 65 4e 61| CFBundleNa| value: "CFBundleName" 0x36-0x41.7 (12)
0x040|6d 65 |me |
| | | value{}: 0x1c7-0x1dc.7 (22)
0x1c0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x1c7-0x1c7.3 (0.4)
0x1c0| 5f | _ | size_bits: 15 0x1c7.4-0x1c7.7 (0.4)
0x1c0| 10 | . | large_size_marker: 1 (valid) 0x1c8-0x1c8.3 (0.4)
0x1c0| 10 | . | exponent: 0 0x1c8.4-0x1c8.7 (0.4)
0x1c0| 13 | . | size_bigint: 19 0x1c9-0x1c9.7 (1)
| | | size: 19 0x1ca-NA (0)
0x1c0| 43 6f 72 65 44 65| CoreDe| value: "CoreDeviceUtilities" 0x1ca-0x1dc.7 (19)
0x1d0|76 69 63 65 55 74 69 6c 69 74 69 65 73 |viceUtilities |
| | | [1]{}: entry 0xc-0x20f.7 (516)
0x000| 02 | . | key_index: 2 0xc-0xc.7 (1)
0x020| 17 | . | value_index: 23 0x21-0x21.7 (1)
| | | key{}: 0x42-0x5c.7 (27)
0x040| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x42-0x42.3 (0.4)
0x040| 5f | _ | size_bits: 15 0x42.4-0x42.7 (0.4)
0x040| 10 | . | large_size_marker: 1 (valid) 0x43-0x43.3 (0.4)
0x040| 10 | . | exponent: 0 0x43.4-0x43.7 (0.4)
0x040| 18 | . | size_bigint: 24 0x44-0x44.7 (1)
| | | size: 24 0x45-NA (0)
0x040| 4e 53 48 75 6d 61 6e 52 65 61 64| NSHumanRead| value: "NSHumanReadableCopyright" 0x45-0x5c.7 (24)
0x050|61 62 6c 65 43 6f 70 79 72 69 67 68 74 |ableCopyright |
| | | value{}: 0x1dd-0x20f.7 (51)
0x1d0| 6f | o | type: "unicode_string" (6) (Unicode string) 0x1dd-0x1dd.3 (0.4)
0x1d0| 6f | o | size_bits: 15 0x1dd.4-0x1dd.7 (0.4)
0x1d0| 10 | . | large_size_marker: 1 (valid) 0x1de-0x1de.3 (0.4)
0x1d0| 10 | . | exponent: 0 0x1de.4-0x1de.7 (0.4)
0x1d0| 30| 0| size_bigint: 48 0x1df-0x1df.7 (1)
| | | size: 48 0x1e0-NA (0)
0x1e0|00 43 00 6f 00 70 00 79 00 72 00 69 00 67 00 68|.C.o.p.y.r.i.g.h| value: "Copyright © 2021 Apple I" 0x1e0-0x20f.7 (48)
* |until 0x20f.7 (48) | |
| | | [2]{}: entry 0xd-0x244.7 (568)
0x000| 03 | . | key_index: 3 0xd-0xd.7 (1)
0x020| 18 | . | value_index: 24 0x22-0x22.7 (1)
| | | key{}: 0x5d-0x64.7 (8)
0x050| 57 | W | type: "ascii_string" (5) (ASCII encoded string) 0x5d-0x5d.3 (0.4)
0x050| 57 | W | size_bits: 7 0x5d.4-0x5d.7 (0.4)
| | | size: 7 0x5e-NA (0)
0x050| 44 54| DT| value: "DTXcode" 0x5e-0x64.7 (7)
0x060|58 63 6f 64 65 |Xcode |
| | | value{}: 0x240-0x244.7 (5)
0x240|54 |T | type: "ascii_string" (5) (ASCII encoded string) 0x240-0x240.3 (0.4)
0x240|54 |T | size_bits: 4 0x240.4-0x240.7 (0.4)
| | | size: 4 0x241-NA (0)
0x240| 31 33 32 30 | 1320 | value: "1320" 0x241-0x244.7 (4)
| | | [3]{}: entry 0xe-0x264.7 (599)
0x000| 04 | . | key_index: 4 0xe-0xe.7 (1)
0x020| 19 | . | value_index: 25 0x23-0x23.7 (1)
| | | key{}: 0x65-0x6e.7 (10)
0x060| 59 | Y | type: "ascii_string" (5) (ASCII encoded string) 0x65-0x65.3 (0.4)
0x060| 59 | Y | size_bits: 9 0x65.4-0x65.7 (0.4)
| | | size: 9 0x66-NA (0)
0x060| 44 54 53 44 4b 4e 61 6d 65 | DTSDKName | value: "DTSDKName" 0x66-0x6e.7 (9)
| | | value{}: 0x245-0x264.7 (32)
0x240| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x245-0x245.3 (0.4)
0x240| 5f | _ | size_bits: 15 0x245.4-0x245.7 (0.4)
0x240| 10 | . | large_size_marker: 1 (valid) 0x246-0x246.3 (0.4)
0x240| 10 | . | exponent: 0 0x246.4-0x246.7 (0.4)
0x240| 1d | . | size_bigint: 29 0x247-0x247.7 (1)
| | | size: 29 0x248-NA (0)
0x240| 61 70 70 6c 65 74 76 73| appletvs| value: "appletvsimulator15.2.internal" 0x248-0x264.7 (29)
0x250|69 6d 75 6c 61 74 6f 72 31 35 2e 32 2e 69 6e 74|imulator15.2.int|
0x260|65 72 6e 61 6c |ernal |
| | | [4]{}: entry 0xf-0x26a.7 (604)
0x000| 05| .| key_index: 5 0xf-0xf.7 (1)
0x020| 1a | . | value_index: 26 0x24-0x24.7 (1)
| | | key{}: 0x6f-0x79.7 (11)
0x060| 5a| Z| type: "ascii_string" (5) (ASCII encoded string) 0x6f-0x6f.3 (0.4)
0x060| 5a| Z| size_bits: 10 0x6f.4-0x6f.7 (0.4)
| | | size: 10 0x70-NA (0)
0x070|44 54 53 44 4b 42 75 69 6c 64 |DTSDKBuild | value: "DTSDKBuild" 0x70-0x79.7 (10)
| | | value{}: 0x265-0x26a.7 (6)
0x260| 55 | U | type: "ascii_string" (5) (ASCII encoded string) 0x265-0x265.3 (0.4)
0x260| 55 | U | size_bits: 5 0x265.4-0x265.7 (0.4)
| | | size: 5 0x266-NA (0)
0x260| 31 39 4b 32 34 | 19K24 | value: "19K24" 0x266-0x26a.7 (5)
| | | [5]{}: entry 0x10-0x272.7 (611)
0x010|06 |. | key_index: 6 0x10-0x10.7 (1)
0x020| 1b | . | value_index: 27 0x25-0x25.7 (1)
| | | key{}: 0x7a-0x95.7 (28)
0x070| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x7a-0x7a.3 (0.4)
0x070| 5f | _ | size_bits: 15 0x7a.4-0x7a.7 (0.4)
0x070| 10 | . | large_size_marker: 1 (valid) 0x7b-0x7b.3 (0.4)
0x070| 10 | . | exponent: 0 0x7b.4-0x7b.7 (0.4)
0x070| 19 | . | size_bigint: 25 0x7c-0x7c.7 (1)
| | | size: 25 0x7d-NA (0)
0x070| 43 46 42| CFB| value: "CFBundleDevelopmentRegion" 0x7d-0x95.7 (25)
0x080|75 6e 64 6c 65 44 65 76 65 6c 6f 70 6d 65 6e 74|undleDevelopment|
0x090|52 65 67 69 6f 6e |Region |
| | | value{}: 0x26b-0x272.7 (8)
0x260| 57 | W | type: "ascii_string" (5) (ASCII encoded string) 0x26b-0x26b.3 (0.4)
0x260| 57 | W | size_bits: 7 0x26b.4-0x26b.7 (0.4)
| | | size: 7 0x26c-NA (0)
0x260| 45 6e 67 6c| Engl| value: "English" 0x26c-0x272.7 (7)
0x270|69 73 68 |ish |
| | | [6]{}: entry 0x11-0x278.7 (616)
0x010| 07 | . | key_index: 7 0x11-0x11.7 (1)
0x020| 1c | . | value_index: 28 0x26-0x26.7 (1)
| | | key{}: 0x96-0xa7.7 (18)
0x090| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x96-0x96.3 (0.4)
0x090| 5f | _ | size_bits: 15 0x96.4-0x96.7 (0.4)
0x090| 10 | . | large_size_marker: 1 (valid) 0x97-0x97.3 (0.4)
0x090| 10 | . | exponent: 0 0x97.4-0x97.7 (0.4)
0x090| 0f | . | size_bigint: 15 0x98-0x98.7 (1)
| | | size: 15 0x99-NA (0)
0x090| 43 46 42 75 6e 64 6c| CFBundl| value: "CFBundleVersion" 0x99-0xa7.7 (15)
0x0a0|65 56 65 72 73 69 6f 6e |eVersion |
| | | value{}: 0x273-0x278.7 (6)
0x270| 55 | U | type: "ascii_string" (5) (ASCII encoded string) 0x273-0x273.3 (0.4)
0x270| 55 | U | size_bits: 5 0x273.4-0x273.7 (0.4)
| | | size: 5 0x274-NA (0)
0x270| 37 38 33 2e 35 | 783.5 | value: "783.5" 0x274-0x278.7 (5)
| | | [7]{}: entry 0x12-0x282.7 (625)
0x010| 08 | . | key_index: 8 0x12-0x12.7 (1)
0x020| 1d | . | value_index: 29 0x27-0x27.7 (1)
| | | key{}: 0xa8-0xbd.7 (22)
0x0a0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0xa8-0xa8.3 (0.4)
0x0a0| 5f | _ | size_bits: 15 0xa8.4-0xa8.7 (0.4)
0x0a0| 10 | . | large_size_marker: 1 (valid) 0xa9-0xa9.3 (0.4)
0x0a0| 10 | . | exponent: 0 0xa9.4-0xa9.7 (0.4)
0x0a0| 13 | . | size_bigint: 19 0xaa-0xaa.7 (1)
| | | size: 19 0xab-NA (0)
0x0a0| 42 75 69 6c 64| Build| value: "BuildMachineOSBuild" 0xab-0xbd.7 (19)
0x0b0|4d 61 63 68 69 6e 65 4f 53 42 75 69 6c 64 |MachineOSBuild |
| | | value{}: 0x279-0x282.7 (10)
0x270| 59 | Y | type: "ascii_string" (5) (ASCII encoded string) 0x279-0x279.3 (0.4)
0x270| 59 | Y | size_bits: 9 0x279.4-0x279.7 (0.4)
| | | size: 9 0x27a-NA (0)
0x270| 32 30 41 32 34 31| 20A241| value: "20A241108" 0x27a-0x282.7 (9)
0x280|31 30 38 |108 |
| | | [8]{}: entry 0x13-0x295.7 (643)
0x010| 09 | . | key_index: 9 0x13-0x13.7 (1)
0x020| 1e | . | value_index: 30 0x28-0x28.7 (1)
| | | key{}: 0xbe-0xcc.7 (15)
0x0b0| 5e | ^ | type: "ascii_string" (5) (ASCII encoded string) 0xbe-0xbe.3 (0.4)
0x0b0| 5e | ^ | size_bits: 14 0xbe.4-0xbe.7 (0.4)
| | | size: 14 0xbf-NA (0)
0x0b0| 44| D| value: "DTPlatformName" 0xbf-0xcc.7 (14)
0x0c0|54 50 6c 61 74 66 6f 72 6d 4e 61 6d 65 |TPlatformName |
| | | value{}: 0x283-0x295.7 (19)
0x280| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x283-0x283.3 (0.4)
0x280| 5f | _ | size_bits: 15 0x283.4-0x283.7 (0.4)
0x280| 10 | . | large_size_marker: 1 (valid) 0x284-0x284.3 (0.4)
0x280| 10 | . | exponent: 0 0x284.4-0x284.7 (0.4)
0x280| 10 | . | size_bigint: 16 0x285-0x285.7 (1)
| | | size: 16 0x286-NA (0)
0x280| 61 70 70 6c 65 74 76 73 69 6d| appletvsim| value: "appletvsimulator" 0x286-0x295.7 (16)
0x290|75 6c 61 74 6f 72 |ulator |
| | | [9]{}: entry 0x14-0x29a.7 (647)
0x010| 0a | . | key_index: 10 0x14-0x14.7 (1)
0x020| 1f | . | value_index: 31 0x29-0x29.7 (1)
| | | key{}: 0xcd-0xe2.7 (22)
0x0c0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0xcd-0xcd.3 (0.4)
0x0c0| 5f | _ | size_bits: 15 0xcd.4-0xcd.7 (0.4)
0x0c0| 10 | . | large_size_marker: 1 (valid) 0xce-0xce.3 (0.4)
0x0c0| 10 | . | exponent: 0 0xce.4-0xce.7 (0.4)
0x0c0| 13| .| size_bigint: 19 0xcf-0xcf.7 (1)
| | | size: 19 0xd0-NA (0)
0x0d0|43 46 42 75 6e 64 6c 65 50 61 63 6b 61 67 65 54|CFBundlePackageT| value: "CFBundlePackageType" 0xd0-0xe2.7 (19)
0x0e0|79 70 65 |ype |
| | | value{}: 0x296-0x29a.7 (5)
0x290| 54 | T | type: "ascii_string" (5) (ASCII encoded string) 0x296-0x296.3 (0.4)
0x290| 54 | T | size_bits: 4 0x296.4-0x296.7 (0.4)
| | | size: 4 0x297-NA (0)
0x290| 46 4d 57 4b | FMWK | value: "FMWK" 0x297-0x29a.7 (4)
| | | [10]{}: entry 0x15-0x278.7 (612)
0x010| 0b | . | key_index: 11 0x15-0x15.7 (1)
0x020| 1c | . | value_index: 28 0x2a-0x2a.7 (1)
| | | key{}: 0xe3-0xff.7 (29)
0x0e0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0xe3-0xe3.3 (0.4)
0x0e0| 5f | _ | size_bits: 15 0xe3.4-0xe3.7 (0.4)
0x0e0| 10 | . | large_size_marker: 1 (valid) 0xe4-0xe4.3 (0.4)
0x0e0| 10 | . | exponent: 0 0xe4.4-0xe4.7 (0.4)
0x0e0| 1a | . | size_bigint: 26 0xe5-0xe5.7 (1)
| | | size: 26 0xe6-NA (0)
0x0e0| 43 46 42 75 6e 64 6c 65 53 68| CFBundleSh| value: "CFBundleShortVersionString" 0xe6-0xff.7 (26)
0x0f0|6f 72 74 56 65 72 73 69 6f 6e 53 74 72 69 6e 67|ortVersionString|
| | | value{}: 0x273-0x278.7 (6)
0x270| 55 | U | type: "ascii_string" (5) (ASCII encoded string) 0x273-0x273.3 (0.4)
0x270| 55 | U | size_bits: 5 0x273.4-0x273.7 (0.4)
| | | size: 5 0x274-NA (0)
0x270| 37 38 33 2e 35 | 783.5 | value: "783.5" 0x274-0x278.7 (5)
| | | [11]{}: entry 0x16-0x2af.7 (666)
0x010| 0c | . | key_index: 12 0x16-0x16.7 (1)
0x020| 20 | | value_index: 32 0x2b-0x2b.7 (1)
| | | key{}: 0x100-0x11c.7 (29)
0x100|5f |_ | type: "ascii_string" (5) (ASCII encoded string) 0x100-0x100.3 (0.4)
0x100|5f |_ | size_bits: 15 0x100.4-0x100.7 (0.4)
0x100| 10 | . | large_size_marker: 1 (valid) 0x101-0x101.3 (0.4)
0x100| 10 | . | exponent: 0 0x101.4-0x101.7 (0.4)
0x100| 1a | . | size_bigint: 26 0x102-0x102.7 (1)
| | | size: 26 0x103-NA (0)
0x100| 43 46 42 75 6e 64 6c 65 53 75 70 70 6f| CFBundleSuppo| value: "CFBundleSupportedPlatforms" 0x103-0x11c.7 (26)
0x110|72 74 65 64 50 6c 61 74 66 6f 72 6d 73 |rtedPlatforms |
| | | value{}: 0x29b-0x2af.7 (21)
0x290| a1 | . | type: "array" (10) (Array) 0x29b-0x29b.3 (0.4)
0x290| a1 | . | size_bits: 1 0x29b.4-0x29b.7 (0.4)
| | | size: 1 0x29c-NA (0)
| | | entries[0:1]: 0x29c-0x2af.7 (20)
| | | [0]{}: entry 0x29c-0x2af.7 (20)
0x290| 21 | ! | object_index: 33 0x29c-0x29c.7 (1)
0x290| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x29d-0x29d.3 (0.4)
0x290| 5f | _ | size_bits: 15 0x29d.4-0x29d.7 (0.4)
0x290| 10 | . | large_size_marker: 1 (valid) 0x29e-0x29e.3 (0.4)
0x290| 10 | . | exponent: 0 0x29e.4-0x29e.7 (0.4)
0x290| 10| .| size_bigint: 16 0x29f-0x29f.7 (1)
| | | size: 16 0x2a0-NA (0)
0x2a0|41 70 70 6c 65 54 56 53 69 6d 75 6c 61 74 6f 72|AppleTVSimulator| value: "AppleTVSimulator" 0x2a0-0x2af.7 (16)
| | | [12]{}: entry 0x17-0x2b3.7 (669)
0x010| 0d | . | key_index: 13 0x17-0x17.7 (1)
0x020| 22 | " | value_index: 34 0x2c-0x2c.7 (1)
| | | key{}: 0x11d-0x13c.7 (32)
0x110| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x11d-0x11d.3 (0.4)
0x110| 5f | _ | size_bits: 15 0x11d.4-0x11d.7 (0.4)
0x110| 10 | . | large_size_marker: 1 (valid) 0x11e-0x11e.3 (0.4)
0x110| 10 | . | exponent: 0 0x11e.4-0x11e.7 (0.4)
0x110| 1d| .| size_bigint: 29 0x11f-0x11f.7 (1)
| | | size: 29 0x120-NA (0)
0x120|43 46 42 75 6e 64 6c 65 49 6e 66 6f 44 69 63 74|CFBundleInfoDict| value: "CFBundleInfoDictionaryVersion" 0x120-0x13c.7 (29)
0x130|69 6f 6e 61 72 79 56 65 72 73 69 6f 6e |ionaryVersion |
| | | value{}: 0x2b0-0x2b3.7 (4)
0x2b0|53 |S | type: "ascii_string" (5) (ASCII encoded string) 0x2b0-0x2b0.3 (0.4)
0x2b0|53 |S | size_bits: 3 0x2b0.4-0x2b0.7 (0.4)
| | | size: 3 0x2b1-NA (0)
0x2b0| 36 2e 30 | 6.0 | value: "6.0" 0x2b1-0x2b3.7 (3)
| | | [13]{}: entry 0x18-0x1dc.7 (453)
0x010| 0e | . | key_index: 14 0x18-0x18.7 (1)
0x020| 16 | . | value_index: 22 0x2d-0x2d.7 (1)
| | | key{}: 0x13d-0x151.7 (21)
0x130| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x13d-0x13d.3 (0.4)
0x130| 5f | _ | size_bits: 15 0x13d.4-0x13d.7 (0.4)
0x130| 10 | . | large_size_marker: 1 (valid) 0x13e-0x13e.3 (0.4)
0x130| 10 | . | exponent: 0 0x13e.4-0x13e.7 (0.4)
0x130| 12| .| size_bigint: 18 0x13f-0x13f.7 (1)
| | | size: 18 0x140-NA (0)
0x140|43 46 42 75 6e 64 6c 65 45 78 65 63 75 74 61 62|CFBundleExecutab| value: "CFBundleExecutable" 0x140-0x151.7 (18)
0x150|6c 65 |le |
| | | value{}: 0x1c7-0x1dc.7 (22)
0x1c0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x1c7-0x1c7.3 (0.4)
0x1c0| 5f | _ | size_bits: 15 0x1c7.4-0x1c7.7 (0.4)
0x1c0| 10 | . | large_size_marker: 1 (valid) 0x1c8-0x1c8.3 (0.4)
0x1c0| 10 | . | exponent: 0 0x1c8.4-0x1c8.7 (0.4)
0x1c0| 13 | . | size_bigint: 19 0x1c9-0x1c9.7 (1)
| | | size: 19 0x1ca-NA (0)
0x1c0| 43 6f 72 65 44 65| CoreDe| value: "CoreDeviceUtilities" 0x1ca-0x1dc.7 (19)
0x1d0|76 69 63 65 55 74 69 6c 69 74 69 65 73 |viceUtilities |
| | | [14]{}: entry 0x19-0x2d8.7 (704)
0x010| 0f | . | key_index: 15 0x19-0x19.7 (1)
0x020| 23 | # | value_index: 35 0x2e-0x2e.7 (1)
| | | key{}: 0x152-0x15c.7 (11)
0x150| 5a | Z | type: "ascii_string" (5) (ASCII encoded string) 0x152-0x152.3 (0.4)
0x150| 5a | Z | size_bits: 10 0x152.4-0x152.7 (0.4)
| | | size: 10 0x153-NA (0)
0x150| 44 54 43 6f 6d 70 69 6c 65 72 | DTCompiler | value: "DTCompiler" 0x153-0x15c.7 (10)
| | | value{}: 0x2b4-0x2d8.7 (37)
0x2b0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x2b4-0x2b4.3 (0.4)
0x2b0| 5f | _ | size_bits: 15 0x2b4.4-0x2b4.7 (0.4)
0x2b0| 10 | . | large_size_marker: 1 (valid) 0x2b5-0x2b5.3 (0.4)
0x2b0| 10 | . | exponent: 0 0x2b5.4-0x2b5.7 (0.4)
0x2b0| 22 | " | size_bigint: 34 0x2b6-0x2b6.7 (1)
| | | size: 34 0x2b7-NA (0)
0x2b0| 63 6f 6d 2e 61 70 70 6c 65| com.apple| value: "com.apple.compilers.llvm.clang.1_0" 0x2b7-0x2d8.7 (34)
0x2c0|2e 63 6f 6d 70 69 6c 65 72 73 2e 6c 6c 76 6d 2e|.compilers.llvm.|
0x2d0|63 6c 61 6e 67 2e 31 5f 30 |clang.1_0 |
| | | [15]{}: entry 0x1a-0x2dd.7 (708)
0x010| 10 | . | key_index: 16 0x1a-0x1a.7 (1)
0x020| 24| $| value_index: 36 0x2f-0x2f.7 (1)
| | | key{}: 0x15d-0x16f.7 (19)
0x150| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x15d-0x15d.3 (0.4)
0x150| 5f | _ | size_bits: 15 0x15d.4-0x15d.7 (0.4)
0x150| 10 | . | large_size_marker: 1 (valid) 0x15e-0x15e.3 (0.4)
0x150| 10 | . | exponent: 0 0x15e.4-0x15e.7 (0.4)
0x150| 10| .| size_bigint: 16 0x15f-0x15f.7 (1)
| | | size: 16 0x160-NA (0)
0x160|4d 69 6e 69 6d 75 6d 4f 53 56 65 72 73 69 6f 6e|MinimumOSVersion| value: "MinimumOSVersion" 0x160-0x16f.7 (16)
| | | value{}: 0x2d9-0x2dd.7 (5)
0x2d0| 54 | T | type: "ascii_string" (5) (ASCII encoded string) 0x2d9-0x2d9.3 (0.4)
0x2d0| 54 | T | size_bits: 4 0x2d9.4-0x2d9.7 (0.4)
| | | size: 4 0x2da-NA (0)
0x2d0| 31 30 2e 32 | 10.2 | value: "10.2" 0x2da-0x2dd.7 (4)
| | | [16]{}: entry 0x1b-0x30b.7 (753)
0x010| 11 | . | key_index: 17 0x1b-0x1b.7 (1)
0x030|25 |% | value_index: 37 0x30-0x30.7 (1)
| | | key{}: 0x170-0x184.7 (21)
0x170|5f |_ | type: "ascii_string" (5) (ASCII encoded string) 0x170-0x170.3 (0.4)
0x170|5f |_ | size_bits: 15 0x170.4-0x170.7 (0.4)
0x170| 10 | . | large_size_marker: 1 (valid) 0x171-0x171.3 (0.4)
0x170| 10 | . | exponent: 0 0x171.4-0x171.7 (0.4)
0x170| 12 | . | size_bigint: 18 0x172-0x172.7 (1)
| | | size: 18 0x173-NA (0)
0x170| 43 46 42 75 6e 64 6c 65 49 64 65 6e 74| CFBundleIdent| value: "CFBundleIdentifier" 0x173-0x184.7 (18)
0x180|69 66 69 65 72 |ifier |
| | | value{}: 0x2de-0x30b.7 (46)
0x2d0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x2de-0x2de.3 (0.4)
0x2d0| 5f | _ | size_bits: 15 0x2de.4-0x2de.7 (0.4)
0x2d0| 10| .| large_size_marker: 1 (valid) 0x2df-0x2df.3 (0.4)
0x2d0| 10| .| exponent: 0 0x2df.4-0x2df.7 (0.4)
0x2e0|2b |+ | size_bigint: 43 0x2e0-0x2e0.7 (1)
| | | size: 43 0x2e1-NA (0)
0x2e0| 63 6f 6d 2e 61 70 70 6c 65 2e 43 6f 72 65 53| com.apple.CoreS| value: "com.apple.CoreSimulator.CoreDeviceUtilities" 0x2e1-0x30b.7 (43)
0x2f0|69 6d 75 6c 61 74 6f 72 2e 43 6f 72 65 44 65 76|imulator.CoreDev|
0x300|69 63 65 55 74 69 6c 69 74 69 65 73 |iceUtilities |
| | | [17]{}: entry 0x1c-0x30f.7 (756)
0x010| 12 | . | key_index: 18 0x1c-0x1c.7 (1)
0x030| 26 | & | value_index: 38 0x31-0x31.7 (1)
| | | key{}: 0x185-0x193.7 (15)
0x180| 5e | ^ | type: "ascii_string" (5) (ASCII encoded string) 0x185-0x185.3 (0.4)
0x180| 5e | ^ | size_bits: 14 0x185.4-0x185.7 (0.4)
| | | size: 14 0x186-NA (0)
0x180| 55 49 44 65 76 69 63 65 46 61| UIDeviceFa| value: "UIDeviceFamily" 0x186-0x193.7 (14)
0x190|6d 69 6c 79 |mily |
| | | value{}: 0x30c-0x30f.7 (4)
0x300| a1 | . | type: "array" (10) (Array) 0x30c-0x30c.3 (0.4)
0x300| a1 | . | size_bits: 1 0x30c.4-0x30c.7 (0.4)
| | | size: 1 0x30d-NA (0)
| | | entries[0:1]: 0x30d-0x30f.7 (3)
| | | [0]{}: entry 0x30d-0x30f.7 (3)
0x300| 27 | ' | object_index: 39 0x30d-0x30d.7 (1)
0x300| 10 | . | type: "int" (1) (Integer) 0x30e-0x30e.3 (0.4)
0x300| 10 | . | size: 1 0x30e.4-0x30e.7 (0.4)
0x300| 03| .| value: 3 0x30f-0x30f.7 (1)
| | | [18]{}: entry 0x1d-0x314.7 (760)
0x010| 13 | . | key_index: 19 0x1d-0x1d.7 (1)
0x030| 28 | ( | value_index: 40 0x32-0x32.7 (1)
| | | key{}: 0x194-0x1a7.7 (20)
0x190| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x194-0x194.3 (0.4)
0x190| 5f | _ | size_bits: 15 0x194.4-0x194.7 (0.4)
0x190| 10 | . | large_size_marker: 1 (valid) 0x195-0x195.3 (0.4)
0x190| 10 | . | exponent: 0 0x195.4-0x195.7 (0.4)
0x190| 11 | . | size_bigint: 17 0x196-0x196.7 (1)
| | | size: 17 0x197-NA (0)
0x190| 44 54 50 6c 61 74 66 6f 72| DTPlatfor| value: "DTPlatformVersion" 0x197-0x1a7.7 (17)
0x1a0|6d 56 65 72 73 69 6f 6e |mVersion |
| | | value{}: 0x310-0x314.7 (5)
0x310|54 |T | type: "ascii_string" (5) (ASCII encoded string) 0x310-0x310.3 (0.4)
0x310|54 |T | size_bits: 4 0x310.4-0x310.7 (0.4)
| | | size: 4 0x311-NA (0)
0x310| 31 35 2e 32 | 15.2 | value: "15.2" 0x311-0x314.7 (4)
| | | [19]{}: entry 0x1e-0x31a.7 (765)
0x010| 14 | . | key_index: 20 0x1e-0x1e.7 (1)
0x030| 29 | ) | value_index: 41 0x33-0x33.7 (1)
| | | key{}: 0x1a8-0x1b4.7 (13)
0x1a0| 5c | \ | type: "ascii_string" (5) (ASCII encoded string) 0x1a8-0x1a8.3 (0.4)
0x1a0| 5c | \ | size_bits: 12 0x1a8.4-0x1a8.7 (0.4)
| | | size: 12 0x1a9-NA (0)
0x1a0| 44 54 58 63 6f 64 65| DTXcode| value: "DTXcodeBuild" 0x1a9-0x1b4.7 (12)
0x1b0|42 75 69 6c 64 |Build |
| | | value{}: 0x315-0x31a.7 (6)
0x310| 55 | U | type: "ascii_string" (5) (ASCII encoded string) 0x315-0x315.3 (0.4)
0x310| 55 | U | size_bits: 5 0x315.4-0x315.7 (0.4)
| | | size: 5 0x316-NA (0)
0x310| 31 33 43 37 31 | 13C71 | value: "13C71" 0x316-0x31a.7 (5)
| | | [20]{}: entry 0x1f-0x26a.7 (588)
0x010| 15| .| key_index: 21 0x1f-0x1f.7 (1)
0x030| 1a | . | value_index: 26 0x34-0x34.7 (1)
| | | key{}: 0x1b5-0x1c6.7 (18)
0x1b0| 5f | _ | type: "ascii_string" (5) (ASCII encoded string) 0x1b5-0x1b5.3 (0.4)
0x1b0| 5f | _ | size_bits: 15 0x1b5.4-0x1b5.7 (0.4)
0x1b0| 10 | . | large_size_marker: 1 (valid) 0x1b6-0x1b6.3 (0.4)
0x1b0| 10 | . | exponent: 0 0x1b6.4-0x1b6.7 (0.4)
0x1b0| 0f | . | size_bigint: 15 0x1b7-0x1b7.7 (1)
| | | size: 15 0x1b8-NA (0)
0x1b0| 44 54 50 6c 61 74 66 6f| DTPlatfo| value: "DTPlatformBuild" 0x1b8-0x1c6.7 (15)
0x1c0|72 6d 42 75 69 6c 64 |rmBuild |
| | | value{}: 0x265-0x26a.7 (6)
0x260| 55 | U | type: "ascii_string" (5) (ASCII encoded string) 0x265-0x265.3 (0.4)
0x260| 55 | U | size_bits: 5 0x265.4-0x265.7 (0.4)
| | | size: 5 0x266-NA (0)
0x260| 31 39 4b 32 34 | 19K24 | value: "19K24" 0x266-0x26a.7 (5)
0x210|00 6e 00 63 00 2e 00 20 00 41 00 6c 00 6c 00 20|.n.c... .A.l.l. | gap0: raw bits 0x210-0x23f.7 (48)
* |until 0x23f.7 (48) | |
| | | offset_table[0:42]: 0x31b-0x36e.7 (84)
0x310| 00 08 | .. | [0]: 8 element 0x31b-0x31c.7 (2)
0x310| 00 35 | .5 | [1]: 53 element 0x31d-0x31e.7 (2)
0x310| 00| .| [2]: 66 element 0x31f-0x320.7 (2)
0x320|42 |B |
0x320| 00 5d | .] | [3]: 93 element 0x321-0x322.7 (2)
0x320| 00 65 | .e | [4]: 101 element 0x323-0x324.7 (2)
0x320| 00 6f | .o | [5]: 111 element 0x325-0x326.7 (2)
0x320| 00 7a | .z | [6]: 122 element 0x327-0x328.7 (2)
0x320| 00 96 | .. | [7]: 150 element 0x329-0x32a.7 (2)
0x320| 00 a8 | .. | [8]: 168 element 0x32b-0x32c.7 (2)
0x320| 00 be | .. | [9]: 190 element 0x32d-0x32e.7 (2)
0x320| 00| .| [10]: 205 element 0x32f-0x330.7 (2)
0x330|cd |. |
0x330| 00 e3 | .. | [11]: 227 element 0x331-0x332.7 (2)
0x330| 01 00 | .. | [12]: 256 element 0x333-0x334.7 (2)
0x330| 01 1d | .. | [13]: 285 element 0x335-0x336.7 (2)
0x330| 01 3d | .= | [14]: 317 element 0x337-0x338.7 (2)
0x330| 01 52 | .R | [15]: 338 element 0x339-0x33a.7 (2)
0x330| 01 5d | .] | [16]: 349 element 0x33b-0x33c.7 (2)
0x330| 01 70 | .p | [17]: 368 element 0x33d-0x33e.7 (2)
0x330| 01| .| [18]: 389 element 0x33f-0x340.7 (2)
0x340|85 |. |
0x340| 01 94 | .. | [19]: 404 element 0x341-0x342.7 (2)
0x340| 01 a8 | .. | [20]: 424 element 0x343-0x344.7 (2)
0x340| 01 b5 | .. | [21]: 437 element 0x345-0x346.7 (2)
0x340| 01 c7 | .. | [22]: 455 element 0x347-0x348.7 (2)
0x340| 01 dd | .. | [23]: 477 element 0x349-0x34a.7 (2)
0x340| 02 40 | .@ | [24]: 576 element 0x34b-0x34c.7 (2)
0x340| 02 45 | .E | [25]: 581 element 0x34d-0x34e.7 (2)
0x340| 02| .| [26]: 613 element 0x34f-0x350.7 (2)
0x350|65 |e |
0x350| 02 6b | .k | [27]: 619 element 0x351-0x352.7 (2)
0x350| 02 73 | .s | [28]: 627 element 0x353-0x354.7 (2)
0x350| 02 79 | .y | [29]: 633 element 0x355-0x356.7 (2)
0x350| 02 83 | .. | [30]: 643 element 0x357-0x358.7 (2)
0x350| 02 96 | .. | [31]: 662 element 0x359-0x35a.7 (2)
0x350| 02 9b | .. | [32]: 667 element 0x35b-0x35c.7 (2)
0x350| 02 9d | .. | [33]: 669 element 0x35d-0x35e.7 (2)
0x350| 02| .| [34]: 688 element 0x35f-0x360.7 (2)
0x360|b0 |. |
0x360| 02 b4 | .. | [35]: 692 element 0x361-0x362.7 (2)
0x360| 02 d9 | .. | [36]: 729 element 0x363-0x364.7 (2)
0x360| 02 de | .. | [37]: 734 element 0x365-0x366.7 (2)
0x360| 03 0c | .. | [38]: 780 element 0x367-0x368.7 (2)
0x360| 03 0e | .. | [39]: 782 element 0x369-0x36a.7 (2)
0x360| 03 10 | .. | [40]: 784 element 0x36b-0x36c.7 (2)
0x360| 03 15 | .. | [41]: 789 element 0x36d-0x36e.7 (2)
| | | trailer{}: 0x36f-0x38e.7 (32)
0x360| 00| .| unused: 0 0x36f-0x373.7 (5)
0x370|00 00 00 00 |.... |
0x370| 00 | . | sort_version: 0 0x374-0x374.7 (1)
0x370| 02 | . | offset_table_offset_size: 2 (valid) 0x375-0x375.7 (1)
0x370| 01 | . | object_reference_size: 1 (valid) 0x376-0x376.7 (1)
0x370| 00 00 00 00 00 00 00 2a | .......* | object_count: 42 0x377-0x37e.7 (8)
0x370| 00| .| top_object_offset: 0 0x37f-0x386.7 (8)
0x380|00 00 00 00 00 00 00 |....... |
0x380| 00 00 00 00 00 00 03 1b| | ........|| offset_table_start: 795 0x387-0x38e.7 (8)

BIN
format/bplist/testdata/unicode.plist vendored Normal file

Binary file not shown.