BIOS mit Assembler modifizieren?



  • Hallo,

    ich habe leider für mein AMI-BIOS kein Tool zum modden gefunden.

    Kann ich mein .ROM BIOS in einen Assembler Quellcode disassemblieren? Ist das möglich?

    Ich habe vor die Grenze für die RAM-Spannung von 2,85V auf 3,00V zu erhöhen. Ausserdem möchte ich bei meinem P4P800SE auch die CPU-Fan-Tachosignal-Abfrage dektivieren können.

    Leider habe ich noch sehr wenig Ahnung vom Assembler, hab mir ein Buch bestellt und es gelesen. Naja, wenn man es das erste Mal liest, versteht man nur die Hälfte 🙂 Ich habe auch die Übungsprogs abgeschrieben und ein Paar Sachen ausprobiert...

    Ist es überhaupt möglich ein fertiges BIOS mit Assembler zu modifizieren? Wenn ja, wie geh ich am Besten vor?

    mfg HellRideR@mk



  • Hab ich Blödsinn geschrieben oder kann mir wirklich keiner helfen?
    mfg


  • Mod

    das ist zwar kein blödsinn, kann aber doch sehr aufwendig werden; der spannungsmod ist vermutlich der leichtere teil, wenn du die tabelle finden kannst, in der die möglichen belegungen gespeichert sind. methodisch würde ich so vergehen, das du dir ein aktuelles bios als .rom image herunterlädst, es durch ein einen disassembler jagst (um die stellen, die zu modifizieren sind zu finden) und dann änderungen mit einem hex editor direkt im image vornimmst, dann nur noch flashen und hoffen, dass du keinen mist gebaut hast 🙂

    kann nat. sein, dass es dafür tools gibt...

    du kannst doch irgendeinen leisen case-fan anschliessen, solange überhaupt ein tachosignal ankommt, ist das bios für gewöhnlich zufrieden.



  • Danke...

    Also zur Zeit habe ich einen kleinen Lüfter angeschlossen. Das mit dem Lüfter ist eigentlich auch eher das kleinere Übel.

    Aber wie erkenne ich im dissassemblierten code die Stelle, wo es um die RAM Spannung geht? Ich hab das BIOS mal dissassembliert, aber das sieht gar nicht wie ein Assembler Quellcode aus...ich weiss nicht, wo ich da ansetzen soll.

    mfg


  • Mod

    tja, deshalb ist es eben so aufwendig... es besteht vermutlich eine gute chance, dass sich diese tabellen alle an derselben stelle befinden... eine teil des roms ist sicher auch ungenutzt, das einzige was sicher ist, ist wo es nach dem reset losgeht, nähmlich bei ffff:0000 im realmodus...
    ich vermute sowieso, dass das bios zum großen teil in C oder C++ geschrieben wurde



  • Hmm, also ich hab versucht es zu disassemblieren - no chance

    Dann hab ich das BIOS mit dem Hackman geöffnet. Da gab es dann nur HexCodes in Verbindung mit Assi-Befehlen zu sehen. Also keine .obj und keine .lst Datei.

    Bei dem Hexcode steig ich nicht durch!

    Soll ich mal versuchen das mit nem C-dekompiler zu bearbeiten?



  • EDIT: ich meine also im vorletzten Post nicht "disassembliert" sondern eben mit Hackmann geöffnet 😉
    mfg



  • das problem ist, dass man im allgemeinen fast jede datei disassemblieren kann, aber der disassemblierer nicht erkennen kann, was daten und code sind. du kannst zb auch ein jpeg bild im großen und ganzen disassemblieren. du musst auf jeden fall das format der image datei kennen, dh wo die daten gespeichert sind, wie zb diese tabelle mit den spannungswerten und wo der code des bios ist. weil im schlimmsten fall zerstörst du dir den bios code, was bedeuten kann, dass dein rechner nicht mehr bootet.

    björn



  • Hi.

    Mal versucht, das BIOS durch BOCHS zu jagen?

    BTW:
    Das BIOS ROM ist AFAIK idR. groesstenteils komprimiert/verschluesselt.
    Mit einfachem disassemblieren/decompilieren kommst du da nicht weiter.



  • Danke erstmal an Alle, die geantwortet haben 🙂

    Also ich hab null Plan was BOCHS ist, werde es aber gleich mal in google reinhacken und schaun was ich dazu finde 😃


Anmelden zum Antworten