https://wiki.tiplanet.org/index.php?title=HP_Prime/Firmware_files&feed=atom&action=history HP Prime/Firmware files - Historique des versions 2024-03-28T23:53:42Z Historique des versions pour cette page sur le wiki MediaWiki 1.40.0 https://wiki.tiplanet.org/index.php?title=HP_Prime/Firmware_files&diff=4353&oldid=prev Adriweb le 5 septembre 2022 à 09:21 2022-09-05T09:21:24Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="fr"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Version précédente</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version du 5 septembre 2022 à 10:21</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Ligne 1 :</td> <td colspan="2" class="diff-lineno">Ligne 1 :</td></tr> <tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&lt;div style='text-align: center;'&gt;This is a <del style="font-weight: bold; text-decoration: none;">slightly-updated </del>backup copy of the article from the old "HPWiki" of TI-Planet (that only hosted HP Prime info)&lt;/div&gt;&lt;hr&gt;</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;div style='text-align: center;'&gt;This is a backup copy of the article from the old "HPWiki" of TI-Planet (that only hosted HP Prime info)&lt;/div&gt;&lt;hr&gt;</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Overview ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Overview ==</div></td></tr> <tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>On the leaked and public versions of the updates files, the 'firmware.zip' archive contained :</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>On the leaked and public versions of the updates files, the 'firmware.zip' archive contained :</div></td></tr> </table> Adriweb https://wiki.tiplanet.org/index.php?title=HP_Prime/Firmware_files&diff=4340&oldid=prev Adriweb : Page créée avec « <div style='text-align: center;'>This is a slightly-updated backup copy of the article from the old "HPWiki" of TI-Planet (that only hosted HP Prime info)</div><hr> == Ove... » 2022-09-05T09:19:43Z <p>Page créée avec « &lt;div style=&#039;text-align: center;&#039;&gt;This is a slightly-updated backup copy of the article from the old &quot;HPWiki&quot; of TI-Planet (that only hosted HP Prime info)&lt;/div&gt;&lt;hr&gt; == Ove... »</p> <p><b>Nouvelle page</b></p><div>&lt;div style='text-align: center;'&gt;This is a slightly-updated backup copy of the article from the old &quot;HPWiki&quot; of TI-Planet (that only hosted HP Prime info)&lt;/div&gt;&lt;hr&gt;<br /> == Overview ==<br /> On the leaked and public versions of the updates files, the 'firmware.zip' archive contained :<br /> * the Operating System (leaked: v0.26, v0.30; public: v0.32)<br /> * the Boot Code (v11+)<br /> * an USB tool to install the above versions (having an interface letting you read/write images from/to any memory address - which is clearly not the final interface). From December 2013, the official Prime Connectivity Kit is the official way to upgrade the firmware on a calculator.<br /> <br /> The several files for the calculator side are : <br /> APPSDISK.DAT, armfir.elf, BESTAARM.ROM, BXCBOOT0.BIN, MASTER.DAT.<br /> <br /> See below for a list of experiments with firmware files<br /> <br /> == Analysis == <br /> <br /> === APPSDISK.DAT === <br /> A 32MB disk image, contains a FAT16 filesystem at offset 8K. On Linux, it can be mounted with e.g.<br /> &lt;pre&gt;mount -o loop,offset=8192 APPSDISK.DAT appsdisk/&lt;/pre&gt;<br /> <br /> As of the 2013/11/25 firmware upgrade (revision 5447), the FAT16 filesystem contains the following files:&lt;br /&gt;<br /> &lt;pre&gt;BESTABFS.IND: empty <br /> WINDOW/SYSTEM/SDKLIB.DLL: PE32 executable (DLL) (Windows CE) ARM, for MS Windows<br /> WINDOW/SYSTEM/KRNLLIB.DLL: PE32 executable (DLL) (Windows CE) ARM, for MS Windows<br /> WINDOW/SYSTEM/COREDLL.DLL: PE32 executable (DLL) (Windows CE) ARM Thumb, for MS Windows<br /> WINDOW/SYSTEM/MD5DLL.DLL: PE32 executable (DLL) (GUI) ARM, for MS Windows<br /> FIRSTRUN.INI: ASCII text, with CRLF line terminators<br /> APPSLIST.INF: data<br /> APPSLIST.MAP: data<br /> programs/tools/bestafir.exe: PE32 executable (console) ARM, for MS Windows<br /> programs/tools/bestafir.dat: DOS executable (block device driver)<br /> programs/tools/hello.exe: PE32 executable (console) ARM, for MS Windows<br /> programs/tools/hello.dat: DOS executable (block device driver)<br /> programs/misc/armfir.elf: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped<br /> programs/misc/armhello.dat: DOS executable (block device driver)<br /> programs/misc/diagnose.exe: PE32 executable (GUI) ARM, for MS Windows<br /> programs/misc/diagnose.dat: data<br /> APPSLIST.MD5: ASCII text, with CRLF line terminators<br /> &lt;/pre&gt;<br /> The programs/misc/armfir.dat file (DOS executable (block device driver)), was there in 2013/08/15 firmware upgrade (revision 5106) but disappeared.<br /> <br /> === armfir.elf ===<br /> ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped. There's a copy in APPSDISK.DAT/programs/misc/ (although they are not exactly the same according to their different md5 hashes)<br /> <br /> === BESTAARM.ROM ===<br /> Seems to be part of the bootloader.<br /> <br /> === BXCBOOT0.BIN ===<br /> Seems to be part of the bootloader.<br /> <br /> Reverse engineering : [[BXCBOOT0.BIN reverse engineering]]<br /> <br /> === MASTER.DAT ===<br /> <br /> == Experiments on modified firmware == <br /> <br /> * In &lt;ref&gt;August 2013 - on [http://www.omnimaga.org/index.php?topic=16826.msg304321#msg304321 Omnimaga]&lt;/ref&gt;, Lionel Debroux described a seemingly failed direct attempt at modifying the Prime's firmware (several strings in there + updating MD5 sump in APPSLIST.MD5): the modified version wasn't accepted by critor's calculator. However, in early November 2013, critor noticed that the modified firmware had not, actually, been transferred at all to the calculator.&lt;br&gt;<br /> critor did more tests, managed to trigger a transfer of the modified firmware (downgrading before upgrading seems to do the job)... and the modified firmware was running on the calculator, as shown by the snapshots in &lt;ref&gt;November 2013 - [http://tiplanet.org/forum/viewtopic.php?f=55&amp;t=13329&amp;lang=en TI-Planet news item]&lt;/ref&gt;. Needless to say, if we can modify strings so easily, we can also modify other data... and code, which opens the door to a fantastic range of possibilities :)&lt;br&gt;<br /> &lt;br&gt;<br /> * In early July 2014, Lionel Debroux spent several hours making a crappy PoC for a full-custom third-party armfir.elf, which displays three colored areas on the screen and enters an infinite loop: [http://tiplanet.org/forum/viewtopic.php?f=55&amp;t=14940 First third-party firmware and assembly on the Prime].<br /> <br /> == References ==<br /> {{Reflist}}</div> Adriweb