BIOS Modding

  • Hallo liebe Forengemeinde,

    Ich schlage mich bereits Jahre mit den Problemen der Toshiba Laptops rum. Das BIOS kennt nur ein Autodetect der HDDs und davon wiederum nur ganz Bestimmte (Abgleichung eines Strings zB "CP2064"). Beim T2000SXe hat sich jemand die Mühe gemacht (Siehe HIER), mit Hilfe von IDA Pro das BIOS zu modden, so wird nicht nur das Autodetect deaktiviert, sondern weitere Geometrien eingeführt zB 503 MB. Damit lassen sich dann auch CF-IDE Adapter mit beliebiger CF Karte verwenden.

    Nachdem ich mittlerweile fast alles ausprobiert habe und das BIOS sich nicht wirklich überlisten lässt liebäugle ich gerade mit der Idee das BIOS zu modden, sodass der Autodetect deaktiviert wird. So könnte ich zumindest einfach manuell eine voreingestellte Festplattengröße 60/80 oder 120 MB einstellen und dann mit einer CF Karte mit größerer Geometrie nutzen.

    Ich habe gelesen, dass die BIOSe in Assembler geschrieben sind? Hat jemand mit der Dekodierung und dem Modden Erfahrung, bzw. hat jemand das gleiche Problem und hat Lust an diesem Thema zusammen mit mir daran zu arbeiten?


    Schonmal Danke für jeden Tipp!

    Viele Grüße Thomas ::heilig::

  • hmm - erstmal können wir übermorgen mal das Bios-Eprom auslesen und uns dessen Inhalt im Hex-Mon anguggen - vielleicht fällt da ja schon was ins Auge - meinen C64 - Kernal hab ich ja auch "gemodded" - der zeigt mir jetzt auch "Commodore Micro" - als Startmeldung ;)

    ich bin signifikant genug:razz:

  • Übrigens für IDA Pro gibt es eine gute Alternative: Ghidra

    OK, das ist von der amerikanischen NSA :(

    Ist aber oben Source und ein super reverse engineering Tool


    mfG. Klaus Loy

  • Korrekt. Kleinere Mods sind unter Umständen ziemlich leicht mit einem Hex-Editor wie HxD möglich. Ein Fallbeispiel habe ich ja vor ein paar Tagen erst hier beschrieben: Commodore PC20 Tandy Sound - mein erster BIOS-Hack - Tipps und Tricks - VzEkC e. V. (classic-computing.de)


    HxD hat auch einen kleinen integrierten Live-Disassembler, was bei meinem Tandy-Hack ganz hilfreich war, allerdings ist der eher stupide und funktioniert nur, wenn der Cursor auch über dem Befehl sitzt (sprich im Zweifel disassembliert dir das Ding auch Strings).


    Der Königsweg wäre tatsächlich, das Ding mit IDA (gibt ja auch den IDA 64 Free, der macht den Job auch) oder Ghidra (super Tipp klaly muss ich mal ausprobieren) zu disassemblieren, umzuschreiben (viel Spaß), mit masm wieder zu übersetzen und dann aus dem Resultat noch wieder ein funktionsfähiges BIOS-Image inkl. Füllbytes und Checksumme zu machen. So weit bin ich aber auch noch nicht in die Materie eingetaucht, habe aber definitiv Bock drauf.


    Spannend dabei sind vielleicht noch Sonderfälle wie 286 mit Odd/Even ROMs (Aufteilung von 16-Bit Wörtern auf zwei 8-Bit ROMs) und Compressed BIOS (Award 4.5x scheint so ein Fall zu sein, das hab ich aber noch nicht weiter auseinandergenommen).


    In deinem speziellen Fall wäre der Quick&Dirty Weg des geringsten Widerstandes evtl. ID-String und Geometriedaten in HxD zu suchen und anzupassen und danach noch die Checksumme gerade zu ziehen. Damit hättest du zumindest schon mal eine CF-Karte im Pool. Interessant könnten allenfalls die ausladenden ID-Strings der CF-Karten vs. die kurzen Strings der alten Platten sein. Vielleicht passt es so gerade noch mit einer Karte mit kurzer ID (z.B. STI, gerne von Cisco verwendet) auf einer Platte mit langer ID (WDC?). Aber eng wird es allemale.

  • Hallo an alle, nachdem ich nun mal im Urlaub endlich wieder Zeit hatte mich mit dem Thema zu beschäftigen, hab ich mir nun noch einige Gedanken gemacht:
    1. Ich hab mal den Laptop auseinandergenommen. Das BIOS ist auf einem N28F001 BX-T150 gespeichert, 1Mbit, das ganze in PLCC Form. Daher auch angelötet und nicht ausbaubar.
    Nach einigem Forschen habe ich dann entdeckt, dass Intel für diese Flashs eine BIOS Update Software namens FMUP.EXE bereitgestellt hat mit der man gemütlich das BIOS auslesen, neu flashen oder Versions-Checks durchführen konnte. (Siehe die PDF i-plato, hab die Stelle markiert).
    Leider hab ich nach einiger Recherche keinen Download gefunden. Hat jemand von euch die BIOS Utility von Intel?

    Danke schonmal.
    Ich suche auf jeden Fall weiter :)

  • das dürfte der gleiche Flash-Rom sein, der auch auf vielen Grafikkarten verbaut ist - da müsste ich sogar welche haben + PLCC Sockel

    wäre denn genug Platz auf deinem Board, dass man einen Sockel auflöten könnte statt nur dem IC?

    ich bin signifikant genug:razz:

  • das dürfte der gleiche Flash-Rom sein, der auch auf vielen Grafikkarten verbaut ist - da müsste ich sogar welche haben + PLCC Sockel

    wäre denn genug Platz auf deinem Board, dass man einen Sockel auflöten könnte statt nur dem IC?

    Falls das Ganze am Ende mit einer CF Karte funktionieren sollte wäre der Platz kein Problem. Falls jedoch ne Platte rein muss wirds knapp.


    Don Ronny VIELEN DANK! Ich werds gleich mal testen!

  • Kleines Update:
    Ich habs mit fmup.exe probiert, jedoch wird das BIOS wohl nicht unterstützt. Da ich weiß, dass es ein Phoenix BIOS ist habe ich darauf hin auch phlash / phlash16 versucht, jedoch auch ohne Erfolg.

    Puhh... das wird ja noch was :O