Revertir las actualizaciones de firmware de Apple Airport Express

Pregunta:

Apple proporciona actualizaciones de firmware para sus productos Airport a través de 'Airport Utility'. Los archivos de firmware se pueden descargar con la ayuda de ~/Library/Application\ Support/Apple/AirPort/Firmware/version.xml que contiene todos los productos y sus versiones de firmware disponibles:

            ...
    <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>
            ...

Para Airport Express (modelo A1392, productID 115, ver WikiDevi , Teardown by Rogue Amoeba ) hay 3 versiones de firmware: 7.6.2, 7.6.3 y 7.6.4 (actual).

Descargué las 3 versiones y usé binwalk (v1.2.2-1) en ellas. Parecen estar encriptados:

$ binwalk -H 7.6.3.basebinary

DECIMAL     HEX         HEURISTIC ANALYSIS

-------------------------------------------------------------------------------------------------------------------

0           0x0         High entropy data, best guess: encrypted, size: 5673944, 0 low entropy blocks

El examen de diferentes archivos de firmware reveló su estructura común.

Desplazamiento 0-D: cadena estática APPLE-FIRMWARE

Compensación E: hexágono estático 00

Compensación F: versión de formato de firmware (?) (8 bits con signo) hexadecimal 2D => formato 45 (los firmwares 7.5.x tienen la versión de formato 44, los firmwares 7.7.x tienen la versión de formato 46)

Compensación 10-12: hexadecimal estático 00 00 00

Compensación 13: ID de producto (8 bits con signo) hexadecimal 73 => ID de producto 115

Compensación 14: versión principal de firmware (8 bits con firma) hex 07 => versión principal 7 (también conocida como 7.x)

Compensación 15: versión secundaria de firmware (8 bits firmados) hex 63 => versión secundaria 63 (también conocida como x.63)

Compensación 16-1F: ¿suma de control o tamaño para la siguiente parte?

Desplazamiento 20-2D: cadena estática APPLE-FIRMWARE

Desplazamiento 2E: hexágono estático 00

Compensación 2F: versión de formato de firmware (?) (8 bits con signo) hexadecimal 2D => formato 45 (los firmwares 7.5.x tienen la versión de formato 44, los firmwares 7.7.x tienen la versión de formato 46)

Compensación 30-32: hexadecimal estático 00 00 00

Compensación 33: ID de producto (8 bits con signo) hexadecimal 73 => ID de producto 115

Compensación 34: versión principal de firmware (8 bits con firma) hex 07 => versión principal 7 (también conocida como 7.x)

Compensación 35: versión secundaria de firmware (8 bits firmados) hex 63 => versión secundaria 63 (también conocida como x.63)

Compensación 36-3F: ¿suma de control o tamaño para la siguiente parte?

Compensación 40-12F: ¿código de arranque? 344FE72ADE3CC2202D6A221A3B67B6075B0F13CA37F5DCCAE5ED626BAE0B4655E618766D703B5190CCD578BCF06D6C9ECD97265B962F49478BE1E9FDE8160E5CCDC09B0C975A3D271D988791258ACC6E679A1556F01C2100DDD0B35E8DA388119C35AC8765DB5DC6AAD6E3D7232D47B4EFA97B32AEF6FF77EDB43946103187342DF68BE88D6B005DAF7CC212777C4FA7FEFD3FD299088EE73EC6FAB1596A92835E4E2450750D9AB5F86780464E341CBFE61E7B8F224285CB3D47D3891AD614B1ABD04DB3DACE7622B22355752F29FF7C5492635F9B99F966759DA4070F23B1D20E197F72BDAFA2B36B567C8E756147A2


¿Tienes alguna idea sobre cómo seguir adelante?

¿Qué tipo de cifrado se podría haber utilizado? Apple parece usar AES para el firmware de Iphone y AppleTV.

Respuesta:

Si realmente está encriptado, deberá desarmar el dispositivo, levantar la ROM, leerla y aplicar ingeniería inversa al código. Hay algunos trabajos previos que se realizaron en el área, ver aquí El propietario de este sitio está manteniendo shairport , puede ser útil.

Existe una pequeña posibilidad de que el código cifrado se descifre antes de enviar la actualización al dispositivo (personalmente, no lo creo), por lo que sería bueno investigar la utilidad que realmente lee el archivo de actualización y actualiza el Airpot Express.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım