Windows Vista Soem-Preis BIOS Umb.-Methode durch das Hinzufügen der SLIC Tabelle mit dynamischer Speicheradresse
Windows Vista Soem-Aktivierungssprungmethode erfordert ein SLP 2.0 (Systems-verschlossene Vorinstallation 2.0) gefälliges BIOS-Motherboard. Neuer eingebrannter Soem-Computer kommt mit einem oder bietet nicht-so-altem Motherboard ein BIOS freies Aufsteigen bis den an, der SLP 2.0 mit SLIC Tabelle und unterzeichnetem Windows-Markt stützt (Soem-Identifikation und Tabelle Identifikation). Wenn Sie älteren Computer oder DIY Motherboard benutzen, sind Sie nicht aus Glück heraus zwar. Chinesische Häcker haben zu Umb. das gehandhabt in der SLIC ( die Software, die internen Code genehmigt ) Tabelle in die ACPI Tabelle zu ersetzen oder hinzuzufügen BIOS. Jedoch kann der Wiedereinbau der bestehenden ACPI Tabelle Verlust bestimmter Eigenschaften verursachen, während Zusatz der SLIC Tabelle inkompatibel auf Computer mit unterschiedlicher Größe des Gedächtnisses kann, da BIOS stark mit der körperlichen Speicheradresse der Tabelle des SLICS ausgebessert wird, die das Umb.-BIOS auf die Maschine einschränken, die, es nur geändert worden ist.
So ist die Methode zum Umb.-BIOS für Windows Vista Soem-Unterstützung mit vorher verwendeter statischer SLIC Speicheradresse problematisch, da die Speicheradresse geändert wird, als die Speichergröße änderte, und Benutzernotwendigkeit, die SLIC Adresse in ACPITBL.BIN zu ändern oder sonst sind sie nicht in der Lage, in das System aufzuladen und missbilligen Massenzirkulation des Umb. Soem-BIOS. So entwickeln die chinesischen Häcker die Technik erlaubt dynamische körperliche Speicheradressenverteilung der SLIC Tabelle wird verwendet weiter. Mit dynamischer Speicherallozierung kann körperliche Speichergröße ohne irgendeine Zustimmung des BIOS geändert werden non-compliant. Neben, kann vorhergehende Methode des Addierens der SLIC Tabelle Benutzer erfordern, BIOS in ROM 2mal, zuerst mit dem Umb.-BIOS und später mit dem ursprünglichen BIOS zu blitzen, während das BIOS mit dieser weiter entwickelten Methode mit dynamischem Speicheradressregister nur einen Blitz höchstens erfordert.
Werkzeuge und Dienstprogramme erfordert:
- MODBIN6
- CBROM219
- WinHEX
- Hiew 7.4 (Hiew32) (nur für Preis BIOS, wenn Sie Hiew32 Sie haben, erfordern nicht mehr IDA 5.0)
- IDA 5.0
- UltraEdit
Die Anweisung, ein Umb. Vista Soem-BIOS mit dynamischer Speicheradressen-Verteilungsfähigkeit zu verursachen ist schwierig, und empfohlen für nur Experten. Neben, wird dieser Artikel von den Dokumenten auf Chinesen übersetzt, also wird die Genauigkeit der Übersetzung nicht garantiert. Wenn Sie wirklich Ihr BIOS in der Lage sein lassen möchten, Soem-Version von Windows Vista zu aktivieren, versuchen Sie das BIOS Bereitumb. (mit statischer Adresse), Software gegründeten Vista-Ladevorrichtung Soem-BIOS-Nacheiferer oder Software gegründeten Soem-BIOS EmulationToolkit. Anderer populärer Vista-Sprung schließen TimerLock mit ein, die automatisch TimerStop Fahrer anwenden. Dieses Tutorium ist Beweis nur des Konzeptes, da jedes BIOS unterschiedlich ist, und folglich können die Werte oder die Schritte oder die Sachen, die geändert werden, unterschiedlich sein.
Warnung: Änderung zum BIOS kann Garantie, Ursachencomputer zu nicht imstande, oben aufzuladen oder anderen unwiederbringlichen Effekt ungültig erklären. Tun Sie sie an Ihrem eigenen Risiko.
Wenn Sie Hilfe auf Umb.-BIOS für Vista-Aktivierung benötigen, überprüfen Sie heraus dieses Gewinde.
- Stellen Sie ein temporäres Faltblatt (Vista oder BIOS ist Sie mögen), am root-Dateiverzeichnis her (C:\).
- Laden Sie CBROM 2.19 (abhängig von, wo Sie Download, es das vollziehbare zu cbrom.exe umbenennen müssen können, wie in diesem Artikel veranschaulicht), MODBIN6 2.01.01, SLIC.BIN (genannt acpislic.bin, das unterschieden werden kann, der der SLIC Tabellenteil des BIOS ist), von den Downloadverbindungen oben herunter und legen Sie sie in das temporäre Faltblatt.
- Auszug, Export oder außer dem (Name kann geändert werden, der das Motherboard BIOS ist, das Sie für Windows Vista Soem-Aktivierung zerhacken möchten). Einfachere Weise ist, die BIOS-Mikroprogrammaufstellung von den Computer- oder Motherboardherstellern wie ASUS, Gigabyte, MSI, Acer, HP, Dell, Lenovo und etc. einfach herunterzuladen.
- Stellen Sie fest, welcher BIOS-Teil der Akte das Feld von RSDT… FACS gelegen ist:
- In erhöhtem Befehlseingabeformat (oder in der Sperrung UAC), schreiben Sie den folgenden Befehl:
CBROM.EXE /d
Sie sehen etwas wie untengenanntes screencap:
CBROM V2.19 (C) Preis-Software 2001 alle Rechte vorbehalten.
******** BIOS Teil********
Nr., Einzelteil-Name Ursprünglich-Größe Komprimiert-Größe Ursprünglich-Akte-Name
=====================================================
0. System BIOS 20000h (128.00K) 13B3Eh (78.81K) 83IID318.BIN
1. XGROUP CODE 0DFF0h (55.98K) 0993Ch (38.31K) awardext.rom
2. ACPI Tabelle 043E5h (16.97K) 01A46h (6.57K) ACPITBL.BIN
3. EPA FIRMENZEICHEN 0168Ch (5.64K) 002AAh (0.67K) AwardBmp.bmp
4. YGROUP ROM 0F570h (61.36K) 0482Dh (18.04K) awardeyt.rom
5. GRUPPEN-ROM [0] 04CD0h (19.20K) 02261h (8.59K) _EN_CODE.BIN
6. Anderes (404E: 0000) 03476h (13.12K) 00EB4h (3.68K) 64N8IIP.BMP
7. Anderes (404F: 0000) 0345Dh (13.09K) 008B9h (2.18K) 64N8P4P.BMP
8. Anderes (4050: 0000) 0345Dh (13.09K) 008CCh (2.20K) 64N8P4HT.BMP
9. Anderes (4051: 0000) 04286h (16.63K) 00A7Eh (2.62K) 64N8P4E.BMP
10. Anderes (4052: 0000) 04286h (16.63K) 00B58h (2.84K) 64N8P4HE.BMP
11. Anderes (4053: 0000) 0345Dh (13.09K) 007D9h (1.96K) 64N8ICPD.BMP
12. PCI-ROM [A] 0D000h (52.00K) 07DA8h (31.41K) RTM8100.LOMGesamtkompressecoderaum = 4B000h (300.00K)
Totalgröße des komprimierten Codes = 31788h (197.88K)
Bleiben Kompressecoderaum = 19878h (102.12K)** Mikrocode-Informationen **
Update Identifikation CPUID | Update Identifikation CPUID | Update Identifikation CPUID | Update Identifikation CPUID
- - - - - - +-------+-------+------
PGA478 2E 0F29| - Im oben genannten Fall innerhalb, gibt es keine ggroup.bin (wo „RSDTFACPDSDTAPICHPETMCFGFACS“ oder Ähnliches ACPI Tabellenindexfeld lokalisiert wird), also RSDT… FACS befindet sich Feld innerhalb des System BIOS-Byte-Code 中 und diese Notwendigkeit zu ändern, MODBIN6 zu verwenden. Wenn Ihr BIOS ggroup.bin enthält, können Sie CBROM verwenden, um ggroup.bin BIOS-Teil als Akte zu extrahieren und zu trennen.
Ist unten der Ausgang des Beispiel CBROM „CBROM.EXE /d“ des Befehls für BIOS mit ggruoup.bin (Gigabyte GA-G1975X BIOS als Beispiel):
Nr., Einzelteil-Name Ursprünglich-Größe Komprimiert-Größe Ursprünglich-FI
================================================
0. System BIOS 20000h (128.00K) 1492Ah (82.29K) G1975X.BIN
1. XGROUP CODE 0F7B0h (61.92K) 0A8E6h (42.22K) awardext.rom
2. EPA FIRMENZEICHEN 0168Ch (5.64K) 0030Dh (0.76K) AwardBmp.bmp
3. GRUPPEN-ROM [18] 00EF0h (3.73K) 00B77h (2.87K) ggroup.bin
4. YGROUP ROM 07140h (28.31K) 04D7Ch (19.37K) awardeyt.rom
5. FNT1 ROM 02D28h (11.29K) 02038h (8.05K) font1.awd
6. FNT2 ROM 03278h (12.62K) 01F18h (7.77K) font2.awd
7. FNT3 ROM 025FCh (9.50K) 017FBh (6.00K) font3.awd
8. GRUPPEN-ROM [0] 06010h (24.02K) 02787h (9.88K) _EN_CODE.BIN
9. GRUPPEN-ROM [1] 06510h (25.27K) 02A1Fh (10.53K) _FR_CODE.BIN
10. GRUPPEN-ROM [3] 06420h (25.03K) 02A75h (10.61K) _GR_CODE.BIN
11. GRUPPEN-ROM [4] 068D0h (26.20K) 02A74h (10.61K) _SP_CODE.BIN
12. GRUPPEN-ROM [8] 04EF0h (19.73K) 02575h (9.36K) _B5_CODE.BIN
13. GRUPPEN-ROM [10] 04F60h (19.84K) 025E9h (9.48K) _GB_CODE.BIN
14. GRUPPEN-ROM [11] 05E50h (23.58K) 02A85h (10.63K) _JP_CODE.BIN
15. PCI-ROM [A] 0F200h (60.50K) 09594h (37.39K) ICH7RAID.BIN
16. PCI-ROM [B] 10000h (64.00K) 09A15h (38.52K) b169d.pxe
17. LOGO1 ROM 00B64h (2.85K) 00520h (1.28K) dbios.bmp
18. PCI-ROM [C] 04000h (16.00K) 02287h (8.63K) ITE8212.ROM
19. Anderes (4067: 0000) 01AADh (6.67K) 00B75h (2.86K) PPMINIT.ROM
20. OEM0 CODE 025B3h (9.42K) 01B37h (6.80K) dbf.bin
21. GRUPPEN-ROM [24] 00132h (0.30K) 0011Eh (0.28K) SPECIAL.FNT
22. ACPI Tabelle 09640h (37.56K) 0352Ch (13.29K) ASUSACPI.BINGesamtkompressecoderaum = 67000h (412.00K)
Totalgröße des komprimierten Codes = 57613h (349.52K)
Bleiben Kompressecoderaum = 0F9EDh (62.48K)** Mikrocode-Informationen **
Update Identifikation CPUID | Update Identifikation CPUID | Update Identifikation CPUID | Upd
- - - - - - +-------+-------+--
SLOT1 0A 0F32| PGA423 2C 0F25| 00000000 00000000 0000
00000000 00000000 0000 0000| 00000000 00000000 0000
00000000 00000000 0000 0000| 00000000 00000000 0000
00000000 00000000 0000 0000| 00000000 00000000 0000
00000000 00000000 0000 0000| 00000000 00000000 0000
00000000 00000000 0000 0000| - Für BIOS mit ggroup.bin, extrahieren Sie das ggroup.bin mit dem folgenden Befehl:
CBROM.EXE G1975X.bin /group18 Auszug
Sie sollten den folgenden Ausgang als screenshot unten sehen:
CBROM V2.19 (C) Preis-Software 2001 alle Rechte vorbehalten.
Tragen Sie einen Auszugdateinamen ein: (ggroup.bin)
[GRUPPE] wird ROM zu ggroup.bin extrahiert - Unterschiedlich, außer und extrahieren Sie das ACPITBL.BIN, indem Sie den folgenden Befehl verwenden:
CBROM.EXE 050318.BIN /acpi Auszug
Sie sollten das folgende sehen, von CBROM auszugeben:
CBROM V2.19 (C) Preis-Software 2001 alle Rechte vorbehalten.
Tragen Sie einen Auszugdateinamen ein: (ACPITBL.BIN)
[ACPI] ROM wird zu ACPITBL.BIN extrahiert - Für BIOS ohne ggroup.bin (die mit ggroup.bin können diesen Schritt überspringen), Produkteinführung MODBIN6, auserwähltes (muss in der .BIN Verlängerung genannt werden, wenn, sie nicht umzubenennen. Es ist das, um in der SLIC Tabelle hinzuzufügen zu ändern BIOS, damit es gefälliges SLP 2.0. ist). Schließen Sie nicht das Fenster von MODBIN6, und warten Sie das im temporären Faltblatt extrahiert zu werden und verursacht worden ORIGINAL.BIN.
- In erhöhtem Befehlseingabeformat (oder in der Sperrung UAC), schreiben Sie den folgenden Befehl:
- Befolgen Sie die untengenannten Anweisungen, ACPITBL.BIN zu ändern:
- Lassen Sie UltraEdit laufen und öffnen Sie ACPITBL.BIN BIOS-Bildakte.
- Suchen Sie Text nach RSDT.
- Hinter RSDT ist das Byte, das die Länge der RSDT Tabelle anzeigt. Fügen Sie 4 dieser Zahl im HEXE-Format hinzu. Z.B. wenn der angezeigte Wert 002C ist, ändern Sie und redigieren Sie den Wert, um 0030 zu werden. Merken Sie dass die Rückreihenfolge von Paaren beim Befestigen im UltraEdit Hexeherausgeber (kommen Sie d.h. als 30 00 anstelle von 00 30 herein).
- Setzen Sie (nicht ersetzen) zusätzliche 4 Bytes Wert 00 nach der ursprünglichen Länge (002C) der RSDT Tabelle ein (normalerweise vor FACPt oder FXCPt für bestimmtes Gigabytes mobo). Sie können die 4 Bytes von 00 von anderer Position zu dieser Position kopieren und kleben. Diese Änderung und Änderung ist, Raum zur Verfügung zu stellen, um die SLIC Tabelle in den zukünftigen Schritten zu speichern, also erinnern Sie sich an diese Adresse (für diesen Führer, nehmen Sie an, dass diese Position SLICaddress ist). In diesem Beispiel ist SLICaddress Wert 002C.
Vor Änderung von ACPITBL.BIN in UltraEdit
Nach Änderung von ACPITBL.BIN in UltraEdit, zum des Raumes für SLIC Tabelle zuzuteilen. - Überprüfen Sie die Gesamtlänge von ACPITBL.BIN, wenn die Länge vollständig geteilt werden kann…. Wenn nicht, fügen Sie 1 bis 3 Bytes von 00 am Ende der BIOS-Bildakte hinzu, damit die Länge durch 4 ohne irgendeinen Rest geteilt werden kann. Dieses ist, dass, nach dem Mischen zu garantieren, mit SLIC.BIN Bildakte, die Überschriftadresse der SLIC Tabelle durch 4 ohne Rest auch geteilt werden kann.
Überprüfen Sie ob die Länge von ACPITBL.BIN (die letzte Adresse der Akte + 1) kann durch 4 ohne Rest geteilt werden. In diesem Beispiel vor dieser Schrittänderung, hat das letzte Byte HEXE-Adresse von 43E8, also ist die Länge der Akte 43E9, kann nicht durch 4 voll ohne Rest innen geteilt werden.
Nachdem die Überprüfungsänderung mit 4 Abteilungen, addiert 3 00 Bytes bewerten. - Ändern Sie OEM_ID und OEM_Table_ID entsprechend Ihren Anforderungen (normalerweise _ASUS_ und Notizbuch). Beziehen Sie sich verbessert hinzufügen SLIC Tabellenanweisung an Schritt 8 von Teil 2 zu mehr Information.
- Außer der Akte.
- Führen Sie den folgenden Befehl durch, den SLIC Tabelleninhalt mit dem geänderten ACPITBL.BIN zu vermischen und auszubessern, um die abschließende Funktionskopie von ACPITBL.BIN zu erhalten:
KOPIEREN SIE ACPITBL.BIN /B + SLIC.BIN /B ACPI.BIN /B
Anmerkung: Entsprechend Ihrer Anforderung verwenden Sie das korrekte ACPI.BIN, d.h. ASUS für ASUS Soem-Identifikation, Lenovo für Lenovo Soemidentifikation und -etc.
- Folgen Sie den untengenannten Schritten, um die Position des Raumes zu finden, die vorübergehend den Wert der Adresse der Überschriften von jedem Tabellen im Code von ORIGINAL.BIN oder von ggroup.bin speichern. Diese Adresse wird als TempBuffer_Address angenommen:
- Lassen Sie Ultract laufen, um ORIGINAL.BIN oder ggroup.bin zu öffnen.
- Führen Sie IDA durch.
- Klicken Sie weitergehen, IDA einzutragen. Dann wählen Sie vor und öffnen Sie ORIGINAL.BIN Akte.
- In der „Last ziehen eine neue Akte“ Dialogfeld, unter dem Abschnitt „der Prozessorart“, das Menü herunter und wählen „Prozessoren Intel-80×86 vor: 80686p“.
- Nach vorgewählt schlagen Sie „einstellen“ Knopf rechts.
- Klicken Sie an „OKAY“ Knopf, und schlagen Sie dann auf „ja“ Knopf, wenn Sie gebeten werden zu bestätigen „, Sie möchten die Prozessorart zu 80686p ändern?“
- Im Dialogfeld, das gebeten wird, um zu bestätigen „möchten Sie, es als 32-Bitcode auseinanderbauen? “, wird Presse auf „keinem“ Knopf als Handhabung im 16-Bitmodus getan.
- Im Schnur-Fenster rechts, finden Sie und lokalisieren Sie die RSDT… FACS Zeichenfolgereihenfolge, und doppelt klicken Sie an sie.
- Bringen Sie den Cursor an der Position des r-Buchstabens in Position. Drücken Sie dann „a-“ Taste, und dann wird RSDT… FACS Zeichenfolge angezeigt. Diese Textreihenfolge von RSDT… FACS wird ACPItables genannt.
Positionierung des Cursors an der Linie von R.
Nachdem a-Taste gedrückt worden ist. - Bringen Sie den Cursor nach der RSDT… FACS Schnur ACPItables in Position (DB 1EH).
Drücken Sie die „c-“ Taste. Ein Block des Versammlungscodes wird angezeigt.
- Aber es gibt restlichen Code, der nicht in Versammlungscode auseinandergebaut worden ist. Bringen Sie so den Cursor am zuerst gebliebenen zusammengebauten Code in Position. In diesem Fall ist es Linie von unk_CC49, nachdem die RSDT… FACS Schnur ACPItables von DB 1Eh zur Verfügung stellte. Drücken Sie dann die „c-“ Taste, um den restlichen BIOS-Bytecode umzuwandeln und auseinanderzubauen.
- Verschieben Sie den Cursor über den Linien des folgenden „ANRUF“ Blockes.
- Passen Sie heraus für die „ANRUF“ Linie auf, die Code wie unten oben knallen kann:
drücken Sie eax
drücken Sie CX
drücken Sie ebp
xor ebp, ebp
Bewegungen CX, TABLE_Numbers (vorübergehend Gebrauch TABELLE _Numbers, zum eines Wertes darzustellen)
Bewegungen EDI, eaxIn diesem Beispiel ist es die Linie von „Anruf sub_CCD4 ″.
- Doppelt klicken Sie an sub_CCD4, um zum Codeabschnitt von sub_CCD4 zu gehen. Wenn der gegenwärtige Anzeigemodus in der Grafik ist, Recht - klicken Sie an und wählen Sie „TEXT Ansicht“ über das Zusammenhangmenü vor, um zum Textmodus zu schalten.
- Innerhalb dieses Blockes des Codes, holen Sie die 3 wichtigen Variablen - TABLE_Numbers, ACPItables_address, TempBuffer_Address, zurück und notieren Sie ihren Wert. In diesem Beispiel sind der Wert der Variablen 4, CC20, 89C4 beziehungsweise, wo Adressen ungefähr an CCDC sitzen, CCE2, CD12 beziehungsweise.
- Verwenden Sie den Wert von TempBuffer_Address (89C4 vom Schritt oben) um mit jeder Tabelle in der RSDT… FACS Textfolge, mit Stufensprung von 4 nach jeder Tabelle (zusammenpassende Tabelle) zusammenzupassen. Z.B.:
89C4 RSDT
89C8 FACP
89CC DSDT
89D0 APIC
89D4 FACS
89D8
89DCDer vorhergehende Block des Codes kopiert die erforderlichen Tabellen IM ACPITBL BIOS-Bild entsprechend RSDT… FACS Schnur in eine freie Speicheradresse und speichert diese Wert von Adressen im Raum, der von TempBuffer_Address spezifiziert wird und dann füllt schließlich diese Adressen in einige spezifische Tabellen. So während dieses Prozesses, muss der speichernadressenwert von TempBuffer_Address sein sicherstellen, der nicht kann und nicht ändert, oder sonst Umb.-BIOS fällt aus.
- Schalten Sie zu UltraEdit und betätigen Sie Abkürzung der Tastatur Ctrl-f, um nach D889 (d.h. 89D8 Wert, der Wert zu suchen der Gedächtnisraumposition nach FACS, in der es eine Rückseite mit niedrigem Byte im vorderen und hohen Byte nach ist). Zahlen Sie Aufmerksamkeit zu einigen Position (82D4, CC91) die senken als FFFF. Höchstwahrscheinlich finden Sie es an einigen Position. Wenn Sie kein D889 (gespeicherten Wert von 89D8) finden können, dann können Sie die Adresse (89D8) direkt verwenden gelegen hinter der Adresse, die verwendet wird, um FACS (89D4) zu speichern. Welche Mittel-SLIC Tabelle sofort hinter FACS hinzugefügt wird, mit Schnur werden etwas wie RSDT… FACSSLIC und können also durch eine, Position zu finden tun, um diese Schnur zu setzen (verschieben Sie vorwärts 4 Bytes oder verwenden Sie neue Position).
- Jedoch wenn Sie Code wie das folgende nahe die Position von CC91 in IDA lokalisierten, die bedeuten, dass der Abschnitt des Codes nach rechts nachdem „Anruf sub_CCD4 ″ benutzt wird, und herauf die Speicheradresse von 89D8 verwenden Sie.
seg000: CC80 sub_CC80 proc nahe; CODE XREF: seg000: CC52p
seg000: CC80 Stoß ds
seg000: Axt der Bewegungen CC81, 0F000h
seg000: CC84 Bewegungen ds, Axt
seg000: CC86 nehmen ds an: nichts
seg000: CC86 addieren EDI, 10h
seg000: CC8A und Di, 0FFF0h
seg000: CC8D Bewegungen großer ds: 89D8h, EDI
seg000: CC95 Knall ds
seg000: CC96 nehmen ds an: nichts
seg000: Retn CC96
seg000: CC96 sub_CC80 endpIn diesem Fall Gebrauch UltraEdit, nach folgender vorhandener Adresse vom Schritt oben zu suchen (DC89 für 89DC). Wenn nichts gefunden wird, kann diese Speicheradressenposition verwendet werden, um SLIC Tabelle zu setzen. Das Problem mit dieser Speicheradressenverteilung ist, dass es eine Zeilensprungadresse oder einen Raum (89D8) zwischen FACS und SLIC Tabellen gibt. Um diese Ausgabe zu reparieren, fügen Sie die Textfolge von FACSSLIC anstelle von gerade SLIC hinzu, da FACS Tabelle klein ist und nicht zu viel Gedächtnis verwenden wird.
- Nach Änderung haben Sie die ACPI Tabellen-Indexschnur entweder als RSDT… FACSSLIC oder RSDT… FACSFACSSLIC. Zu die erste Instanz der Schnur unterbringen sollen, kann die vollständige Schnur sich bewegen vorwärts (zur Frontseite) durch 4 Bytes, wie oben erwähnt. Andernfalls muss eine neue Position identifizierent werden, um die neue Textfolge zu speichern. Aber im neueren Fall, in dem 8 Bytes addiert worden sind, also in uns müssen Sie eine neue Position für diese längere Schnur finden. In diesem Beispiel BIOS gibt es 11 leere Bytes (00) vor dem ACPItables_address (gelegen an CC20). Dieses sollten leere Bytes dazu in UltraEdit unbenutzt sein, dort ist kein Code, der das CC18 verwendet, oder CC1C zwei Positionen adressieren. So kann die neue Schnur zur Position mit Anfangsadresse als CC18 vorgebracht werden.
Bewegende RSDT reihen vorwärts 8 Bytes auf, um neue 8 Tabelle der Bytes SLIC unterzubringen. - Jetzt ist die Ankeradresse der RSDT… SLIC Schnur verschoben worden, und die Anfangsspitzenadresse der Schnur muss zum System bekannt gegeben werden. Suchen Sie in UltraEdit nach „20CC“ (die ursprüngliche Adresse), Sie findet sie an der Adresse CCE2, wie vom Schritt oben herausgefunden. Ändern Sie die 20 bis die 18, zum es „von 18CC“ (der Adresse Rückseite immer, wenn anzeigen Sie), die neue Anfangsadresse anzeigen zu lassen.
Nachdem 20 bis 18 geändert worden sind, zum der neuen Positionsadresse anzuzeigen. - Da die RSDT Schnur verschoben worden ist, hat die Position der FACS Tabelle auch sich auch bewogen (beziehen Sie sich auf Abbildungen oben). Die ursprüngliche Adresse der FACS Tabelle ist CC30, während neue Adresse CC28 oder CC2C ist. Und, im Rest des Codes, wird die Adresse verwendet. So muss die Adresse von FACS auch geändert werden.
Der Wert für die ursprüngliche Adresse ist Adresse von ACPItables_address (CC20) + 10, das zu CC30 entspricht. In UltraEdit Suche nach 30CC, das um ungefähr Bezugsposition von CD35 gefunden werden sollte. Ändern Sie das 30CC zu 28CC (für CC28) oder zu 2CCC (für CC2C).
- Zunächst muss SLIC Tabelle der Adresse hinzugefügt werden, die für sie in der RSDT Tabellenschnur in ACPI.BIN aufgehoben wird.
seg000: CD74
seg000: CD74 sub_CD74 proc nahe; CODE XREF: seg000: CC5Bp
seg000: CD74 Stoß EDI
seg000: Stoß CD76 esi
seg000: Bewegungen CD78 esi, 0F0000h
seg000: CD7E Bewegungen eax, [esi+89C4h]; Adresse der Fülle RSDT zu RSDT PTR
seg000: CD86 oder eax, eax
seg000: CD89 jz loc_CE32
seg000: CD8D Bewegungen [esi+89C0h], eax; RSDT PTR
seg000: Bewegungen CD95 eax, [esi+89CCh]; Adresse der Fülle DSDT zu FACP
seg000: CD9D oder eax, eax
seg000: CDA0 jz loc_CE32
seg000: CDA4 Bewegungen EDI, [esi+89C8h]; FACP
seg000: CDAC Bewegungen es: [edi+28h], eax
seg000: Bewegungen CDB2 eax, [esi+89D4h]; Adresse der Fülle FACS zu FACP
seg000: CDBA oder eax, eax
seg000: CDBD jz loc_CE32
seg000: CDC1 Bewegungen EDI, [esi+89C8h]; FACP
seg000: CDC9 Bewegungen es: [edi+24h], eax
seg000: CDCF Bewegungen eax, [esi+89C8h]; Adresse der Fülle FACP zu RSDT+24
seg000: CDD7 oder eax, eax
seg000: CDDA jz loc_CE32
seg000: CDDE Bewegungen EDI, [esi+89C4h]; RSDT
seg000: CDE6 Bewegungen es: [edi+24h], eax
seg000: CDEC cmp-Byte-PTR [bp+1BFh], 7
seg000: Jnz CDF1 Kurzschluss loc_CDFE
seg000: Test CDF3 dword PTR [bp+1C6h], 200h
seg000: CDFC jz Kurzschluss loc_CE2F
seg000: CDFE
seg000: CDFE loc_CDFE: ; CODE XREF: sub_CD74+7Dj
seg000: CDFE Test-Byte-PTR [bp+2EBh], 4
seg000: CE03 jz loc_CE2F
seg000: Bewegungen CE07 eax, [esi+89D0h]; Adresse der Fülle ACPI zu RSDT+28
seg000: CE0F oder eax, eax
seg000: Jz CE12 Kurzschluss loc_CE2F
seg000: CE14 Bewegungen EDI, [esi+89C4h]
seg000: CE1C Bewegungen es: [edi+28h], eax
seg000: CE22 Bewegungen EDI, eax
seg000: CE25 Stoß es
seg000: CE26 Anruf sub_B4BB
seg000: CE29 Knall es
seg000: CE2A jb Kurzschluss loc_CE2F
seg000: CE2C Anruf sub_5077Von der zusammenpassenden Tabelle, die zusammenpaßt, legt das ACPI zur jeweiligen Speicheradresse ver, die im Schritt oben gebildet wird, verwenden ihn, um an den Code oben anzupassen. Hier muss keiner des Codes, der Prozess darstellt, um den Datenwert der Adresse 89DC zum RSDT Tabelle zu füllen, also, der folgende Code addiert werden:
Bewegungen eax, [esi+89DCh]; 8 Bytes
Bewegungen EDI, [esi+89C4h]; 8 Bytes
Bewegungen es: [edi+2Ch], eax; 6 Bytes, der Wert der Länge der ACPI Tabellen (SLICaddress, das 2C ist).Zusatz von diesen Code kann den Rest der Adresse der Funktionen nicht beeinflussen, also einig muss nicht kritischer Code gelöscht werden, um etwas Raum oben freizugeben.
Im oben genannten Code nach jedem Bewegungen eax, [esi+???? h], ist es vom Block des Codes als unten gefolgt:
oder eax, eax; 3 Bytes
jz kurzes loc_CE2F; 2 BytesDiese sind Überprüfungsspitzen, das die Vorkehrungmethode ist, zum des Einsturzes oder der Störung des Systems zu verhindern. Jedoch nach Analyse, gibt es Paare Überprüfungsspitzen, die nach Reorganisierung der RSDT Tabelle entfernt werden können. So entfernen Sie die Datenüberprüfungsteile der RSDT Tabelle, die sich befindet als unten:
seg000: CDD7 oder eax, eax; 3 Bytes
seg000: CDDA jz loc_CE32; 2 Bytesund
seg000: CE0F oder eax, eax; 3 Bytes
seg000: Jz CE12 Kurzschluss loc_CE2F; 2 BytesNach dem Handeln dies, wird nur 10 Bytes mit Leerzeichen oben freigegeben, aber der Umb. erfordert 22 Bytes. Im Code oben, wann immer es den Code für RSDT Tabelle auffüllt, führt er diesen Befehl durch:
Bewegungen EDI, [esi+89C4h]; 8 Bytes
Aber, es ändert nicht den Wert des Registers oder der Variable, wenn zweimal es den Prozess durchführt, um die RSDT Tabelle auszufüllen. So kann dieser Befehl nur einmal durchgeführt werden. Tatsächlich wenn der neue Code hier gesetzt wird, kann dieser Befehl für den neuen Code auch übersprungen werden. Mit dieser Justage gibt es genügend Leerstelle geleert. Extraraum kann mit unbelegtem Befehl dann aufgefüllt werden (90 und nop). Der abschließende Code sieht wie dieses aus:
seg000: CDCF
Bewegungen eax, [esi+89C8h]; füllen Sie FACP Adresse zu RSDT+24 auf
Bewegungen EDI, [esi+89C4h]; RSDT
Bewegungen es: [edi+24h], eax
Bewegungen eax, [esi+89DCh]
Bewegungen es: [edi+2Ch], eax
nop
nop
nop
nop
cmp-Byte-PTR [bp+1BFh], 7
jnz kurzes loc_CDFE
prüfen Sie dword PTR [bp+1C6h], 200h
jz kurzes loc_CE2F
prüfen Sie Byte-PTR [bp+2EBh], 4
jz loc_CE2F
Bewegungen eax, [esi+89D0h]; füllen Sie ACPI Adresse zu RSDT+28 auf
seg000: CE22 Bewegungen es: [edi+28h], kann eax die Adresse für diesen Befehl nicht geändert werden.An die Adressenposition des Codes, der gelöscht und eingesetzt wird, muss erinnert werden:
seg000: CDD7 oder eax, eax; 3 Bytes
seg000: CDDA jz loc_CE32; 2 Bytes
5 Bytes, die von CDD7 abfahrenseg000: CE0F oder eax, eax; 3 Bytes
seg000: Jz CE12 Kurzschluss loc_CE2F; 2 Bytes
seg000: CE14 Bewegungen EDI, [esi+89C4h]
5+8 Bytes, die von CE0F anstarrenseg000: CDEC cmp-Byte-PTR [bp+1BFh], 7
Ursprüngliche Position von CDEC, zum alles erforderlichen Codes hier einzusetzen - Der Umb.-Prozess ist erfolgt, geht jetzt zurück zu UltraEdit für letzte Schrittadressenänderung. Dieser Schritt ist gut von der Unterseite verhindern bis den Code unter durcheinandergebracht erfolgt, wenn man das vordere Fach ersetzt.
Erstens entfernen Sie 13 Bytes beginnend von CE0F.
Dann setzen Sie alle mögliche 4 Bytes gelegentliche Daten am CDEC ein, dann ändern Sie den Wert bis 4 90 (90h=nop).
Kopieren Sie den Code an CDE6 zu CDEB, und kleben Sie ihn, um das Beginnen von CDEC zu adressieren, den verwendeten Befehl zu reflektieren: Bewegungen es: [edi+2Ch], eax
Kopieren Sie den Code an CDCF zu CDD6, und kleben Sie ihn, um das Beginnen von CDEC zu adressieren, den verwendeten Befehl zu reflektieren: Bewegungen eax, [esi+89DCh] - Außer dem Code.
- Überprüfen Sie, dass die Änderung des Codes korrekt ist, indem sie IDA verwendet, um zu überprüfen, ob der geänderte Code korrekt ist. Wenn ja, packen Sie den Code in die BIOS-Akte ein.
Verzicht: Dieser Artikel ist nur zum informierenden und pädagogischen Zweck.
WICHTIG: Die Seite ist und vorausgesetzt „maschinell übersetzt, wie“ ohne Garantie ist. Maschinelle Übersetzung kann schwierig sein zu verstehen. Beziehen Sie bitte sich auf ursprünglichen englischen Artikel, wann immer möglich.
In Verbindung stehende Artikel
- Verbesserte Weise, SLIC (SLP 2.0) Tabelle in BIOS ACPI hinzuzufügen, um Windows Vista Soem zu aktivieren
- SLIC Tabelle (SLIC.BIN oder ACPISLIC.BIN) BIOS Akte für Soem-Download
- Windows Vista Soem-Aktivierungs-Sprung durch das Ausbessern von SLIC in Motherboard BIOS
- Software BIOS Emulations-Flecken (softmod.iso) zum von Soem SLIC von Dell, von HP, von Lenovo, von Sony, von Acer und von ASUS zu emulieren
- Knacken Sie, um Windows Vista als Soem für Acer Motherboard/BIOS zu aktivieren
- Annulieren Sie Preis BIOS Blitz und Wiederaufnahme
- BIOS mit Windows Vista Soem-Unterstützung (ACPI_SLIC) erklären KMS Aktivierung ungültig
- Windows Vista Soem-Aktivierungs-Sprung (vstaldr) außen ändern oder blitzen BIOS
- Download-Vista-Ladevorrichtung 2.1.2 Soem-BIOS Sprung-Nacheiferer
- Wie man oder Parodie-MAC address in Windows Xp, in Vista, in Bediener 2003/2008, in Mac OS X, in Unix und im Linux ändert










































