Sie sind nicht angemeldet.

1

Freitag, 20. April 2018, 23:25

ROM File aus BIOS.EXE extrahieren

Hi Community,

bin gerade dabei mit meinem neu gewonnen EZP2013 einen SOIC8 Chip mit einem Bios Rom beschreiben zu wollen,
doch es hackt schon an der Erstellung der ROM File.

Von vielen Notebook Anbietern bekommt man mittlerweile leider nur noch eine EXE File für das Bios Update,
mit der ich leider nicht recht viel anfangen kann wenn ich selber flashen will.

Sämtliche im Internet gefundenen Tipps wie im CMD mit dem Befehl "writeromfile" etc. halfen mir nicht weiter,
da ich immer einen Fehler bekomme obwohl die Eingabe richtig war.

Es kussieren auch einige Programme im Internet welche sich "Laptop BIOS Extractor" oder "Decrypter" schimpfen,
welche aber natürlich käuflich erwerbt werden müssen und das nicht unter 150$, geschweige dem ob man dann
überhaupt etwas bekommt....
Bin aber bis jetzt noch nicht bereit so eine Menge Flunsen dafür auszugeben.

Jetzt hab ich mich gefragt, ob nicht jemand einen anderen Weg kennt, aus einer Bios.EXE File eine ROM oder HDR File
zu extrahieren?

Wäre sehr dankbar um Gedankenanstöße :-D

EDV-Dompteur

Administrator

Beiträge: 2 004

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

2

Samstag, 21. April 2018, 16:07

Hallo Kniddi,

der folgende Weg klappt oft, aber nicht immer:
Zunächst die EXE-Datei mit 7zip entpacken.
Daraus extrahierte Dateien, die noch immer größer sind, als das ROM, erneut entpacken.
Mit Glück erhält man nach mehrmaligem Entpacken eine Datei, die aufs Bit genau ins ROM passt.

Wenn nicht, also wenn sich irgendwann eine noch immer zu große Datei nicht mehr weiter entpacken lässt, dann muss diese per Hexeditor zerdröselt werden.

In diesem (russischsprachigen) Video wird das für ein Acer-BIOS demonstriert:
Как распаковать BIOS Acer. Пару слов о SPI Flash.

Auch ohne russische Sprachkenntnisse dürfte das Verfahren klar werden, denke ich.
Ab Zeitpunkt 2:44 erklärt der gute Mann zunächst etwas über die verschieden großen ROMs und den dazu passenden Dateigrößen:

1Mb = 1048576 Bit = 131072 Byte.
2Mb = 2097152 Bit = 262144 Byte
4Mb = 4194304 Bit = 524288 Byte
8Mb = 8388608 Bit = 1048576 Byte
16Mb = 16777216 Bit = 2097152 Byte
32Mb = 33554432 Bit = 4194304 Byte

Ab Zeitpunkt 17:35 wird die Arbeit im Hexeditor gezeigt.

Man muss den Anfang und das Ende des entscheidenden Datenblocks finden, abhängig von der Größe des ROMs.
Und dieser Datenblock muss dann als Datei gespeichert werden.

Der Anfang des Datenblocks beginnt (oft, aber IMHO nicht immer) in der Zeile hinter der Zeichenkette "IMG".
Man findet den Anfang also (oft, anscheinend nicht immer) per Suche nach dem String "IMG".

Glücklicherweise scheint es so zu sein, dass man immer nur ganze Zeilen beachten muss.
Schneidet man alles vor dem interessanten Datenblock weg (also inklusive der Zeile mit "IMG"), dann endet der Block - abhängig von der Größe des ROMs - an den folgenden, links im Hexeditor angezeigten Hexadazimal-Adressen:

1Mb - 000FFFF0
2Mb - 001FFFF0
4Mb - 003FFFF0
8Mb - 007FFFF0

(im Video wird das Wegschneiden des Anfangs vor dem interessanten Datenblock gezeigt ab Zeitpunkt 18:40)

Dazu ist noch zu bemerken, dass die wahren Enden natürlich um "F" größer sind, weil die jeweilige Zeile ja noch komplett dazu gehört.
Beispiel:
Die erste Zeile im Hexeditor ist links mit "...0000" markiert. Sie endet aber natürlich rechts bei "...000F".
Die zweite Zeile im Hexeditor ist links mit "...0010" markiert. Sie endet aber natürlich rechts bei "...001F".
Und so weiter.

Man muss zuletzt noch alle Zeilen wegschneiden, die größere Adressen haben, sofern welche vorhanden sind.
Am Ende bleibt ein Datenblock stehen, der aufs Byte genau der Größe des ROMs (in Byte) entspricht und dieser muss dann als Datei gespeichert werden.
Und nicht durch den Tüddel kommen, mit Bit und Byte!
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte öffentlich im Forum stellen, nicht telefonisch! -

EDV-Dompteur

Administrator

Beiträge: 2 004

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

3

Samstag, 21. April 2018, 18:02

Nachtrag:

Man kann bekanntlich bei YouTube auch Untertitel einblenden.
Wer gut Englisch kann, der sollte statt deutscher Untertitel lieber englische wählen. Da bleibt bei der automatischen Übersetzung zwar noch immer eine Menge Sinn auf der Strecke, aber eine maschinelle Übersetzung von Russisch nach Deutsch liefert echt üble Ergebnisse.

Also keine Wunder von der Untertitel-Funktion erwarten und lieber auf das Gezeigte konzentrieren. Aber wenn man mal echt nicht kapiert, was da gerade abgeht, dann können die Untertitel durchaus hilfreich sein.
Obwohl ich versichern kann, dass man auch ohne denen auskommt.

Der Kanalbetreiber hat übrigens noch einige weitere gute Videos zum Thema BIOS gemacht. Das oben verlinkte war nur das erste von bislang sechs.
Hier die vollständige Liste bis jetzt:

Teil 1: Как распаковать BIOS Acer. Пару слов о SPI Flash.
(Wie extrahiert man ein Acer-BIOS. Einige Worte über SPI-Flash.)

Teil 2: Как распаковать BIOS. Часть 2.
(Wie extrahiert man ein BIOS. Teil 2.)

Teil 3: BIOS. Часть 3. Делаем биос из обновления.
(BIOS. Teil 3. Ein BIOS aus einem Update erzeugen.)

Teil 4: BIOS. Часть 4. Восстанавливаем серийные номера.
(BIOS. Teil 4. Wiederherstellung der Seriennummer.)

Teil 5: BIOS. Часть 5. Криптованные биосы от HP.
(BIOS. Teil 5. Gecryptetes BIOS von HP.)

Teil 6: BIOS. Часть 6. ME регион.
(BIOS. Teil 6. ME Region.)


Wer vergleichbar gute deutschsprachige, oder englischsprachige Videos bzw. Websites zum Thema kennt, der möge seine Links bitte mit uns teilen!
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte öffentlich im Forum stellen, nicht telefonisch! -

Zur Zeit ist neben Ihnen 1 Benutzer in diesem Thema unterwegs:

1 Besucher