Método de la MOD del BIOS de la concesión del OEM de Windows Vista agregando la tabla de SLIC con la dirección de memoria dinámica
El método de la grieta de la activación del OEM de Windows Vista requiere una placa madre obediente de SLP 2.0 (preinstalación bloqueada 2.0 del sistema) BIOS. La nueva computadora calificada del OEM viene con una, u ofrece a placa madre no-tan-vieja un BIOS mejora libre a la que apoya SLP 2.0 con la tabla de SLIC y el mercado firmado de Windows (identificación del OEM e identificación de la tabla). Si usted está utilizando una computadora más vieja o la placa madre de DIY, usted no está fuera de suerte sin embargo. Los piratas informáticos chinos han manejado a la MOD el BIOS a substituir o a agregar en la tabla de SLIC (software que autoriza código interno) en la tabla de ACPI. Sin embargo, el reemplazo de la tabla existente de ACPI puede causar la pérdida de ciertas características, mientras que puede la adición de tabla de SLIC incompatible en la computadora con diverso tamaño de la memoria, pues el BIOS se remienda difícilmente con la dirección de memoria física de la tabla del SLIC que restrinjan la MOD BIOS a la máquina que se ha modificado solamente.
Así pues, el método a MOD BIOS para la ayuda del OEM de Windows Vista con la dirección de memoria estática previamente usada de SLIC es problemático pues la dirección de memoria será cambiada cuando el tamaño de la memoria cambió, y la necesidad de usuarios de modificar la dirección de SLIC en ACPITBL.BIN o bien ellas no podrá patear en el sistema, rechazando la circulación total del OEM BIOS de la MOD. Así se utilizan los piratas informáticos chinos refinan la técnica permiten la asignación de dirección dinámica de memoria física de la tabla de SLIC. Con la asignación de memoria dinámica, el tamaño de la memoria física se puede cambiar sin ninguÌn consentimiento del BIOS non-compliant. Al lado de, el método anterior de agregar la tabla de SLIC puede requerir a usuarios destellar BIOS en la ROM 2 veces, primero con la MOD BIOS y más adelante con el BIOS original, mientras que el BIOS con este método refinado con el registro de dirección dinámico de memoria requiere solamente un flash a lo más.
Herramientas y utilidades requeridas:
- MODBIN6
- CBROM219
- WinHEX
- Hiew 7.4 (Hiew32) (solamente para la concesión BIOS, si usted tiene Hiew32 usted requiere no más IDA 5.0)
- IDA 5.0
- UltraEdit
La instrucción de crear a un OEM BIOS de la MOD Vista con capacidad dinámica de la asignación de dirección de memoria es complicada, y recomendado para el experto solamente. Al lado de, este artículo se traduce de documentos en chino, así que la exactitud de la traducción no se garantiza. Si usted quiere realmente hacer su BIOS para poder activar la versión del OEM de Windows Vista, intente la listo-MOD BIOS (con la dirección estática), emulador basado software del OEM BIOS del cargador de Vista, o juego de herramientas basado software de la emulación del OEM BIOS. La otra grieta popular de Vista incluye TimerLock que aplican automáticamente el conductor de TimerStop. Esta clase particular es prueba del concepto solamente, pues cada BIOS es diferente, y por lo tanto los valores o los pasos o las cosas modificados pueden ser diferentes.
Advertencia: La alteración al BIOS puede invalidar la garantía, la computadora de la causa a incapaz de arrancar o el otro efecto irrecuperable. Hágala en su propio riesgo.
Si usted necesita ayuda en MOD BIOS para la activación de Vista, compruebe hacia fuera este hilo de rosca.
- Cree una carpeta temporal (Vista o el BIOS es usted tiene gusto) en el directorio de raíz (C:\).
- Transfiera CBROM 2.19 (dependiendo de donde usted transferencia directa, él puede necesitar retitular el ejecutable a cbrom.exe según lo ilustrado en este artículo), MODBIN6 2.01.01, SLIC.BIN (nombrado acpislic.bin que pueda ser variado, que es la porción de la tabla de SLIC de BIOS) de acoplamientos de la transferencia directa arriba, y póngalos en la carpeta temporal.
- Extracto, exportación o excepto el (el nombre puede ser cambiado, que es la placa madre BIOS que usted quiere cortar para la activación del OEM de Windows Vista). Una manera más fácil es transferir simplemente los soportes lógico inalterable del BIOS de los fabricantes de la computadora o de la placa madre tales como ASUS, gigabyte, MSI, Acer, HP, Dell, Lenovo y etc.
- Determine es qué porción del BIOS de archivo el campo de RSDT… FACS localizado:
- En aviso de comando elevado (o la neutralización UAC), mecanografíe el comando siguiente:
CBROM.EXE /d
Usted verá algo como screencap abajo:
Software 2001 de la concesión de CBROM V2.19 (C) todos los derechos reservados.
******** Componente del ******** BIOS
No. Original-Archivo-Nombre del Comprimido-Tamaño del Original-Tamaño del Artículo-Nombre
=====================================================
0. Sistema BIOS 20000h (128.00K) 13B3Eh (78.81K) 83IID318.BIN
1. CÓDIGO 0DFF0h (55.98K) 0993Ch (38.31K) awardext.rom de XGROUP
2. Tabla 043E5h (16.97K) 01A46h (6.57K) ACPITBL.BIN de ACPI
3. INSIGNIA 0168Ch (5.64K) 002AAh (0.67K) AwardBmp.bmp de EPA
4. ROM 0F570h (61.36K) 0482Dh (18.04K) awardeyt.rom de YGROUP
5. ROM del GRUPO [0] 04CD0h (19.20K) 02261h (8.59K) _EN_CODE.BIN
6. Otro (404E: 0000) 03476h (13.12K) 00EB4h (3.68K) 64N8IIP.BMP
7. Otro (404F: 0000) 0345Dh (13.09K) 008B9h (2.18K) 64N8P4P.BMP
8. Otro (4050: 0000) 0345Dh (13.09K) 008CCh (2.20K) 64N8P4HT.BMP
9. Otro (4051: 0000) 04286h (16.63K) 00A7Eh (2.62K) 64N8P4E.BMP
10. Otro (4052: 0000) 04286h (16.63K) 00B58h (2.84K) 64N8P4HE.BMP
11. Otro (4053: 0000) 0345Dh (13.09K) 007D9h (1.96K) 64N8ICPD.BMP
12. ROM del PCI [A] 0D000h (52.00K) 07DA8h (31.41K) RTM8100.LOMEspacio total del código de la compresa = 4B000h (300.00K)
Tamaño de código comprimido total = 31788h (197.88K)
Sigue habiendo el espacio del código de la compresa = 19878h (102.12K)** Información micro del código **
Identificación CPUID de la actualización | Identificación CPUID de la actualización | Identificación CPUID de la actualización | Identificación CPUID de la actualización
- - - - - - +-------+-------+------
PGA478 2E 0F29| - En caso antedicho, dentro de, no hay ggroup.bin (donde se localiza “RSDTFACPDSDTAPICHPETMCFGFACS” o el campo similar del índice de las tablas de ACPI), así que el campo de RSDT… FACS está situado dentro del 中 del código del octeto del sistema BIOS, y modificar esta necesidad de utilizar MODBIN6. Si su BIOS contiene ggroup.bin, usted puede utilizar CBROM para extraer y para separar la pieza de ggroup.bin BIOS como archivo.
Abajo está la salida de la muestra CBROM “CBROM.EXE del comando de /d” para el BIOS con ggruoup.bin (gigabyte GA-G1975X BIOS como ejemplo):
No. Comprimido-Tamaño Original-Fi del Original-Tamaño del Artículo-Nombre
================================================
0. Sistema BIOS 20000h (128.00K) 1492Ah (82.29K) G1975X.BIN
1. CÓDIGO 0F7B0h (61.92K) 0A8E6h (42.22K) awardext.rom de XGROUP
2. INSIGNIA 0168Ch (5.64K) 0030Dh (0.76K) AwardBmp.bmp de EPA
3. ROM del GRUPO [18] 00EF0h (3.73K) 00B77h (2.87K) ggroup.bin
4. ROM 07140h (28.31K) 04D7Ch (19.37K) awardeyt.rom de YGROUP
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. ROM del GRUPO [0] 06010h (24.02K) 02787h (9.88K) _EN_CODE.BIN
9. ROM del GRUPO [1] 06510h (25.27K) 02A1Fh (10.53K) _FR_CODE.BIN
10. ROM del GRUPO [3] 06420h (25.03K) 02A75h (10.61K) _GR_CODE.BIN
11 ROM del GRUPO [4] 068D0h (26.20K) 02A74h (10.61K) _SP_CODE.BIN
12. ROM del GRUPO [8] 04EF0h (19.73K) 02575h (9.36K) _B5_CODE.BIN
13. ROM del GRUPO [10] 04F60h (19.84K) 025E9h (9.48K) _GB_CODE.BIN
14. ROM del GRUPO [11] 05E50h (23.58K) 02A85h (10.63K) _JP_CODE.BIN
15. ROM del PCI [A] 0F200h (60.50K) 09594h (37.39K) ICH7RAID.BIN
16. ROM del PCI [B] 10000h (64.00K) 09A15h (38.52K) b169d.pxe
17. LOGO1 ROM 00B64h (2.85K) 00520h (1.28K) dbios.bmp
18. ROM del PCI [C] 04000h (16.00K) 02287h (8.63K) ITE8212.ROM
19. Otro (4067: 0000) 01AADh (6.67K) 00B75h (2.86K) PPMINIT.ROM
20. OEM0 CÓDIGO 025B3h (9.42K) 01B37h (6.80K) dbf.bin
21. ROM del GRUPO [24] 00132h (0.30K) 0011Eh (0.28K) SPECIAL.FNT
22. Tabla 09640h (37.56K) 0352Ch (13.29K) ASUSACPI.BIN de ACPIEspacio total del código de la compresa = 67000h (412.00K)
Tamaño de código comprimido total = 57613h (349.52K)
Sigue habiendo el espacio del código de la compresa = 0F9EDh (62.48K)** Información micro del código **
Identificación CPUID de la actualización | Identificación CPUID de la actualización | Identificación CPUID de la actualización | 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| - Para el BIOS con ggroup.bin, extraiga el ggroup.bin con el comando siguiente:
Extracto de CBROM.EXE G1975X.bin /group18
Usted debe ver la salida siguiente como abajo screenshot:
Software 2001 de la concesión de CBROM V2.19 (C) todos los derechos reservados.
Incorpore un nombre de fichero del extracto: (ggroup.bin)
[GRUPO] la ROM se extrae a ggroup.bin - Separado, excepto y extraiga el ACPITBL.BIN usando el comando siguiente:
Extracto de CBROM.EXE 050318.BIN /acpi
Usted debe ver el siguiente hacer salir de CBROM:
Software 2001 de la concesión de CBROM V2.19 (C) todos los derechos reservados.
Incorpore un nombre de fichero del extracto: (ACPITBL.BIN)
[ACPI] La ROM se extrae a ACPITBL.BIN - Para el BIOS sin ggroup.bin (ésos con ggroup.bin pueden saltar este paso), lanzamiento MODBIN6, selecto (debe ser nombrado en la extensión de .BIN, si no la retitula. Es el BIOS a modificarse para agregar en la tabla de SLIC de modo que sea SLP 2.0 obediente.). No cierre la ventana de MODBIN6, y espere el ORIGINAL.BIN que se extraerá y creado en la carpeta temporal.
- En aviso de comando elevado (o la neutralización UAC), mecanografíe el comando siguiente:
- Siga las instrucciones abajo de modificar ACPITBL.BIN:
- Funcione UltraEdit y abra el archivo de imagen de ACPITBL.BIN BIOS.
- Busque el texto para RSDT.
- Detrás de RSDT es el octeto que indica la longitud de la tabla de RSDT. Agregue 4 a este número en formato del MALEFICIO. Por ejemplo, si el valor indicado es 002C, modifique y corrija el valor para hacer 0030. Observe que la secuencia reversa de pares al afinar en redactor del maleficio de UltraEdit (es decir entre como 30 00 en vez de 00 30).
- Inserte (no substituir) los 4 octetos adicionales del valor 00 después de la longitud original (002C) de la tabla de RSDT (normalmente delante de FACPt, o de FXCPt para cierto mobo de los gigabytes). Usted puede copiar y pegar los 4 octetos de 00 de la otra localización a esta localización. Esta modificación y alteración es proporcionar el espacio para almacenar la tabla de SLIC en los pasos futuros, así que recuerde esta dirección (para esta guía, asuma que esta localización es SLICaddress). En este ejemplo, el valor de SLICaddress es 002C.
Antes de la modificación de ACPITBL.BIN en UltraEdit
Después de la modificación de ACPITBL.BIN en UltraEdit para asignar el espacio para la tabla de SLIC. - Compruebe la longitud total de ACPITBL.BIN si la longitud se puede dividir por completo…. Si no, agregue 1 a 3 octetos de 00 en el extremo del archivo de imagen del BIOS para poder dividir la longitud por 4 sin ninguÌn resto. Éste es asegurarse de que después de combinar con el archivo de imagen de SLIC.BIN, la dirección del jefe de la tabla de SLIC se puede dividir por 4 sin resto también.
Compruebe si la longitud de ACPITBL.BIN (la dirección pasada del archivo + 1) se puede dividir por 4 sin resto. En este ejemplo, antes de esta modificación del paso, el octeto pasado tiene dirección del MALEFICIO de 43E8, así que la longitud del archivo es 43E9, no se puede dividir por 4 adentro por completo sin resto.
Después de que la modificación del cheque de 4 divisiones, agregada 3 00 valore octetos. - Modifique OEM_ID y OEM_Table_ID según sus requisitos (normalmente _ASUS_ y cuaderno). Refiérase mejorado agregan la instrucción de la tabla de SLIC en el paso 8 de la parte 2 para más información.
- Excepto el archivo.
- Ejecute el comando siguiente de combinar y de remendar el contenido de la tabla de SLIC con el ACPITBL.BIN modificado para conseguir la copia de funcionamiento final de ACPITBL.BIN:
COPIE ACPITBL.BIN /B + SLIC.BIN /B ACPI.BIN /B
Nota: Según su requisito, utilice el ACPI.BIN correcto, es decir ASUS para la identificación del OEM de ASUS, Lenovo para la identificación y el etc. del OEM de Lenovo.
- Siga los pasos abajo para encontrar la posición del espacio que almacenan temporalmente el valor de la dirección de jefes de cada las tablas en el código de ORIGINAL.BIN o de ggroup.bin. Esta dirección será asumida como TempBuffer_Address:
- Funcione Ultract para abrir ORIGINAL.BIN o ggroup.bin.
- Ejecute el IDA.
- Chasque se encienden incorporar el IDA. Después seleccione y abra el archivo de ORIGINAL.BIN.
- En la “carga un nuevo archivo” caja de diálogo, bajo sección del “tipo del procesador”, tira hacia abajo el menú y selecciona los “procesadores de Intel 80×86: 80686p”.
- Después de seleccionado, golpee “fijan” el botón a la derecha.
- Chasque encendido el botón “ACEPTABLE”, y después golpee en “sí” el botón cuando está pedido confirmar “usted quieren cambiar el tipo del procesador a 80686p?”
- ¿En caja de diálogo pidió confirmar “usted quiere desmontarla como código de 32 bits? ”, la prensa en “ninguÌn” botón como manipulación será hecha en modo de 16 bits.
- En la ventana de las secuencias a la derecha, encuentre y localice la secuencia de la serie de caracteres de RSDT… FACS, y doble chasqúela encendido.
- Coloque el cursor en la localización del carácter de R. Entonces pulse la tecla de “A”, y entonces la serie de caracteres de RSDT… FACS será exhibida. Esta secuencia del texto de RSDT… FACS será llamada ACPItables.
Colocación del cursor en la línea de R.
Después de pulsar tecla de A. - Coloque el cursor después de la secuencia ACPItables (DB 1EH) de RSDT… FACS.
Pulse la tecla de “C”. Un bloque de código de la asamblea será exhibido.
- Pero hay el código restante que no ha estado desmontado en código de la asamblea. Coloque tan el cursor en el código montado primero permanecido. En este caso, es línea de unk_CC49 después de que la secuencia ACPItables de RSDT… FACS proporcionara por DB 1Eh. Entonces pulse la tecla de “C” para convertir y para desmontar el código restante del octeto del BIOS.
- Mueva el cursor a través de las líneas del bloque siguiente de la “LLAMADA”.
- Tenga cuidado para la línea de la “LLAMADA” que puede surgir código como abajo:
empuje el eax
empuje a la CX
empuje el ebp
xor ebp, ebp
movimientos CX, TABLE_Numbers (temporalmente _Numbers de la TABLA del uso para representar un valor)
movimientos IED, eaxEn este ejemplo, es la línea de “″ de la llamada sub_CCD4.
- Doble chasque encendido sub_CCD4 para ir a la sección del código de sub_CCD4. Si el modo de exhibición actual está en gráfico, la derecha - chasque y seleccione la “opinión del TEXTO” sobre el menú del contexto para cambiar al modo de texto.
- Dentro de este bloque de código, recupere las 3 variables importantes - TABLE_Numbers, ACPItables_address, TempBuffer_Address, y registre su valor. En este ejemplo, el valor de las variables es 4, CC20, 89C4 respectivamente, donde las direcciones están situadas aproximadamente en CCDC, CCE2, CD12 respectivamente.
- Utilice el valor de TempBuffer_Address (89C4 del paso arriba) para emparejar con cada tabla en secuencia de texto de RSDT… FACS, con el incremento de 4 después de cada tabla (tabla que empareja). Por ejemplo:
89C4 RSDT
89C8 FACP
89CC DSDT
89D0 APIC
89D4 FACS
89D8
89DCEl bloque anterior de código duplica las tablas requeridas en imagen de ACPITBL BIOS según secuencia de RSDT… FACS en una dirección de memoria libre, y almacena éstos valor de direcciones en el espacio especificado por TempBuffer_Address, y después llena eventual estas direcciones en algunas tablas específicas. Tan durante este proceso, el valor de dirección que almacena de TempBuffer_Address tiene que estar asegura que no puede y no está cambiando, o bien la MOD BIOS fallará.
- Cambie a UltraEdit, y presione el atajo de teclado Ctrl-f para buscar para D889 (es decir 89D8 valor, el valor de la localización de la memoria después de FACS, donde está un revés con octeto bajo en octeto delantero y alto detrás). Pague a atención a algunos la localización (82D4, CC91) que bajen que FFFF. Usted lo encontrará muy probablemente en algunos localización. Si usted no puede encontrar ninguÌn D889 (valor almacenado de 89D8), después usted puede utilizar directamente la dirección (89D8) situada detrás de la dirección usada para almacenar FACS (89D4). Qué tabla mala de SLIC será añadida inmediatamente detrás de FACS, con la secuencia se convierte algo como RSDT… FACSSLIC, y puede hacer así que por encontrar una localización para poner esta secuencia (mueva adelante 4 octetos o utilice la nueva localización).
- Sin embargo, si usted localizó código como el cercano siguiente la localización de CC91 en el IDA, que significan que la sección del código está utilizada a la derecha después de que “″ de la llamada sub_CCD4, y utilizan encima de la dirección de memoria de 89D8.
seg000: Proc de CC80 sub_CC80 cerca; CÓDIGO XREF: seg000: CC52p
seg000: CC80 empuje ds
seg000: Hacha de los movimientos CC81, 0F000h
seg000: CC84 movimientos ds, hacha
seg000: CC86 asumen el ds: nada
seg000: CC86 agregan IED, 10h
seg000: CC8A y di, 0FFF0h
seg000: Movimientos ds grande de CC8D: 89D8h, IED
seg000: CC95 estallido ds
seg000: CC96 asumen el ds: nada
seg000: Retn CC96
seg000: Endp de CC96 sub_CC80En este caso, uso UltraEdit de buscar para la dirección disponible siguiente del paso arriba (DC89 para 89DC). Si no se encuentra nada, esta localización de la dirección de memoria se puede utilizar para poner la tabla de SLIC. El problema con esta asignación de dirección de memoria es que hay una dirección o un espacio (89D8) del salto entre las tablas de FACS y de SLIC. Para fijar esta edición, agregue la cadena de texto de FACSSLIC en vez apenas de SLIC, pues la tabla de FACS es pequeña y no utilizará demasiada memoria.
- Después de la modificación, usted tendrá la secuencia del índice de la tabla de ACPI como RSDT… FACSSLIC o RSDT… FACSFACSSLIC. Para acomodar el primer caso de la secuencia, la secuencia entera puede ser se mueve adelante (al frente) por 4 octetos según lo mencionado anteriormente. Si no, una nueva localización tiene que ser identificada para almacenar la nueva secuencia de texto. Pero en el caso posterior donde se han agregado 8 octetos, así que nosotros necesite encontrar una nueva localización para esta secuencia más larga. En este ejemplo BIOS, hay 11 octetos vacíos (00) delante del ACPItables_address (situado en CC20). Este los octetos vacíos deben ser inusitados, por otra parte, en UltraEdit, allí no son ninguÌn código que utiliza las localizaciones del formato de dos direcciones de CC18 o de CC1C. Así pues, la nueva secuencia se puede proponer a la localización con la dirección inicial como CC18.
RSDT de mudanza encadenan adelante 8 octetos para acomodar la nueva 8 tabla de los octetos SLIC. - Ahora la dirección del ancla de la secuencia de RSDT… SLIC se ha movido, y la dirección de pedacito inicial de la secuencia tiene que ser dada a conocer al sistema. Busque en UltraEdit para “20CC” (la dirección original), usted la encontrará en la dirección CCE2 según lo descubierto de paso arriba. Cambie los 20 a los 18 para hacerle “18CC” (de la dirección revés siempre cuando indique) para indicar la nueva dirección inicial.
Después de cambiar 20 a 18 para indicar la nueva dirección de la localización. - Puesto que se ha movido la secuencia de RSDT, la localización de la tabla de FACS también se ha movido también (refiera a las figuras arriba). La dirección original de la tabla de FACS es CC30 mientras que la nueva dirección es CC28 o CC2C. Y, en el resto del código, se utiliza la dirección. La dirección de FACS tiene que ser modificada tan también.
El valor para la dirección original es dirección de ACPItables_address (CC20) + 10 que iguale a CC30. En UltraEdit, búsqueda para 30CC, que se debe encontrar aproximadamente la localización de la referencia de CD35. Cambie el 30CC a 28CC (para CC28) o a 2CCC (para CC2C).
- Después, la tabla de SLIC tiene que ser agregada a la dirección que se reserva para ella en secuencia de las tablas de RSDT en ACPI.BIN.
seg000: CD74
seg000: Proc de CD74 sub_CD74 cerca; CÓDIGO XREF: seg000: CC5Bp
seg000: CD74 empuje IED
seg000: Esi del empuje CD76
seg000: Esi de los movimientos CD78, 0F0000h
seg000: Eax de los movimientos de CD7E, [esi+89C4h]; Dirección del terraplén RSDT a la PTR de RSDT
seg000: CD86 o eax, eax
seg000: CD89 jz loc_CE32
seg000: Movimientos de CD8D [esi+89C0h], eax; PTR de RSDT
seg000: Eax de los movimientos CD95, [esi+89CCh]; Dirección del terraplén DSDT a FACP
seg000: CD9D o eax, eax
seg000: CDA0 jz loc_CE32
seg000: CDA4 movimientos IED, [esi+89C8h]; FACP
seg000: Movimientos es de CDAC: [edi+28h], eax
seg000: Eax de los movimientos CDB2, [esi+89D4h]; Dirección del terraplén FACS a FACP
seg000: CDBA o eax, eax
seg000: Jz loc_CE32 de CDBD
seg000: CDC1 movimientos IED, [esi+89C8h]; FACP
seg000: CDC9 movimientos es: [edi+24h], eax
seg000: Eax de los movimientos de CDCF, [esi+89C8h]; Dirección del terraplén FACP a RSDT+24
seg000: CDD7 o eax, eax
seg000: Jz loc_CE32 de CDDA
seg000: Movimientos IED de CDDE, [esi+89C4h]; RSDT
seg000: CDE6 movimientos es: [edi+24h], eax
seg000: PTR del octeto del CMP de CDEC [bp+1BFh], 7
seg000: loc_CDFE del cortocircuito del jnz CDF1
seg000: PTR del dword de la prueba CDF3 [bp+1C6h], 200h
seg000: Cortocircuito loc_CE2F del jz de CDFC
seg000: CDFE
seg000: loc_CDFE de CDFE: ; CÓDIGO XREF: sub_CD74+7Dj
seg000: PTR del octeto de la prueba de CDFE [bp+2EBh], 4
seg000: CE03 jz loc_CE2F
seg000: Eax de los movimientos CE07, [esi+89D0h]; Dirección del terraplén ACPI a RSDT+28
seg000: CE0F o eax, eax
seg000: Cortocircuito loc_CE2F del jz CE12
seg000: CE14 movimientos IED, [esi+89C4h]
seg000: Movimientos es de CE1C: [edi+28h], eax
seg000: CE22 movimientos IED, eax
seg000: CE25 empuje es
seg000: CE26 llamada sub_B4BB
seg000: CE29 estallido es
seg000: Cortocircuito loc_CE2F del jb de CE2A
seg000: Llamada sub_5077 de CE2CDe la tabla que empareja que empareja el ACPI tabula a la dirección de memoria respectiva hecha en paso arriba, lo utiliza para emparejar contra el código arriba. Aquí, ninguno del código que representa proceso para llenar el valor de datos de la dirección 89DC a la tabla de RSDT, así que el código siguiente necesita ser agregado:
eax de los movimientos, [esi+89DCh]; 8 octetos
movimientos IED, [esi+89C4h]; 8 octetos
movimientos es: [edi+2Ch], eax; 6 octetos, el valor de la longitud de las tablas de ACPI (SLICaddress que es 2C).La adición de éstos código no puede afectar el resto de la dirección de funciones, así que alguno el código no crítico tiene que ser suprimido para liberar para arriba un cierto espacio.
¿En el código antedicho, después de cada eax de los movimientos, [esi+???? h], ha seguido por el bloque de código como abajo:
o eax, eax; 3 octetos
jz loc_CE2F corto; 2 octetosÉstos son pedacitos de la verificación que es método de la precaución para prevenir derrumbamiento o la avería del sistema. Sin embargo, después de análisis, hay pares de pedacitos de la verificación que se puedan quitar después de la reorganización de la tabla de RSDT. Así, quite las piezas de la verificación de los datos de la tabla de RSDT que está situada como abajo:
seg000: CDD7 o eax, eax; 3 octetos
seg000: Jz loc_CE32 de CDDA; 2 octetosy
seg000: CE0F o eax, eax; 3 octetos
seg000: Cortocircuito loc_CE2F del jz CE12; 2 octetosDespués de hacer esto, solamente 10 octetos de espacio se liberan para arriba, pero la MOD requiere 22 octetos. En el código arriba, siempre que llene el código para la tabla de RSDT, ejecutará este comando:
movimientos IED, [esi+89C4h]; 8 octetos
Pero, no altera el valor del registro o de la variable cuando ejecuta dos veces el proceso para completar la tabla de RSDT. Este comando se puede ejecutar tan solamente una vez. De hecho, si el nuevo código se pone aquí, este comando para el nuevo código se puede saltar también. Con este ajuste, habrá bastante espacio en blanco vaciado. El espacio adicional se puede entonces llenar de comando en blanco (90 y nop). El código final parecerá esto:
seg000: CDCF
eax de los movimientos, [esi+89C8h]; llene la dirección de FACP a RSDT+24
movimientos IED, [esi+89C4h]; RSDT
movimientos es: [edi+24h], eax
eax de los movimientos, [esi+89DCh]
movimientos es: [edi+2Ch], eax
nop
nop
nop
nop
PTR del octeto del CMP [bp+1BFh], 7
loc_CDFE corto del jnz
pruebe PTR del dword [bp+1C6h], 200h
jz loc_CE2F corto
pruebe PTR del octeto [bp+2EBh], 4
jz loc_CE2F
eax de los movimientos, [esi+89D0h]; llene la dirección de ACPI a RSDT+28
seg000: CE22 movimientos es: [edi+28h], el eax la dirección para este comando no puede ser cambiado.La localización de la dirección del código que será suprimido e insertado tiene que ser recordada:
seg000: CDD7 o eax, eax; 3 octetos
seg000: Jz loc_CE32 de CDDA; 2 octetos
5 octetos a partir de CDD7seg000: CE0F o eax, eax; 3 octetos
seg000: Cortocircuito loc_CE2F del jz CE12; 2 octetos
seg000: CE14 movimientos IED, [esi+89C4h]
5+8 octetos que miran fijamente de CE0Fseg000: PTR del octeto del CMP de CDEC [bp+1BFh], 7
Localización original de CDEC para insertar todo el código necesario aquí - El proceso de la MOD se hace, ahora vuelve a UltraEdit para la modificación de dirección pasada del paso. Este paso se hace mejor de parte inferior hasta previene el código debajo de embarullado al substituir la partición delantera.
En primer lugar, quite 13 octetos a partir de CE0F.
Después inserte cualquier 4 octetos de datos al azar en el CDEC, después cambie el valor a 4 90 (90h=nop).
Copie el código en CDE6 a CDEB, y pegúelo para tratar a partir de CDEC para reflejar el comando usado: movimientos es: [edi+2Ch], eax
Copie el código en CDCF a CDD6, y pegúelo para tratar a partir de CDEC para reflejar el comando usado: eax de los movimientos, [esi+89DCh] - Excepto el código.
- Verifique que la modificación del código esté correcta usando el IDA para comprobar si el código modificado está correcto. Si sí, reembale el código en el archivo del BIOS.
Negación: Este artículo está para el propósito informativo y educativo solamente.
IMPORTANTE: La página es traducida por computador y con tal que “como está” sin garantía. La traducción automática puede ser difícil de entender. Refiera por favor al artículo inglés original siempre que sea posible.
Artículos relacionados
- Manera mejorada de agregar la tabla de SLIC (SLP 2.0) en BIOS ACPI para activar al OEM de Windows Vista
- Archivo del BIOS de la tabla de SLIC (SLIC.BIN o ACPISLIC.BIN) para la transferencia directa de los OEM
- Grieta de la activación del OEM de Windows Vista remendando SLIC en la placa madre BIOS
- Remiendo de la emulación del BIOS del software (softmod.iso) para emular a OEM SLIC de Dell, del HP, de Lenovo, de Sony, de Acer y de ASUS
- Agriétese para activar Windows Vista como OEM para Acer Motherboard/BIOS
- Deshaga el flash y la recuperación del BIOS de la concesión
- El BIOS con la ayuda del OEM de Windows Vista (ACPI_SLIC) invalida la activación de KMS
- La grieta de la activación del OEM de Windows Vista (vstaldr) fuera se modifica o destella BIOS
- Emulador de la grieta del OEM BIOS del cargador 2.1.2 de Vista de la transferencia directa
- Cómo cambiar o MAC address de la parodia en Windows Xp, Vista, el servidor 2003/2008, Mac OS X, Unix y linux










































15 de marzo de 2007 05:44
@narcan
Gracias por intentar. ¿Alguien fijó una versión modificada de este bíos, así que me pregunto cómo la hicieron?
15 de marzo de 2007 01:08
Hola gracias de Jimmy. Han corregido el error.
14 de marzo de 2007 23:52
el grrr, ninguna maravilla que no podría imaginarla, el paso 21 tiene un error tipográfico,
La dirección original de la tabla de FACS es 0030
su supuesto decir, CC30
¿podía el admin corregir esto?
14 de marzo de 2007 20:43
@stroths
apruébeme comprobó, usted no están intentando cargar el exe
no trabaja aquí también, extraño.
14 de marzo de 2007 20:30
@stroths
¿La pregunta tonta quizás, pero tiene extracto el .exe o usted está intentando cargar este .exe con modbin6?
14 de marzo de 2007 19:58
Actualización a mi poste anterior: Mi bíos es CONCESIÓN según las indicaciones del poste del cargador y según lo descrito en el Web site del gigabyte.
14 de marzo de 2007 19:09
¿Cualquier persona ha conseguido a concesión no comprimida del mensaje “el código binario” cuándo que abría el bíos usando ModBin6? No quiero alguien a la MOD el bíos para mí, sino quisiera una cierta ayuda que consigue más allá de este error.
Intenté conseguir una descarga del bíos así como usar una copia del Web site del gigabyte para mi 965P-DS3. Abajo está un acoplamiento al bíos si cualquier persona puede decirme cómo abrir esto con éxito en modbin6.
http://america.giga-byte.com/FileList/BIOS/motherboard_bios_ga-965p-ds3_f10.exe
14 de marzo de 2007 05:29
@Maniax
Aquí está mi problema - ambas posiciones de memoria directamente después de que la tabla de FACS se esté utilizando ya.
(El IE, 89D8 y 89DC es funcionando)
El artículo indica “en este caso, uso UltraEdit de buscar para la dirección disponible siguiente del paso arriba (DC89 para 89DC). Si no se encuentra nada, esta localización de la dirección de memoria se puede utilizar para poner la tabla de SLIC. El problema con esta asignación de dirección de memoria es que hay una dirección o un espacio (89D8) del salto entre las tablas de FACS y de SLIC.”
Qué no cubre es cuáles a hacer si los formatos de dos direcciones siguientes son también funcionando. ¿Necesitamos guardar el rellenar de la secuencia de RSDT?
Aquí está el bíos que estoy trabajando encendido.
ftp://ftp-usa.abit.com.tw/pub/download/bios/aw9d/aw9d14.zip
14 de marzo de 2007 00:00
@Limit:
Step18 es un paso apenas de la verificación/de la preparación. Usted no necesita inyectar cualquier cosa allí. Intenta cerciorarse de si usted necesita una sección simulada (FACS, FACS, SLIC) o no (FACS, SLIC). Usted sabrá buscando la dirección que usted calculaba por step16.
Ahora tengo una ROM de destello adicional 2mbit pero necesito un 4mbit uno. Necesidad de llamar a más amigos.
13 de marzo de 2007 16:50
Convengo, nosotros necesito un lugar para la discusión
Si la concesión BIOS es más conocida, podemos aplicar quizá el conocimiento a AMI BIOS (no hay secuencia sosa de RSDTFACPACPI…). Quisiera realmente ensamblar, también.
13 de marzo de 2007 15:53
¿En el paso 18, la posición de memoria para la tabla de SLIC tiene que estar después de la tabla de FACS, o podemos utilizar posición de memoria libre? Estoy intentando a la MOD un bíos del abit aw9d-max 1.4, y a los dos lcations de la memoria directamente después de que la tabla de FACS se utilice ya.
Tengo gusto de la idea de Maniax de usar un remiendo en línea, del salto a una posición de memoria inusitada - o el extremo, y después del salto de nuevo al código original.
13 de marzo de 2007 15:16
¿Quisiera realmente ensamblar la discusión del desarrollo o la ayuda con pasos más futuros de la optimización y yo todavía tenemos algunas preguntas como porqué son las tablas del `no.of no crecientes este vez y porqué tenemos que anotarla entonces? Y así sucesivamente…
Si su foro terminantemente chino él no tendría sentido sin embargo puesto que no hablo un chino de la palabra.
¿Puede usted nombrar el foro o enviarme un email con la dirección?
13 de marzo de 2007 15:04
Guau, ésta es materia realmente dura. Para los expertos solamente. Da algunas penetraciones interesantes en cortar del BIOS.
Los pasos 22/23 son realmente complicados y pueden llevar a algunos mods corruptos del BIOS. Sería agradable tener un listado completo del código final modificado. Incluso mejore si alguien podría fijar una original y un archivo con éxito modificado del BIOS que el everone puede comparar y analizar.
¡Sin embargo, otra vez buen trabajo sobre este sitio aquí!
thx
Martin
13 de marzo de 2007 14:30
Hola Maniax, sí, ha traducido de foro chino. ¿Es el hilo de rosca del foro necesario?
13 de marzo de 2007 14:08
Necesitamos un lugar discutir esto. ¿Cuál es el lugar de la fuente de esta información? ¿Es foro chino de la lengua? ¿Puede alguien bondadoso crear un hilo de rosca inglés y señalarnos allí?
En relación con la clase particular:
Su quizá más fácil al patch en línea del `el código adicional usando lejos un salto al extremo del codeblock. Debe sostener más que bastantes octetos de acolchado inusitados (FF FF…). Un salto necesita lejos apenas 5 octetos que que substituyeron octetos se puedan mover a la rutina en línea (el uso or+jnz que necesita 5 octetos, apenas fija el jnz al far del `más adelante) así que usted no suelta ninguÌn código y su mucho más fácil.
Lo probaré tan pronto como haya fijado una segunda viruta de destello para el respaldo.
13 de marzo de 2007 08:46
Esto es grande - me preguntaba cómo agregar dinámicamente las operaciones de búsqueda de SLIC. Esto comprueba hacia fuera con la investigación que había estado haciendo. Una vez que consigo una nueva viruta del bíos adentro, comenzaré a probar este método.
12 de marzo de 2007 23:39
¿Esto finalmente fija el bíos de trabajo del comando de Asus?
¿Si es así puede cualquier persona fijar el bíos del comando?
12 de marzo de 2007 22:13
¿El autor piensa otra vez que todos tenemos bíos de la CONCESIÓN?
¿Qué a utilizar para trabajar con el AMI o para mejorar con todo Phoenix BIOS?
El modbin no trabaja en archivos retitulados de *.rom que usted sabe….
12 de marzo de 2007 22:11
¿Hace este trabajo sobre un bíos de Pheonix??
12 de marzo de 2007 21:17
¡sí!
Método de Inproved: Dirección (estática) fija del RAM de la tabla (esté hacia fuera una gama si un espolón más bajo de u y fuera del fósforo si RAM del aumento de u)
Dinámico: La dirección se adapta al tamaño del RAM (ajustes siempre) = MOD perfecta
Para mí apenas quiero a la información del extact que necesito hacer acertado en AMI BIOS….
12 de marzo de 2007 20:51
guau, éste parece un desafío a mí lol
¿esto significa tan que mientras no cambie mi espolón en mi tablero puedo guardar el usar del método mejorado???
im no sure im que entiende la diferencia de esto y del método mejorado
12 de marzo de 2007 19:20
Gracias
12 de marzo de 2007 18:40
Thanx. ¡Esto es grande!
12 de marzo de 2007 17:50
Gran guía.
¿Me pregunto si Niko comienza a usar este método???
12 de marzo de 2007 17:31
@ Admin
Gracias, por un recurso más educativo de la fijación una.
Esto puede ayudar.
Cumps.