Apple 通过“Airport Utility”为其机场产品提供固件更新。固件文件可以在 ~/Library/Application\ Support/Apple/AirPort/Firmware/version.xml 的帮助下下载,其中包含所有产品及其可用的固件版本:
...
<dict>
<key>location</key>
<string>http://apsu.apple.com/data/115/041-9815.20130814.1Rver/7.6.4.basebinary</string>
<key>newest</key>
<true/>
<key>productID</key>
<string>115</string>
<key>sizeInBytes</key>
<integer>5674968</integer>
<key>sourceVersion</key>
<string>76400.10</string>
<key>version</key>
<string>7.6.4</string>
</dict>
<dict>
<key>location</key>
<string>http://apsu.apple.com/data/115/041-9696.20130207.Ch5g6/7.6.3.basebinary</string>
<key>productID</key>
<string>115</string>
<key>sizeInBytes</key>
<integer>5674344</integer>
<key>sourceVersion</key>
<string>76300.7</string>
<key>version</key>
<string>7.6.3</string>
</dict>
<dict>
<key>location</key>
<string>http://apsu.apple.com/data/115/041-0311.20130207.aaWs/7.6.2.basebinary</string>
<key>productID</key>
<string>115</string>
<key>sizeInBytes</key>
<integer>5627396</integer>
<key>sourceVersion</key>
<string>76200.16</string>
<key>version</key>
<string>7.6.2</string>
</dict>
...
机场快线(型号 A1392,产品 ID 115,参见WikiDevi,Rogue Amoeba拆解)有 3 个固件版本:7.6.2、7.6.3和 7.6.4(当前)。
我下载了所有 3 个版本并在它们上使用了 binwalk (v1.2.2-1)。它们似乎被加密了:
$ binwalk -H 7.6.3.basebinary
DECIMAL HEX HEURISTIC ANALYSIS
-------------------------------------------------------------------------------------------------------------------
0 0x0 High entropy data, best guess: encrypted, size: 5673944, 0 low entropy blocks
检查不同的固件文件揭示了它们的共同结构。
偏移量 0-D:静态字符串 APPLE-FIRMWARE
偏移量 E:静态十六进制 00
偏移 F:固件格式版本 (?)(8 位有符号)十六进制 2D => 格式 45(7.5.x 固件的格式版本为 44,7.7.x 固件的格式版本为 46)
偏移 10-12:静态十六进制 00 00 00
偏移 13:产品 ID(8 位有符号)十六进制 73 => 产品 ID 115
偏移 14:固件主要版本(8 位有符号)十六进制 07 => 主要版本 7(又名 7.x)
偏移 15:固件次要版本(8 位有符号)十六进制 63 => 次要版本 63(又名 x.63)
偏移量 16-1F:以下部分的校验和或大小?
偏移 20-2D:静态字符串 APPLE-FIRMWARE
偏移量 2E:静态十六进制 00
偏移 2F:固件格式版本 (?)(8 位有符号)十六进制 2D => 格式 45(7.5.x 固件的格式版本为 44,7.7.x 固件的格式版本为 46)
偏移量 30-32:静态十六进制 00 00 00
偏移 33:产品 ID(8 位有符号)十六进制 73 => 产品 ID 115
偏移 34:固件主要版本(8 位有符号)十六进制 07 => 主要版本 7(又名 7.x)
偏移 35:固件次要版本(8 位有符号)十六进制 63 => 次要版本 63(又名 x.63)
偏移量 36-3F:以下部分的校验和或大小?
偏移 40-12F:引导代码?344FE72ADE3CC2202D6A221A3B67B6075B0F13CA37F5DCCAE5ED626BAE0B4655E618766D703B5190CCD578BCF06D6C9ECD97265B962F49478BE1E9FDE8160E5CCDC09B0C975A3D271D988791258ACC6E679A1556F01C2100DDD0B35E8DA388119C35AC8765DB5DC6AAD6E3D7232D47B4EFA97B32AEF6FF77EDB43946103187342DF68BE88D6B005DAF7CC212777C4FA7FEFD3FD299088EE73EC6FAB1596A92835E4E2450750D9AB5F86780464E341CBFE61E7B8F224285CB3D47D3891AD614B1ABD04DB3DACE7622B22355752F29FF7C5492635F9B99F966759DA4070F23B1D20E197F72BDAFA2B36B567C8E756147A2
你有什么想法吗?
可以使用什么样的加密?Apple 似乎对 Iphone 和 AppleTV 固件使用 AES。