Windows Vista OEM Award BIOS Mod Method by Adding SLIC Table with Dynamic Memory Address Windows Vista OEM Award BIOS Mod método, acrescentando SLIC tabela com memória dinâmica endereço
Windows Vista OEM activation crack method requires a SLP 2.0 (System Locked Preinstallation 2.0) compliant BIOS motherboard. Windows Vista OEM ativação crack método requer um SLP 2.0 (Sistema fechado Preinstallation 2.0) compliant motherboard BIOS. New branded OEM computer comes with one, or offers not-so-old motherboard a BIOS free upgrade to the one that supports SLP 2.0 with SLIC table and signed Windows Market (OEM ID and Table ID). Nova marca OEM vem com um computador, ou ofertas não tão velho motherboard uma atualização gratuita para o BIOS que suporte um SLP 2,0 SLIC mesa e assinou com o Windows Mercado (OEM ID e Quadro ID). If you are using older computer or DIY motherboard, you’re not out of luck though. Se você estiver usando o computador mais antigo ou DIY motherboard, você não está fora de sorte embora. Chinese hackers have managed to mod the BIOS to Chinês hackers tenham conseguido mod para o BIOS replace substituirá or ou add in the SLIC adicionar no SLIC (Software Licensing Internal Code) table into the ACPI table. (Software Licenciamento Código Interno) ACPI a mesa em mesa. However, the replacement of existing ACPI table may cause loss of certain features, while addition of SLIC table may No entanto, a substituição do actual quadro ACPI pode causar perda de algumas funções, enquanto adição de maio SLIC tabela incompatible on computer with different size of memory incompatível com computadores com diferentes tamanhos de memória , as BIOS is , Como é BIOS hard patched with the SLIC’s table physical memory address duros com os patches SLIC mesa do endereço físico de memória which restrict the mod BIOS to the machine it’s been modified only. que restrinjam a BIOS mod para a máquina é apenas sido modificado.
So, the method to mod BIOS for Assim, o método para a BIOS mod Windows Vista Windows Vista OEM support with previously used static SLIC memory address is problematic as the memory address will be changed when the memory size changed, and users need to modify the SLIC address in OEM com apoio utilizados anteriormente SLIC memória estática endereço é problemático como o endereço de memória será alterado quando o tamanho da memória mudou, e os usuários necessitam de modificar o endereço no SLIC ACPITBL.BIN or else they won’t be able to boot into the system, disallowing mass circulation of the mod OEM BIOS. ou então eles não serão capazes de arrancar no sistema, impedindo a circulação da massa mod OEM BIOS. Thus the Chinese hackers refine the technique to allows dynamic physical memory address allocation of SLIC table is been used. Assim, o chinês hackers refinar a técnica permite a alocação dinâmica de memória física endereço é SLIC tabela foi utilizado. With dynamic memory allocation, physical memory size can be changed without any consent of BIOS non-compliant. Com alocação dinâmica de memória, memória física tamanho pode ser alterado sem consentimento de BIOS não conformes. Beside, previous method of adding SLIC table may require users to flash BIOS into ROM 2 times, first with the mod BIOS and later with the original BIOS, while the BIOS with this refined method with dynamic memory address register requires only one flash at most. Ao lado, método anterior de adição de maio SLIC tabela exigir que os usuários flash ROM BIOS em 2 vezes, primeiro com a BIOS mod e mais tarde com o BIOS original, enquanto que o BIOS com este método refinado com memória dinâmica exige apenas um endereço registo flash no máximo.
Tools and utilities required: Ferramentas e utilitários necessários:
- MODBIN6
- CBROM219
- WinHEX
- Hiew 7.4 (Hiew32) Hiew 7.4 (Hiew32) (only for Award BIOS, if you have Hiew32 you no longer require IDA 5.0) (apenas para Award BIOS, se você tem Hiew32 você já não exigem IDA 5.0)
- IDA 5.0 IDA 5,0
- UltraEdit
The instruction to create a mod Vista OEM BIOS with dynamic memory address allocation capability is complicated, and recommended for expert only. As instruções para criar um mod Vista OEM BIOS com capacidade de alocação dinâmica de memória endereço é complicado, e recomendado apenas para especialistas. Beside, this article is translated from documents in Chinese, so the accuracy of the translation is not guaranteed. Ao lado, este artigo é traduzido em chinês a partir de documentos, de modo a exatidão da tradução não está garantida. If you really want to make your BIOS to be able to activate OEM version of Windows Vista, try the Se você realmente deseja fazer sua BIOS para poder ativar OEM versão do Windows Vista, tente o ready-mod BIOS (with static address) pronto-mod BIOS (com endereço estático) , software based , Software baseado Vista Loader OEM BIOS emulator Vista Carregador OEM BIOS emulador , or software based , Ou software baseado OEM BIOS Emulation Toolkit OEM BIOS emulação Toolkit . Other popular Vista crack include Outros populares incluem Vista crack TimerLock which automatically apply que se aplica automaticamente TimerStop driver. condutor. This tutorial is proof of concept only, as each BIOS is different, and hence the values or steps or things modified may be different. Este tutorial é a prova de conceito único, uma vez que cada BIOS é diferente, e, consequentemente, os valores ou medidas podem ser modificados ou coisas diferentes.
Warning : Alteration to BIOS may invalidate warranty, cause computer to unable to boot up or other irrecoverable effect. Aviso: Alteration BIOS pode invalidar a garantia, incapaz de causar computador para arrancar incobráveis ou outros efeitos. Do it at your own risk. Fazê-lo a seu próprio risco.
If you need help on mod BIOS for Vista activation, check out Se você precisar de ajuda na BIOS mod para a ativação Vista, confira this thread este tópico .
- Create a temporary folder (Vista or BIOS is you like) at root directory (C:\). Criar uma pasta temporária (Vista ou se você gosta BIOS) em diretório raiz (C: \).
- Download CBROM 2.19 (depending on where you download, it may need to rename the executable to cbrom.exe as illustrated in this article), MODBIN6 2.01.01, SLIC.BIN (named acpislic.bin which can be varied, which is the SLIC table portion of BIOS) from download links above, and place them in the temporary folder. Download CBROM 2.19 (dependendo de onde você download, que podem ter necessidade de mudar o nome do executável para cbrom.exe como ilustrado no presente artigo), MODBIN6 2.01.01, SLIC.BIN (chamado acpislic.bin que podem ser variadas, que é o SLIC quadro porção de BIOS) de download links acima, e colocá-las na pasta temporária.
- Extract, export or save the XXXXXXXX.BIN (name can be changed, which is the motherboard BIOS that you want to hack for Windows Vista OEM activation). Extrato de exportação ou de salvar a XXXXXXXX.BIN (nome pode ser mudado, que é a placa mãe BIOS que você deseja cortar para o Windows Vista OEM activação). Easier way is to simply download the BIOS firmware from the computer or motherboard’s manufacturers such as ASUS, Gigabyte, MSI, Acer, HP, Dell, Lenovo and etc. Jeito mais fácil é o de simplesmente fazer o download do BIOS firmware a partir do computador ou da placa mãe fabricantes como ASUS, Gigabyte, MSI, Acer, HP, Dell, Lenovo e etc
- Determine which BIOS portion of file is the field of RSDT…FACS located: Determinar qual BIOS porção do arquivo é o campo de RSDT… FACS localizado:
- In Em elevated command prompt elevação prompt (or (ou disable UAC desativar UAC ), type the following command: ), Digite o seguinte comando:
CBROM.EXE XXXXXX.BIN /d CBROM.EXE XXXXXX.BIN / d
You will see something like below screencap: Você verá algo como screencap abaixo:
CBROM V2.19 (C)Award Software 2001 All Rights Reserved. CBROM V2.19 (C) Software Award 2001 Todos os Direitos Reservados.
******** XXXXXXXX.BIN BIOS component ******** ******** XXXXXXXX.BIN BIOS componente ********
No. Item-Name Original-Size Compressed-Size Original-File-Name Não. O ponto-Nome original-Tamanho Comprimido-Tamanho original-Arquivo-Nome
===================================================== ================================================== ===
0. System BIOS 20000h(128.00K) 13B3Eh(78.81K) 83IID318.BIN Sistema BIOS 20000h (128.00K) 13B3Eh (78.81K) 83IID318.BIN
1. XGROUP CODE 0DFF0h(55.98K) 0993Ch(38.31K) awardext.rom XGROUP CÓDIGO 0DFF0h (55.98K) 0993Ch (38.31K) awardext.rom
2. ACPI table 043E5h(16.97K) 01A46h(6.57K) ACPITBL.BIN ACPI tabela 043E5h (16.97K) 01A46h (6.57K) ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K) 002AAh(0.67K) AwardBmp.bmp LOGO APE 0168Ch (5.64K) 002AAh (0.67K) AwardBmp.bmp
4. YGROUP ROM 0F570h(61.36K) 0482Dh(18.04K) awardeyt.rom YGROUP ROM 0F570h (61.36K) 0482Dh (18.04K) awardeyt.rom
5. GROUP ROM[ 0] 04CD0h(19.20K) 02261h(8.59K) _EN_CODE.BIN GRUPO ROM [0] 04CD0h (19.20K) 02261h (8.59K) _EN_CODE.BIN
6. Other(404E:0000) 03476h(13.12K) 00EB4h(3.68K) 64N8IIP.BMP Outros (404E: 0000) 03476h (13.12K) 00EB4h (3.68K) 64N8IIP.BMP
7. Other(404F:0000) 0345Dh(13.09K) 008B9h(2.18K) 64N8P4P.BMP Outros (404F: 0000) 0345Dh (13.09K) 008B9h (2.18K) 64N8P4P.BMP
8. Other(4050:0000) 0345Dh(13.09K) 008CCh(2.20K) 64N8P4HT.BMP Outros (4050:0000) 0345Dh (13.09K) 008CCh (2.20K) 64N8P4HT.BMP
9. Other(4051:0000) 04286h(16.63K) 00A7Eh(2.62K) 64N8P4E.BMP Outros (4051:0000) 04286h (16.63K) 00A7Eh (2.62K) 64N8P4E.BMP
10. Other(4052:0000) 04286h(16.63K) 00B58h(2.84K) 64N8P4HE.BMP Outros (4052:0000) 04286h (16.63K) 00B58h (2.84K) 64N8P4HE.BMP
11. Other(4053:0000) 0345Dh(13.09K)007D9h(1.96K) 64N8ICPD.BMP Outros (4053:0000) 0345Dh (13.09K) 007D9h (1.96K) 64N8ICPD.BMP
12. PCI ROM[A] 0D000h(52.00K)07DA8h(31.41K) RTM8100.LOM PCI ROM [A] 0D000h (52.00K) 07DA8h (31.41K) RTM8100.LOMTotal compress code space = 4B000h(300.00K) Total comprimir código espaço 4B000h = (300.00K)
Total compressed code size = 31788h(197.88K) Total comprimido código size = 31788h (197.88K)
Remain compress code space = 19878h(102.12K) Permanecem comprimir código espaço 19878h = (102.12K)** Micro Code Information ** ** Micro Código Informações **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID Atualização ID CPUID | atualizar ID CPUID | atualizar ID CPUID | atualizar ID CPUID
——————+——————–+——————–+—————— ------+-------+-------+------
PGA478 2E 0F29| PGA478 2E 0F29 | - In above case, inside XXXXXXX.BIN, there is no ggroup.bin (where “RSDTFACPDSDTAPICHPETMCFGFACS” or similar ACPI tables index field is located), so RSDT…FACS field is located inside the system BIOS byte code中, and to modify this need to use MODBIN6. No caso acima, no interior XXXXXXX.BIN, não há ggroup.bin (onde "RSDTFACPDSDTAPICHPETMCFGFACS" ou similar ACPI mesas Índice campo está localizado), de forma RSDT… FACS campo está localizado no interior do sistema BIOS byte中código, e para modificar essa necessidade a utilização MODBIN6. If your BIOS contains ggroup.bin, you can use CBROM to extract and seperate ggroup.bin BIOS part as file. Se a sua BIOS contém ggroup.bin, você pode usar CBROM para extrair e separar ggroup.bin BIOS parte como arquivo.
Below is the sample CBROM output of “CBROM.EXE XXXXXX.BIN /d” command for BIOS with ggruoup.bin (Gigabyte GA-G1975X BIOS as example): Abaixo está a amostra CBROM saída do "CBROM.EXE XXXXXX.BIN / d" comando para a BIOS com ggruoup.bin (Gigabyte GA-G1975X BIOS como exemplo):
No. Item-Name Original-Size Compressed-Size Original-Fi Não. O ponto-Nome original-Tamanho Comprimido-Tamanho original-Fi
================================================
0. System BIOS 20000h(128.00K)1492Ah(82.29K)G1975X.BIN Sistema BIOS 20000h (128.00K) 1492Ah (82.29K) G1975X.BIN
1. XGROUP CODE 0F7B0h(61.92K)0A8E6h(42.22K)awardext.rom XGROUP CÓDIGO 0F7B0h (61.92K) 0A8E6h (42.22K) awardext.rom
2. EPA LOGO 0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp LOGO APE 0168Ch (5.64K) 0030Dh (0.76K) AwardBmp.bmp
3. GROUP ROM[18] 00EF0h(3.73K)00B77h(2.87K)ggroup.bin GRUPO ROM [18] 00EF0h (3.73K) 00B77h (2.87K) ggroup.bin
4. YGROUP ROM 07140h(28.31K)04D7Ch(19.37K)awardeyt.rom YGROUP ROM 07140h (28.31K) 04D7Ch (19.37K) awardeyt.rom
5. FNT1 ROM 02D28h(11.29K)02038h(8.05K)font1.awd FNT1 ROM 02D28h (11.29K) 02038h (8.05K) font1.awd
6. FNT2 ROM 03278h(12.62K)01F18h(7.77K)font2.awd FNT2 ROM 03278h (12.62K) 01F18h (7.77K) font2.awd
7. FNT3 ROM 025FCh(9.50K)017FBh(6.00K)font3.awd FNT3 ROM 025FCh (9.50K) 017FBh (6.00K) font3.awd
8. GROUP ROM[ 0] 06010h(24.02K)02787h(9.88K)_EN_CODE.BIN GRUPO ROM [0] 06010h (24.02K) 02787h (9.88K) _EN_CODE.BIN
9. GROUP ROM[ 1] 06510h(25.27K)02A1Fh(10.53K)_FR_CODE.BIN GRUPO ROM [1] 06510h (25.27K) 02A1Fh (10.53K) _FR_CODE.BIN
10. GROUP ROM[ 3] 06420h(25.03K)02A75h(10.61K)_GR_CODE.BIN GRUPO ROM [3] 06420h (25.03K) 02A75h (10.61K) _GR_CODE.BIN
11. GROUP ROM[ 4] 068D0h(26.20K)02A74h(10.61K)_SP_CODE.BIN GRUPO ROM [4] 068D0h (26.20K) 02A74h (10.61K) _SP_CODE.BIN
12. GROUP ROM[ 8] 04EF0h(19.73K)02575h(9.36K)_B5_CODE.BIN GRUPO ROM [8] 04EF0h (19.73K) 02575h (9.36K) _B5_CODE.BIN
13. GROUP ROM[10] 04F60h(19.84K)025E9h(9.48K)_GB_CODE.BIN GRUPO ROM [10] 04F60h (19.84K) 025E9h (9.48K) _GB_CODE.BIN
14. GROUP ROM[11] 05E50h(23.58K)02A85h(10.63K)_JP_CODE.BIN GRUPO ROM [11] 05E50h (23.58K) 02A85h (10.63K) _JP_CODE.BIN
15. PCI ROM[A] 0F200h(60.50K)09594h(37.39K)ICH7RAID.BIN PCI ROM [A] 0F200h (60.50K) 09594h (37.39K) ICH7RAID.BIN
16. PCI ROM[B] 10000h(64.00K)09A15h(38.52K)b169d.pxe PCI ROM [B] 10000h (64.00K) 09A15h (38.52K) b169d.pxe
17. LOGO1 ROM 00B64h(2.85K)00520h(1.28K)dbios.bmp LOGO1 ROM 00B64h (2.85K) 00520h (1.28K) dbios.bmp
18. PCI ROM[C] 04000h(16.00K)02287h(8.63K)ITE8212.ROM PCI ROM [C] 04000h (16.00K) 02287h (8.63K) ITE8212.ROM
19. Other(4067:0000) 01AADh(6.67K)00B75h(2.86K)PPMINIT.ROM Outros (4067:0000) 01AADh (6.67K) 00B75h (2.86K) PPMINIT.ROM
20. OEM0 CODE 025B3h(9.42K)01B37h(6.80K)dbf.bin OEM0 CÓDIGO 025B3h (9.42K) 01B37h (6.80K) dbf.bin
21. GROUP ROM[24] 00132h(0.30K)0011Eh(0.28K)SPECIAL.FNT GRUPO ROM [24] 00132h (0.30K) 0011Eh (0.28K) SPECIAL.FNT
22. ACPI table 09640h(37.56K)0352Ch(13.29K)ASUSACPI.BIN ACPI tabela 09640h (37.56K) 0352Ch (13.29K) ASUSACPI.BINTotal compress code space = 67000h(412.00K) Total comprimir código espaço = 67000h (412.00K)
Total compressed code size = 57613h(349.52K) Total comprimido código size = 57613h (349.52K)
Remain compress code space = 0F9EDh(62.48K) Permanecem comprimir código espaço 0F9EDh = (62.48K)** Micro Code Information ** ** Micro Código Informações **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Upd Atualização ID CPUID | atualizar ID CPUID | atualizar ID CPUID | UPD
——————+——————–+——————–+—– ------+-------+-------+--
SLOT1 0A 0F32| PGA423 2C 0F25| 00000000 00000000 0000 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| 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 0000 | - For BIOS with ggroup.bin, extract the ggroup.bin with the following command: Para a BIOS com ggroup.bin, extrair o ggroup.bin com o seguinte comando:
CBROM.EXE G1975X.bin /group18 extract CBROM.EXE G1975X.bin / group18 extrair
You should see the following output as below screenshot: Você deverá ver os seguintes resultados como screenshot abaixo:
CBROM V2.19 (C)Award Software 2001 All Rights Reserved. CBROM V2.19 (C) Software Award 2001 Todos os Direitos Reservados.
Enter an extract file Name :(ggroup.bin) Digite um extracto Nome do arquivo: (ggroup.bin)
[GROUP] ROM is extracted to ggroup.bin [GRUPO] ROM é extraída a ggroup.bin - Separate, save and extract the ACPITBL.BIN by using the following command: Separe, guardar e extrair o ACPITBL.BIN, utilizando o seguinte comando:
CBROM.EXE 050318.BIN /acpi extract CBROM.EXE 050318.BIN / ACPI extrair
You should see the following output from CBROM: Você deverá ver a seguinte saída de CBROM:
CBROM V2.19 (C)Award Software 2001 All Rights Reserved. CBROM V2.19 (C) Software Award 2001 Todos os Direitos Reservados.
Enter an extract file Name :(ACPITBL.BIN) Digite um extracto Nome do arquivo: (ACPITBL.BIN)
[ACPI] ROM is extracted to ACPITBL.BIN [ACPI] ROM é extraída a ACPITBL.BIN - For BIOS without ggroup.bin (those with ggroup.bin can skip this step), launch MODBIN6, select XXXXXXXX.BIN (Must be named in .BIN extension, if not rename it. It’s the BIOS to modify to add in the SLIC table so that it’s SLP 2.0 compliant.). Para a BIOS sem ggroup.bin (aqueles com ggroup.bin pode pular este passo), lançamento MODBIN6, selecione XXXXXXXX.BIN (Deve ser nomeado na. BIN prorrogação, se não renomeie-o. It's a BIOS para modificar a acrescentar, no SLIC mesa a fim de que ele é SLP 2,0 conformes.). Do not close the window of MODBIN6, and wait for the ORIGINAL.BIN to be extracted and created in the temporary folder. Não feche a janela de MODBIN6, e aguardar a ORIGINAL.BIN a ser extraído e criados na pasta temporária.
- In Em elevated command prompt elevação prompt (or (ou disable UAC desativar UAC ), type the following command: ), Digite o seguinte comando:
- Follow the below instructions to modify ACPITBL.BIN: Siga as instruções para modificar ACPITBL.BIN abaixo:
- Run UltraEdit and open ACPITBL.BIN BIOS image file. Executar UltraEdit e aberto ACPITBL.BIN BIOS arquivo de imagem.
- Search text for RSDT. Procurar texto para RSDT.
- Behind RSDT is the byte that indicates the length of RSDT table. Atrás RSDT é o byte que indica o comprimento RSDT da tabela. Add 4 to this number in HEX format. Adicione 4 para este número em formato HEX. For example, if the value indicated is 002C, modify and edit the value to become 0030. Por exemplo, se o valor indicado é 002C, modificar e editar o valor de se tornarem 0030. Note that the reverse sequence of pairs when keying in UltraEdit Hex editor (ie enter as 30 00 instead of 00 30). Note que o inverso seqüência de pares, quando no keying UltraEdit Hex Editor (ou seja, entra as 30 00 em vez de 00 30).
- Insert (not replace) additional 4 bytes of 00 value after the original length (002C) of RSDT table (normally in front of FACPt, or FXCPt for certain Gigabytes mobo). Inserir (não substituir) 4 adicional de 00 bytes valor após o tamanho original (002C) RSDT de mesa (normalmente na frente de FACPt, ou FXCPt para certos mobo Gigabytes). You can copy and paste the 4 bytes of 00 from other location to this location. Você pode copiar e colar o 4 bytes de 00 de outra localização para este local. This modification and alteration is to provide space to store the SLIC table in future steps, so remember this address (for this guide, assume this location is SLICaddress ). Esta modificação e alteração é o de proporcionar espaço para armazenar a tabela SLIC, no futuro etapas, de modo lembrar este endereço (para este guia, assumir esta localização é SLICaddress). In this example, SLICaddress value is 002C. Neste exemplo, SLICaddress valor é 002C.
Before modification of ACPITBL.BIN in UltraEdit Antes da modificação de ACPITBL.BIN no UltraEdit
After modification of ACPITBL.BIN in UltraEdit to allocate space for SLIC table. Após a modificação de ACPITBL.BIN no UltraEdit de atribuir espaço para SLIC tabela. - Check the total length of ACPITBL.BIN if the length can be divided in full by 4. Verifique o comprimento total do ACPITBL.BIN se o comprimento pode ser dividido em 4 por completo. If not, add 1 to 3 bytes of 00 at the end of the BIOS image file so that the length can be divided by 4 without any remainder. Se assim não for, adicionar 1 a 3 de 00 bytes, no final do BIOS arquivo imagem de modo a que o comprimento pode ser dividido em 4 sem qualquer remanescente. This is to ensure that after merging with SLIC.BIN image file, the header address of SLIC table can be divided by 4 without remainder too. Isto é para garantir que, após a fusão com SLIC.BIN arquivo imagem, o endereço do cabeçalho SLIC tabela pode ser dividido em 4 sem restante também.
Check if the length of ACPITBL.BIN (the last address of the file + 1) can be divided by 4 without remainder. Verifique se o comprimento de ACPITBL.BIN (o último endereço do arquivo + 1) pode ser dividido em 4 sem restante. In this example, before this step modification, the last byte has HEX address of 43E8, so the length of the file is 43E9, cannot be divided by 4 in full without remainder. Neste exemplo, antes de esta etapa modificação, o último endereço de byte tem HEX 43E8, de modo que o comprimento do arquivo é 43E9, não pode ser dividido em 4, na íntegra, sem restante.
After 4 division check modification, added 3 00 value bytes. Após 4 divisão verificar modificação, valor acrescentado 3 00 bytes. - Modify OEM_ID and OEM_Table_ID according to your requirements (normally _ASUS_ and Notebook). Modificar OEM_ID e OEM_Table_ID, de acordo com suas necessidades (normalmente _ASUS_ e Notebook). Refer to Referem-se a improved add SLIC table instruction melhorou acrescentar SLIC tabela instrução at step 8 of part 2 for more information. a etapa 8 da parte 2 para obter mais informações.
- Save the file. Salve o arquivo.
- Execute the following command to merge and patch the SLIC table content with the modified ACPITBL.BIN to get the final working copy of ACPITBL.BIN: Execute o seguinte comando para fundir o patch e SLIC tabela com o conteúdo modificado ACPITBL.BIN para obter a cópia do trabalho final ACPITBL.BIN:
COPY ACPITBL.BIN /B + SLIC.BIN /B ACPI.BIN /B CÓPIA ACPITBL.BIN / B + SLIC.BIN / B ACPI.BIN / B
Note: According to your requirement, use the correct ACPI.BIN, ie ASUS for ASUS OEM ID, Lenovo for Lenovo OEM ID and etc. Nota: De acordo com a sua exigência, o uso correto ACPI.BIN, ou seja, para ASUS ASUS OEM ID, para a Lenovo Lenovo OEM ID e etc
- Follow the below steps to find the position of the space that temporarily store the value of the address of headers of every tables in the code of ORIGINAL.BIN or ggroup.bin. Siga os passos a seguir para localizar a posição de que o espaço armazenar temporariamente o valor do endereço de todos os cabeçalhos dos quadros do código de ORIGINAL.BIN ou ggroup.bin. This address will be assumed as TempBuffer_Address : Este endereço será assumida como TempBuffer_Address:
- Run Ultract to open ORIGINAL.BIN or ggroup.bin. Executar Ultract para abrir ORIGINAL.BIN ou ggroup.bin.
- Execute IDA. Executa IDA.
- Click on Go to enter IDA. Clique em Ir para entrar IDA. Then select and open ORIGINAL.BIN file. Em seguida, seleccionar e abrir ORIGINAL.BIN arquivo.
- In the “Load a new file” dialog box, under the section of “Processor type”, pull down the menu and select “Intel 80×86 processors:80686p”. Na "Carregar um novo arquivo" caixa de diálogo, sob a seção de "Processor type", exibir o menu e selecione "× 86 processadores Intel 80: 80686p".
- After selected, hit the “Set” button to the right. Depois de selecionado, o hit "Set" para a direita.
- Click on “OK” button, and then hit on “Yes” button when asked to confirm “Do you want to change the processor type to 80686p?” Clique no botão "OK" e, em seguida, bater em botão "Sim" quando solicitado a confirmar "Você quer mudar o tipo de processador 80686p?"
- In dialog box asked to confirm “Do you want to disassemble it as a 32-bit code?”, press on “No” button as manipulation will be done in 16-bit mode. Na caixa de diálogo pedindo para confirmar "Você quer desmontá-lo como um código de 32 bits?", Carregue em "Não" botão manipulação como será feito em modo de 16 bits.
- In the Strings Window to the right, find and locate the RSDT…FACS character string sequence, and double click on it. No Strings janela para a direita, encontrar e localizar o RSDT… FACS caracteres seqüência, e dê um duplo clique sobre ele.
- Position the cursor at the location of the R character. Posicione o cursor no local da R personagem. Then press “A” key, and then RSDT…FACS character string will be displayed. Em seguida, pressione "A" chave e, em seguida, RSDT… FACS personagem string será exibida. This text sequence of RSDT…FACS will be called ACPItables . Este texto seqüência de RSDT… FACS será chamado ACPItables.
Positioning cursor at the line of R. Posiciona o cursor na linha de R.
After pressing A key. Após pressionar uma tecla. - Position the cursor after the RSDT…FACS string ACPItables (db 1EH). Posicione o cursor após a RSDT… FACS string ACPItables (db 1EH).
Press the “C” key. Pressione o "C"-chave. A block of Assembly code will be displayed. Um bloco de código Assembléia será exibida.
- But there is remaining code that hasn’t been disassembled into Assembly code. Mas há um código que ainda não foi desmontada em Assembléia código. So position the cursor at the first remained assembled code. Por isso, posicionar o cursor na primeira permaneceu montado código. In this case, it’s line of unk_CC49 after the RSDT…FACS string ACPItables provided by db 1Eh. Neste caso, está na linha de unk_CC49 após a RSDT… FACS string ACPItables fornecidas por db 1Eh. Then press the “C” key to convert and disassemble the remaining BIOS byte code. Depois pressione o "C" a chave para converter e desmontar os restantes BIOS byte código.
- Move the cursor across the lines of the following “CALL” block. Mova o cursor em toda a seguir as linhas de "call" bloco.
- Watch out for the “CALL” line that can pop up code like below: Tenha cuidado com a "chamada" linha que podem aparecer como o código abaixo:
push eax push eax
push cx push CX
push ebp push ebp
xor ebp, ebp XOR EBP, EBP
mov cx, TABLE_Numbers (temporarily use TABLE _Numbers to represent a value) mov CX, TABLE_Numbers (temporariamente uso TABELA _Numbers para representar um valor)
mov edi, eax mov EDI, EAXIn this example, it’s the line of “call sub_CCD4″. Neste exemplo, é a linha de "call sub_CCD4".
- Double click on sub_CCD4 to go to the code section of sub_CCD4. Dê um clique duplo sobre sub_CCD4 para ir para a secção de código sub_CCD4. If the current display mode is in graphic, right click and select “TEXT View” on the context menu to switch to text mode. Se o actual modo de apresentação é na gráfica, botão direito e selecione "Exibir TEXTO" sobre o menu de contexto para mudar para o modo texto.
- Inside this block of code, retrieve the 3 important variables - TABLE_Numbers,ACPItables_adress,TempBuffer_Adress,and record their value. Dentro deste bloco de código, recuperar os 3 variáveis importantes - TABLE_Numbers, ACPItables_adress, TempBuffer_Adress, e gravar seu valor. In this example, the value of the variables are 4, CC20, 89C4 respectively, where addresses are approximately located at CCDC,CCE2, CD12 respectively. Neste exemplo, o valor das variáveis são 4, CC20, 89C4, respectivamente, os endereços onde estão localizados a cerca CCDC, CCE2, CD12, respectivamente.
- Use the value of TempBuffer_Adress (89C4 from step above) to match with each table in RSDT…FACS text string, with increment of 4 after each table (matching table). Use o valor de TempBuffer_Adress (89C4 a partir da etapa anterior) para combinar com cada tabela no texto RSDT… FACS corda, com incremento de 4 após cada tabela (tabela de correspondência). For example: Por exemplo:
89C4 RSDT 89C4 RSDT
89C8 FACP 89C8 FACP
89CC DSDT 89CC DSDT
89D0 APIC 89D0 APIC
89D4 FACS 89D4 FACS
89D8
89DCThe previous block of code duplicates the required tables in ACPITBL BIOS image according to RSDT…FACS string into a free memory address, and store these value of addresses in space specified by TempBuffer_Address, and then eventually fill these addresses into some specific tables. O bloco de código anterior duplica o exigido nos quadros ACPITBL BIOS imagem de acordo com a RSDT… FACS string em um endereço de memória livre, e armazenar esses endereços no espaço do valor especificado pelo TempBuffer_Address e, em seguida, eventualmente, ocupar esses endereços em algumas tabelas específicas. So during this process, the storing address value of TempBuffer_Address has to be ensure that cannot and is not changing, or else mod BIOS will fail. Portanto, durante este processo, o valor de armazenamento de endereço TempBuffer_Address tem de ser garantir que não pode e não está mudando, ou então, mod BIOS irá falhar.
- Switch to UltraEdit, and press Ctrl-F keyboard shortcut to search for D889 (ie 89D8 value, the value of the memory space location after FACS, where it’sa reverse with low byte in front and high byte behind). Mudar para UltraEdit, e pressione Ctrl-F atalho de teclado para pesquisar D889 (ie 89D8 valor, o valor do espaço de memória local após FACS, onde é um verso com baixa byte na frente e por trás alto byte). Pay attention to a few location (82D4, CC91) that lower than FFFF. Preste atenção a alguns local (82D4, CC91) que mais baixo do que FFFF. Most likely you will find it at a few location. Muito provavelmente você vai encontrá-lo em alguns local. If you cannot find any D889 (stored value of 89D8), then you can use directly the address (89D8) located behind the address used to store FACS (89D4). Se você não encontrar nenhuma D889 (armazenada valor de 89D8), então você pode usar diretamente o endereço (89D8) localizado por trás do endereço usado para armazenar FACS (89D4). Which mean SLIC table will be appended immediately behind FACS, with string become something like RSDT…FACSSLIC, and can do so by find a location to put this string (move forward 4 bytes or use new location). O que significa SLIC quadro será anexado imediatamente atrás FACS, a corda se tornar algo como RSDT… FACSSLIC, e pode fazê-lo até encontrar um local para colocar essa string (4 bytes avançar ou utilização novo local).
- However, if you located code like the following near the location of CC91 in IDA, which mean the section of code is used right after “call sub_CCD4″, and use up the memory address of 89D8. No entanto, se você gostar do seguinte código localizado próximo ao local de CC91 em IDA, o que significa a seção de código é utilizado logo após o "apelo sub_CCD4", e até utilizar o endereço de memória 89D8.
seg000:CC80 sub_CC80 proc near ; CODE XREF: seg000:CC52p seg000: CC80 sub_CC80 proc próximo; CODE XREF: seg000: CC52p
seg000:CC80 push ds seg000: CC80 push DS
seg000:CC81 mov ax, 0F000h seg000: CC81 mov ax, 0F000h
seg000:CC84 mov ds, ax seg000: CC84 mov ds, ax
seg000:CC86 assume ds:nothing seg000: CC86 assumir ds: nada
seg000:CC86 add edi, 10h seg000: CC86 acrescentar EDI, 10h
seg000:CC8A and di, 0FFF0h seg000: CC8A e di, 0FFF0h
seg000:CC8D mov large ds:89D8h, edi seg000: CC8D grande mov ds: 89D8h, edi
seg000:CC95 pop ds seg000: CC95 pop ds
seg000:CC96 assume ds:nothing seg000: CC96 assumir ds: nada
seg000:CC96 retn seg000: CC96 retn
seg000:CC96 sub_CC80 endp seg000: CC96 sub_CC80 endpIn this case, use UltraEdit to search for next available address from step above (DC89 for 89DC). Neste caso, utilize UltraEdit a pesquisa para o próximo endereço disponível a partir da etapa anterior (DC89 para 89DC). If nothing is found, this memory address location can be used to put SLIC table. Se nada for encontrado, este endereço de memória local pode ser usado para colocar SLIC tabela. The problem with this memory address allocation is that there is a skip address or space (89D8) between FACS and SLIC tables. O problema com esta atribuição de endereços de memória é que existe um endereço ou pular espaço (89D8) entre FACS SLIC e tabelas. To fix this issue, add the text string of FACSSLIC instead of just SLIC, as FACS table is small and won’t use too much memory. Para corrigir esse problema, adicione o texto de FACSSLIC string em vez de apenas SLIC, como FACS tabela é pequena e não vai usar muita memória.
- After modification, you will have the ACPI table index string as either RSDT…FACSSLIC or RSDT…FACSFACSSLIC. Após a modificação, você terá a ACPI tabela índice string como quer RSDT… FACSSLIC ou RSDT… FACSFACSSLIC. To accomodate the first instance of string, the whole string can be move forward (to the front) by 4 bytes as mentioned above. Para acomodar a primeira instância da corda, toda a seqüência pode ser avançar (à frente) por 4 bytes como mencionado acima. Otherwise, a new location has to be identified to store the new text string. Caso contrário, um novo local tem que ser identificado para armazenar o novo texto string. But in the later case where 8 bytes have been added, so we need to find a new location for this longer string. Mas, no caso em que mais tarde foram adicionados 8 bytes, então temos de encontrar um novo local para este longo string. In this example BIOS, there is 11 empty bytes (00) in front of the ACPItables_address (located at CC20). Neste exemplo BIOS, há 11 bytes vazio (00) em frente à ACPItables_address (localizada na CC20). This empty bytes should be unused, beside, in UltraEdit, there is no code that uses the CC18 or CC1C two address locations. Este vazio bytes deverão ser inutilizados, ao lado, no UltraEdit, não existe um código que utiliza o CC18 ou CC1C dois endereços locais. So, the new string can be put forward to location with starting address as CC18. Assim, a nova seqüência podem ser apresentadas ao local com endereço como CC18 partida.
Moving RSDT string forward 8 bytes to accommodate new 8 bytes SLIC table. Passando em frente RSDT string 8 bytes para acomodar novos 8 bytes SLIC tabela. - Now the anchor address of the RSDT…SLIC string has been moved, and the initial bit address of the string has to be made known to the system. Agora, o âncora do endereço do RSDT… SLIC corda foi movida, e os primeiros bits do endereço do string tem que ser levadas ao conhecimento do sistema. Search in UltraEdit for “20CC” (the original address), you will find it at CCE2 address as found out from step above. Pesquisa no UltraEdit para "20CC" (o endereço original), você vai encontrá-lo no endereço CCE2 como descobriu a partir do passo acima. Change the 20 to 18 to make it “18CC” (address always reverse when indicate) to indicate the new starting address. Mude os 20 a 18 para torná-lo "18CC" (endereço sempre inverter quando indicar) para indicar o novo endereço partida.
After changing 20 to 18 to indicate new location address. Após a mudança de 20 a 18 para indicar a localização novo endereço. - Since the RSDT string has been moved, the location of FACS table has also moved too (refer to figures above). Uma vez que a corda RSDT foi movida, a localização do FACS tabela também tem levado demasiado (os valores referem-se acima). The original address of FACS table is CC30 while new address is CC28 or CC2C. O endereço original da FACS tabela é CC30 enquanto novo endereço é CC28 ou CC2C. And, in the rest of the code, the address is been used. E, no resto do código, se o endereço foi utilizado. So the address of FACS has to be modified too. Então, o endereço do FACS tem que ser modificados também.
The value for the original address is address of ACPItables_address (CC20) + 10 which equals to CC30. O valor para o endereço original é endereço de ACPItables_address (CC20) + 10, igualando a CC30. In UltraEdit, search for 30CC, which should be found at around reference location of CD35. Em UltraEdit, busca de 30CC, que deverá ser encontrado em cerca de referência local do CD35. Change the 30CC to 28CC (for CC28) or 2CCC (for CC2C). Altere o 30CC a 28CC (para CC28) ou 2CCC (para CC2C).
- Next, SLIC table has to be added to the address that is been reserved for it in RSDT tables string in ACPI.BIN. Em seguida, SLIC tabela tem que ser acrescentado para o endereço que se está reservado para ele na RSDT tabelas string em ACPI.BIN.
seg000:CD74 seg000: CD74
seg000:CD74 sub_CD74 proc near ; CODE XREF: seg000:CC5Bp seg000: CD74 sub_CD74 proc próximo; CODE XREF: seg000: CC5Bp
seg000:CD74 push edi seg000: CD74 push EDI
seg000:CD76 push esi seg000: CD76 push ESI
seg000:CD78 mov esi, 0F0000h seg000: CD78 mov ESI, 0F0000h
seg000:CD7E mov eax, [esi+89C4h]; Fill RSDT address to RSDT Ptr seg000: CD7E mov eax, [ESI +89 C4h]; Preencha RSDT endereço para RSDT PTR
seg000:CD86 or eax, eax seg000: CD86 ou eax, eax
seg000:CD89 jz loc_CE32 seg000: CD89 JZ loc_CE32
seg000:CD8D mov [esi+89C0h], eax ; RSDT Ptr seg000: CD8D mov [ESI +89 C0h], eax; RSDT PTR
seg000:CD95 mov eax, [esi+89CCh]; Fill DSDT address to FACP seg000: CD95 mov eax, [ESI CCH +89]; Preencha DSDT endereço para FACP
seg000:CD9D or eax, eax seg000: CD9D ou eax, eax
seg000:CDA0 jz loc_CE32 seg000: CDA0 JZ loc_CE32
seg000:CDA4 mov edi, [esi+89C8h]; FACP seg000: CDA4 mov edi, [ESI +89 C8h]; FACP
seg000:CDAC mov es:[edi+28h], eax seg000: CDAC mov es: [edi +28 h], eax
seg000:CDB2 mov eax, [esi+89D4h]; Fill FACS address to FACP seg000: CDB2 mov eax, [ESI +89 D4h]; Preencha FACS endereço para FACP
seg000:CDBA or eax, eax seg000: CDBA ou eax, eax
seg000:CDBD jz loc_CE32 seg000: CDBD JZ loc_CE32
seg000:CDC1 mov edi, [esi+89C8h] ; FACP seg000: CDC1 mov edi, [ESI +89 C8h]; FACP
seg000:CDC9 mov es:[edi+24h], eax seg000: CDC9 mov es: [edi +24 h], eax
seg000:CDCF mov eax, [esi+89C8h]; Fill FACP address to RSDT+24 seg000: CDCF mov eax, [ESI +89 C8h]; Preencha FACP endereço para RSDT +24
seg000:CDD7 or eax, eax seg000: CDD7 ou eax, eax
seg000:CDDA jz loc_CE32 seg000: CDDA JZ loc_CE32
seg000:CDDE mov edi, [esi+89C4h] ; RSDT seg000: CDDE mov edi, [ESI +89 C4h]; RSDT
seg000:CDE6 mov es:[edi+24h], eax seg000: CDE6 mov es: [edi +24 h], eax
seg000:CDEC cmp byte ptr [bp+1BFh], 7 seg000: CDEC cmp byte PTR [pb +1 HAC], 7
seg000:CDF1 jnz short loc_CDFE seg000: CDF1 jnz curto loc_CDFE
seg000:CDF3 test dword ptr [bp+1C6h], 200h seg000: CDF3 teste dword PTR [pb +1 C6h], 200h
seg000:CDFC jz short loc_CE2F seg000: CDFC jz curto loc_CE2F
seg000:CDFE seg000: CDFE
seg000:CDFE loc_CDFE: ; CODE XREF: sub_CD74+7Dj seg000: CDFE loc_CDFE:; CODE XREF: +7 Dj sub_CD74
seg000:CDFE test byte ptr [bp+2EBh], 4 seg000: CDFE teste byte PTR [+2 pb EBh], 4
seg000:CE03 jz loc_CE2F seg000: CE03 JZ loc_CE2F
seg000:CE07 mov eax, [esi+89D0h] ; Fill ACPI address to RSDT+28 seg000: CE07 mov eax, [ESI +89 D0h]; Preencher a ACPI endereço RSDT +28
seg000:CE0F or eax, eax seg000: CE0F ou eax, eax
seg000:CE12 jz short loc_CE2F seg000: CE12 jz curto loc_CE2F
seg000:CE14 mov edi, [esi+89C4h] seg000: CE14 mov edi, [ESI +89 C4h]
seg000:CE1C mov es:[edi+28h], eax seg000: CE1C mov es: [edi +28 h], eax
seg000:CE22 mov edi, eax seg000: CE22 mov edi, eax
seg000:CE25 push es seg000: CE25 push es
seg000:CE26 call sub_B4BB seg000: CE26 chamada sub_B4BB
seg000:CE29 pop es seg000: CE29 pop es
seg000:CE2A jb short loc_CE2F seg000: CE2A jb curto loc_CE2F
seg000:CE2C call sub_5077 seg000: CE2C chamada sub_5077From the matching table that matches the ACPI tables to respective memory address made in step above, use it to match against the code above. A partir da tabela de correspondência que corresponda às respectivas tabelas ACPI o endereço de memória feita na etapa anterior, utilizá-lo para o jogo contra o código acima. Here, none of the code representing process to fill the data value of 89DC address to RSDT table, so the following code needs to be added: Aqui, nenhum dos códigos que representam o processo para preencher o valor dos dados de endereço 89DC a RSDT mesa, de forma a seguinte código precisa ser acrescentado:
mov eax, [esi+89DCh] ; 8 bytes mov eax, [ESI +89 DCh]; 8 bytes
mov edi, [esi+89C4h] ;8 bytes mov edi, [ESI +89 C4h]; 8 bytes
mov es:[edi+2Ch], eax; 6 bytes, the value of the length of the ACPI tables (SLICaddress which is 2C). mov es: [edi +2 Ch], eax; 6 bytes, o valor do comprimento das tabelas ACPI (SLICaddress que é 2C).Addition of these code cannot affect the the rest of the functions’ address, so a few not critical code has to be deleted to free up some space. Além destes códigos não podem afectar as funções do resto do 'endereço, alguns não tão crítica código tem de ser suprimido a fim de libertar algum espaço.
In the above code, after every mov eax, [esi+????h], it’s followed by the block of code as below: No código acima, após cada mov eax, [ESI +???? h], que é seguida pelo bloco de código como a seguir:
or eax, eax ; 3 bytes ou eax, eax; 3 bytes
jz short loc_CE2F ;2 bytes jz curto loc_CE2F; 2 bytesThese are verification bits which is precaution method to prevent collapse or fault of system. Estes são os bits que é verificação precaução método para evitar a ruptura ou falha do sistema. However, after analysis, there is pair of verification bits that can be removed after reorganization of RSDT table. No entanto, após análise, não há verificação par de bits que pode ser removido após a reorganização do RSDT tabela. Thus, remove the data verification parts of RSDT table which is located as below: Assim, retire os dados de partes de verificação RSDT quadro que se situa como a seguir:
seg000:CDD7 or eax, eax ; 3 bytes seg000: CDD7 ou eax, eax; 3 bytes
seg000:CDDA jz loc_CE32 ;2 bytes seg000: CDDA jz loc_CE32; 2 bytesand e
seg000:CE0F or eax, eax ; 3 bytes seg000: CE0F ou eax, eax; 3 bytes
seg000:CE12 jz short loc_CE2F ;2 bytes seg000: CE12 jz curto loc_CE2F; 2 bytesAfter doing this, only 10 bytes of space is freed up, but the mod requires 22 bytes. Após fazer isto, apenas 10 bytes de espaço está liberalizado, mas o mod requer 22 bytes. In the code above, whenever it fills up the code for RSDT table, it will execute this command: No código acima, sempre que enche o código para RSDT tabela, ele irá executar este comando:
mov edi, [esi+89C4h] ; 8 bytes mov edi, [ESI +89 C4h]; 8 bytes
But, it does not alter the value of the register or variable when twice it executes the process to fill in the RSDT table. Mas, ela não altera o valor do registro ou variável duas vezes quando ele executa o processo de preencher o quadro RSDT. So this command can be executed only once. Portanto, este comando pode ser executado uma única vez. In fact, if the new code is placed here, this command for the new code can be skipped too. Na verdade, se o novo código é colocada aqui, esse comando para o novo código também pode ser ignorada. With this adjustment, there will be enough blank space been emptied. Com essa adaptação, haverá bastante espaço em branco sido esvaziado. Extra space can then be filled up with blank command (90 and nop). Extra espaço pode então ser preenchida com comando em branco (90 e NOP). The final code will look like this: O código final será semelhante a esse:
seg000:CDCF seg000: CDCF
mov eax, [esi+89C8h]; fill up FACP address to RSDT+24 mov eax, [ESI +89 C8h]; encheriam FACP endereço para RSDT +24
mov edi, [esi+89C4h] ; RSDT mov edi, [ESI +89 C4h]; RSDT
mov es:[edi+24h], eax mov es: [edi +24 h], eax
mov eax, [esi+89DCh] mov eax, [ESI +89 DCh]
mov es:[edi+2Ch], eax mov es: [edi +2 Ch], eax
nop NOP
nop NOP
nop NOP
nop NOP
cmp byte ptr [bp+1BFh], 7 cmp byte PTR [pb +1 HAC], 7
jnz short loc_CDFE jnz curto loc_CDFE
test dword ptr [bp+1C6h], 200h teste dword PTR [pb +1 C6h], 200h
jz short loc_CE2F JZ curto loc_CE2F
test byte ptr [bp+2EBh], 4 test byte PTR [+2 pb EBh], 4
jz loc_CE2F JZ loc_CE2F
mov eax, [esi+89D0h] ; fill up ACPI address to RSDT+28 mov eax, [ESI +89 D0h]; encheriam ACPI endereço para RSDT +28
seg000:CE22 mov es:[edi+28h], eax the address for this command cannot be changed. seg000: CE22 mov es: [edi +28 h], eax o endereço para este comando não pode ser alterado.The address location of the code that will be deleted and inserted has to be remembered: O endereço do local do código que irá ser suprimidos e aditados tem de ser lembrado:
seg000:CDD7 or eax, eax ; 3 bytes seg000: CDD7 ou eax, eax; 3 bytes
seg000:CDDA jz loc_CE32 ;2 bytes seg000: CDDA jz loc_CE32; 2 bytes
5 bytes starting from CDD7 A partir de 5 bytes CDD7seg000:CE0F or eax, eax ; 3 bytes seg000: CE0F ou eax, eax; 3 bytes
seg000:CE12 jz short loc_CE2F ;2 bytes seg000: CE12 jz curto loc_CE2F; 2 bytes
seg000:CE14 mov edi, [esi+89C4h] seg000: CE14 mov edi, [ESI +89 C4h]
5+8 bytes staring from CE0F 5 +8 bytes staring de CE0Fseg000:CDEC cmp byte ptr [bp+1BFh], 7 seg000: CDEC cmp byte PTR [pb +1 HAC], 7
Original location of CDEC to insert all needed code here Local original do CDEC para inserir todos os códigos necessários aqui - The mod process is done, now go back to UltraEdit for last step address modification. O processo é feito mod, agora voltar a UltraEdit para a última etapa endereço modificação. This step is best done from bottom up to prevent the code below been jumbled when replacing the front part. Este passo é melhor fazer a partir de baixo para cima para impedir o código abaixo sido desordenados quando substituir a parte anterior.
Firstly, remove 13 bytes starting from CE0F. Em primeiro lugar, retirar a partir de 13 bytes CE0F.
Then insert any 4 bytes of random data at the CDEC, then change the value to 4 90 (90h=nop). Então insira qualquer 4 bytes de dados aleatórios no CDEC e, em seguida, mudar o valor 4 a 90 (90h = NOP).
Copy the code at CDE6 to CDEB, and paste it to address starting from CDEC to reflect the command used: mov es:[edi+2Ch], eax Copie o código em CDE6 para CDEB, e colá-lo ao endereço a partir de CDEC para refletir o comando usado: mov es: [edi +2 Ch], eax
Copy the code at CDCF to CDD6, and paste it to address starting from CDEC to reflect the command used: mov eax, [esi+89DCh] Copie o código em CDCF a CDD6, e colá-lo ao endereço a partir de CDEC para refletir o comando usado: mov eax, [ESI +89 DCh]
Lastly, remove 5 bytes starting from CDD7. Por último, remover a partir de 5 bytes CDD7. - Save the code. Salvar o código.
- Verify that the modification of code is correct by using IDA to check if the modified code is correct. Verifique se a modificação do código está correto, utilizando IDA para verificar se o código modificado está correto. If yes, repack the code into the BIOS file. Se sim, Reembale o código no arquivo do BIOS.
Disclaimer: This article is for informational and educational purpose only. Aviso: Este artigo é para fins exclusivamente informativos e educativos.
IMPORTANT : This is a machine translated page which is provided "as is" without warranty. IMPORTANTE: Esta é uma máquina página traduzida que é fornecida "como está" sem garantia. Machine translation may be difficult to understand. A tradução automática pode ser difícil de compreender. Please refer to Por favor, consulte a original English article Inglês original article whenever possible. sempre que possível.
Share and contribute or get technical support and help at Compartilhe e contribuir ou obter suporte técnico e ajudar a My Digital Life Forums Minha vida digital Fóruns .
Related Articles Artigos relacionados
- SLIC Table (SLIC.BIN or ACPISLIC.BIN) BIOS File for OEMs Download SLIC Quadro (SLIC.BIN ou ACPISLIC.BIN) BIOS File Download para OEMs
- Windows Vista No Activation OEM ID for Various Manufacturers O Windows Vista não activação de diferentes fabricantes OEM ID
- Download Vista Loader 2.1.2 OEM BIOS Crack Emulator Download Vista Loader 2.1.2 OEM BIOS crack emulador
- Best Vista Crack for Activation (Most Reliable Vista Activator) Melhor Vista crack para a ativação (mais confiável Vista activador)
- BIOS with Windows Vista OEM Support (ACPI_SLIC) Invalidate KMS Activation BIOS com o Windows Vista OEM apoio (ACPI_SLIC) invalidar kms ativação
- Invalid Key Error While Activate Vista with OEM Emulation or Mod BIOS Flash Inválido chave erro ao ativar Vista OEM com emulação ou Mod BIOS Flash
- Vista OEM Activation Crack: Hack to Modify BootMgr to Activate Vista Vista OEM crack ativação: Hack para modificar BootMgr para activar Vista
- Software BIOS Emulation Patch (softmod.iso) to Emulate OEM SLIC of Dell, HP, Lenovo, Sony, Acer and ASUS Software BIOS Emulação Patch (softmod.iso) para emular OEM SLIC da Dell, HP, Lenovo, Sony, Acer e ASUS
- Crack to Activate Windows Vista as OEM for Acer Motherboard/BIOS Crack para ativar o Windows Vista como OEM para a matriz Acer / BIOS
- Windows Vista OEM Activation Crack (vstaldr) without Modify or Flash BIOS Windows Vista OEM Activation Crack (vstaldr) sem modificar ou Flash BIOS

































December 30th, 2007 04:08 30 de dezembro de 2007 04:08
Yo!
Anyone can mod the Asus 1011_013 beta K8N4-E Deluxe bios? Qualquer um pode mod a Asus 1011_013 beta K8N4-E Deluxe bios?
I have a Turion ML-42 cpu, but i don’t manage the voltage control in my current bios. Tenho um Turion ML-42 CPU, mas eu não gerenciar o controle de tensão na minha bios atual. I can down the voltage, but up is not working… Posso estabelece a tensão, mas não está a funcionar até…
Thank you for your time! Obrigado por sua vez!
April 17th, 2007 01:30 17 de abril de 2007 01:30
Step 16. Passo 16. Excuse me? Perdoe-me? what does that text even say? o que é que esse texto até mesmo dizer? I have read it many times now, and I am no closer to understand what you should achieve at that step. Li agora que muitas vezes, e não sou mais perto de entender o que você deve atingir em que passo. It probably is the most dubious piece of english text I have ever read Ele provavelmente é o mais duvidoso Inglês pedaço de texto que já leu
Should I duplicate the strings at the address gained from Tempbuffer_address, counting +4 each step? Eu deveria duplicar as cordas no endereço de Tempbuffer_address adquirida, contando cada passo +4?
April 10th, 2007 19:41 10 de abril de 2007 19:41
Got it : step 22 ;] Got-lo: passo 22;]
ida is to be used with original.bin , ida serves to find the code in the file . ida é para ser usado com original.bin, o IDA serve para localizar o código no arquivo. when done you have to read the address locations : ce0f , cdd7 …. quando você tem feito para ler o endereço locais: ce0f, cdd7….
with ultraedit you go to ce0f , cdd7 …to apply the changes , the 2 locations i talk about are used to remove code or eax,eax…. ultraedit com que você vá para ce0f, cdd7… para aplicar as alterações, as localizações 2 i falar são utilizados para remover o código ou eax, eax….
nearly done 8] feito quase 8]
April 10th, 2007 09:29 10 de abril de 2007 09:29
step 15 etapa 15
first variable : 4 / does not it need to be increased by 1 to 5 ? primeira variável: 4 / ela não precisa de ser aumentada em 1 a 5?
and so it is to be used in step 16 / if value is 5 in bios : 89dc e assim ele está a ser utilizado na etapa 16 / se valor é de 5 bios: 89dc
step 17 etapa 17
file to open in UltraEdit is original.bin [or acpitbl.bin] ? arquivo para abrir no UltraEdit é original.bin [ou acpitbl.bin]? that could be said instead of “shooow sweeeet” keyboard shortcut 8-P Pode-se dizer que em vez de "shooow sweeeet" atalho de teclado 8-P
step22
what to do the file acpitbl.bin with ida to write code a this place / here i am out of knowing what to do ;[ o que fazer com o arquivo acpitbl.bin uma ida a escrever código esse lugar / aqui estou fora de saber o que fazer; [
vista is far to be free for me 8] Vista está longe de ser livre para mim 8]
April 9th, 2007 21:31 9 de abril de 2007 21:31
hello Olá
Can anyone mod an Asus k8ne deluxe bios 1011 ? Alguém pode mod uma Asus k8ne deluxe bios 1011?
April 9th, 2007 18:46 9 de abril de 2007 18:46
i “made it” for asus k8n4-e deluxe , i have not tested yet , i submit the bios in here . i "tornou" para a asus k8n4-e deluxe, eu tenho ainda não testado, i apresentar o bios em aqui.
i made the archive with original bios and moded one . Eu fiz o arquivo com a bios original e uma moded.
the original is updated with latest pci_bios roms for nvraid nvpxe and sata_raid sil_3114 . o original é atualizada com mais tardar pci_bios-Rom para nvraid nvpxe e sata_raid sil_3114.
http://rapidshare.com/files/25065364/k8n4ed_slic.zip.html
tell me if i did it well diga-me se eu fiz isso bem
April 9th, 2007 09:29 9 de abril de 2007 09:29
the step 10 is not so clean : o passo 10 não é tão limpa:
10 Position the cursor after the RSDT…FACS string ACPItables (db 1EH). 10 Posicione o cursor após a RSDT… FACS string ACPItables (db 1EH).
here is CC20 / so no calc [step 15 ] ? aqui é CC20 / assim não calc [passo 15]?
89D8 : if the address is not a “problem” to what step jump ? 89D8: se o endereço não é um "problema" para o que passo salto?
ps : is there a topic like this for installing vista on a fat32 , i know it can be be done after install on ntfs to format fat32 and copy the backup . ps: existe um tema como este para a instalação de vista sobre um fat32, eu sei que pode ser ser feito após instalar em formato ntfs para fat32 e cópia de backup.
nice “chinese” work ;] nice "chinês" trabalho;]
March 23rd, 2007 05:56 23 de março de 2007 05:56
can someone please post a step-by-step (of this document at step 22) Por favor alguém pode postar um passo-a-passo (do presente documento passo a 22)
March 22nd, 2007 11:38 22 de março de 2007 11:38
Hi, Oi,
I am stuck at step 22 & 23. Estou encalhado na etapa 22 e 23.
is step 22 for information, or is there a way to remove seg000:CDD7,CDDA,CE0F & CE12 in IDA? É etapa 22 para informação, ou se existe uma maneira de eliminar seg000: CDD7, CDDA, CE0F & CE12 na IDA?
how do i type in the assemble code script at seg000:CDCF como eu digitar o código script montar a seg000: CDCF
Or do we delete the codes and type new one using winhex or ultraedit. Ou vamos apagar os códigos e usar um novo tipo winhex ou ultraedit.
I use winhex for all my editing. Eu uso para todos os meus winhex edição.
March 21st, 2007 18:19 21 de março de 2007 18:19
Modded BIOS for MSI K8N SLI-F anyone? Modded BIOS para a MSI K8N SLI-F ninguém?
March 16th, 2007 03:48 16 de março de 2007 03:48
Tools to open: Ferramentas para abrir:
Award: modbin Prêmio: modbin
AMI: mmtool, amimmwin AMI: mmtool, amimmwin
Phoenix: Phoenix Bios editor Phoenix: Phoenix Bios editor
March 16th, 2007 01:59 16 de março de 2007 01:59
I ask again, how to work with AMI or phoenix BIOS? Peço mais uma vez, como trabalhar com AMI BIOS ou Phoenix?
What tools to use modbin6 does not work even if I rename files to *.bin Que instrumentos a utilizar modbin6 não funciona mesmo se eu renomear arquivos para *. bin