15. März 2007 05:44
@narcan
Dank für das Versuchen. Jemand gab eine geänderte Version dieses Bios bekannt, also wundere ich mich, wie er sie taten?
15. März 2007 01:08
Hallo Jimmy-Dank. Haben die Störung behoben.
14. März 2007 23:52
grrr, kein Wunder, das ich es nicht herausfinden könnte, Schritt 21, hat einen Typo,
Die ursprüngliche Adresse der FACS Tabelle ist 0030
sein angenommenes zu sagen, CC30
konnte admin dieses beheben?
14. März 2007 20:43
@stroths
heißen Sie mich überprüfte, Sie versuchen nicht, das exe zu laden
arbeitet nicht hier auch gut, merkwürdig.
14. März 2007 20:30
@stroths
Dumme Frage möglicherweise, aber haben Auszug das .exe, oder versuchen Sie, dieses .exe mit modbin6 zu laden?
14. März 2007 19:58
Update zu meinem vorhergehenden Pfosten: Mein Bios ist PREIS wie in dem Aufladungspfosten gezeigt und wie auf der Gigabyteweb site beschrieben.
14. März 2007 19:09
Hat jemand dem Mitteilung „nicht zusammengedrückten Preis den binären Code“ wann das Bios unter Verwendung ModBin6 öffnend erhalten? Ich wünsche jemand nicht zu Umb. das Bios für mich, aber möchte etwas Hilfe, die hinter dieser Störung erhält.
Ich versuchte, ein Biosdump sowie die Anwendung einer Kopie von der Gigabyteweb site zu erhalten für mein 965P-DS3. Ist unten eine Verbindung zum Bios, wenn jedermann mir erklären kann, wie man dieses erfolgreich in modbin6 öffnet.
http://america.giga-byte.com/FileList/BIOS/motherboard_bios_ga-965p-ds3_f10.exe
14. März 2007 05:29
@Maniax
Ist hier mein Problem - beide Speicherstellen direkt, nachdem die FACS Tabelle bereits benutzt werden.
(IE, 89D8 und 89DC sind gebräuchlich)
Der Artikel gibt „in diesem Fall an, Gebrauch UltraEdit, nach folgender vorhandener Adresse vom Schritt oben zu suchen (DC89 für 89DC). Wenn nichts gefunden wird, kann diese Speicheradressenposition verwendet werden, um SLIC Tabelle zu setzen. Das Problem mit dieser Speicheradressenverteilung ist, dass es gibt eine Zeilensprungadresse oder einen Raum (89D8) zwischen FACS und SLIC Tabellen.“
Was es nicht bedeckt, ist was, zu tun, wenn die folgenden zwei Adressen auch gebräuchlich sind. Müssen wir die, RSDT Schnur aufzufüllen halten?
Ist hier das Bios, das ich an bearbeite.
ftp://ftp-usa.abit.com.tw/pub/download/bios/aw9d/aw9d14.zip
14. März 2007 00:00
@Limit:
Step18 ist gerade ein Überprüfungs-/Vorbereitungsschritt. Sie brauchen, nichts dort einzuspritzen. Es versucht, sicherzustellen, wenn Sie einen blinden Abschnitt (FACS, FACS, SLIC) oder nicht benötigen (FACS, SLIC). Sie wissen, indem Sie die Adresse suchen, die Sie durch step16 berechneten.
Ich habe ein zusätzliches grelles ROM 2mbit jetzt, aber ich benötige ein 4mbit eins. Notwendigkeit, mehr Freunde anzurufen.
13. März 2007 16:50
Ich stimme, wir benötige einen Platz für Diskussion zu
Wenn Preis BIOS besser ist - gewusst, möglicherweise können wir das Wissen AM AMI-BIOS anwenden (es gibt keine RSDTFACPACPI… Blabla Schnur). Ich wirklich möchte verbinden, auch.
13. März 2007 15:53
In Schritt 18, muss die Speicherstelle für die SLIC Tabelle nach der FACS Tabelle sein, oder können wir irgendeine freie Speicherstelle verwenden? Ich versuche zu Umb. ein abit aw9d-max 1.4 Bios und zu den zwei Gedächtnis lcations direkt, nachdem die FACS Tabelle bereits benutzt sind.
Ich mag Maniax Idee der Anwendung eines Inline-Fleckens, des Springens zu einer unbenutzten Speicherstelle - oder das Ende, und zurück zu dem ursprünglichen Code dann springen.
13. März 2007 15:16
Ich wirklich möchte mich Entwicklungsdiskussion anschließen, oder Hilfe bei den weiteren Optimierungsschritten und ich haben noch einige Fragen wie, warum nicht erhöhten `no.of Tabellen dieses der mal ist und warum wir sie notieren müssen dann? Und so weiter…
Wenn sein ausschließlich chinesisches Forum es nicht sinnvoll zwar sein würde, da ich nicht einen Wortchinesen spreche.
Können Sie das Forum nennen oder mir eine eMail mit der Adresse schicken?
13. März 2007 15:04
Wow ist dieses wirklich hartes Material. Für nur Experten. Es gibt etwas interessante Einblicke in das BIOSzerhacken.
Schritte 22/23 sind wirklich schwierig und können zu irgendeinem verdorbene BIOS mods führen. Es würde nett sein, eine komplette Auflistung des geänderten abschließenden Codes zu haben. Verbessern Sie sogar, wenn jemand eine Vorlage und erfolgreich geänderte EINE BIOS-Akte bekannt geben könnte, die everone vergleichen und analysieren kann.
Dennoch wieder gute Arbeit über diesen Aufstellungsort hier!
thx
Martin
13. März 2007 14:30
Hallo Maniax ja hat er vom chinesischen Forum übersetzt. Ist Forumgewinde notwendig?
13. März 2007 14:08
Wir benötigen einen Platz, dieses zu besprechen. Was ist der Quellort dieser Informationen? Ist es chinesisches Sprachforum? Kann jemand kindly ein englisches Gewinde herstellen und uns dort zeigen?
Betreffend das Tutorium:
Sein möglicherweise einfacheres `zum Inline-patch der Zusatzcode, durch einen Sprung zum Ende des codeblock weit verwenden. Es sollte mehr als genügende unbenutzten Auffüllenbytes (FF FF halten…). Ein weit Sprung benötigt gerade 5 Bytes, die, die Bytes können auf das Inline-Programm verschoben werden ersetzten (Gebrauch or+jnz, der 5 Bytes benötigt, befestigt gerade das jnz am `far später), also lösen Sie keinen Code und sein viel einfacheres.
Ich prüfe es, sobald ich einen zweiten grellen Span für Unterstützung gegründet habe.
13. März 2007 08:46
Dieses ist groß - ich wunderte mich, wie man dynamisch die SLIC Nachschlagen addiert. Dieses überprüft heraus mit der Forschung, die ich getan hatte. Sobald ich einen neuen Biosspan innen erhalte, fange ich an, diese Methode zu prüfen.
12. März 2007 23:39
Regelt dieses schließlich das nicht ArbeitsAsus Kommando-Bios?
Wenn ja kann jemand das Kommando-Bios regeln?
12. März 2007 22:13
Wieder denkt der Autor, dass alle wir PREIS Bioses haben?
, um mit AMI oder zu verbessern zu verwenden was dennoch Phoenix-BIOS zu arbeiten?
Das modbin arbeitet nicht an umbenannten *.rom Akten, die Sie kennen….
12. März 2007 22:11
Tut diese Arbeit über ein Pheonix Bios??
12. März 2007 21:17
ja!
Inproved Methode: Örtlich festgelegte (statische) RAM-Adresse der Tabelle (seien Sie heraus eine Strecke, wenn u-untereres RAM und aus Gleichem heraus, wenn u-Erhöhung RAM)
Dynamisch: Adresse passt sich RAM-Größe (Sitze immer) = vollkommener Umb. an
Für mich wünsche ich gerade zu den extact Informationen, die ich auf AMI-BIOS erfolgreich werden muss….
12. März 2007 20:51
wow dieses sieht wie eine Herausforderung zu mir lol aus
so bedeutet dieses, dass, solange ich nicht mein RAM auf meinem Brett ändere, ich die verbesserte, Methode anzuwenden halten kann???
im nicht sure im den Unterschied von diesem und von der verbesserten Methode verstehend
12. März 2007 19:20
Danke
12. März 2007 18:40
Thanx. Dieses ist groß!
12. März 2007 17:50
Großer Führer.
Ich wundere mich, wenn Niko anfängt, diese Methode anzuwenden???
12. März 2007 17:31
@ Admin
Dank, für pädagogischeres Hilfsmittel der Aufgabe eine.
Dieses kann helfen.
Cumps.