Janela Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES Prêmio BIOS Mod Método acrescentando SEÇÃO Mesa com Dinâmico Endereço de memória
Janela Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES ativação estalo método requer um SLP 2.0 ( sistema Fechado Preinstallation 2.0) complacente BIOS placa mãe. Nova ferrado EQUIPAMENTO ORIGINAL DOS FABRICANTES computador vem com um, ou oferecimentos não- portanto- velha placa mãe um BIOS livre atualização à um que suporte SLP 2.0 com SEÇÃO mesa e assinado Mercado do Windows ( equipamento original dos fabricantes IDENTIFICAÇÃO e Mesa Identificação). Se você está a utilizar mais velha computador ou DIY placa mãe, seu’ não azarado embora. Chinesa picaretas tem manejar a mod o BIOS asubstituir ouadicionar na Seção (software Licenciamento Interna Código) mesa na ACPI mesa. Agora, a substituição de existir ACPI mesa poderá causa perda de certa aspectos, enquanto adição de SEÇÃO mesa poderáincompatível em computador com tamanho diferente de memória, como BIOS édifícil remendado com a SLIC’s mesa corpóreo endereço de memória qual restringir o mod BIOS à máquina dela’ estado modificado somente.
De modo a que a, método a mod BIOS for Janela Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES suporta com anteriormente usado estático SEÇÃO endereço de memória é problemático que as endereço de memória estará alterado quando a memória tamanho alterado, e usuários necessidade para modificar o SEÇÃO endereçamento emACPITBL.BIN ou então elas acostumado’ poder bota na sistema, desaprovar circulação em massa da mod EQUIPAMENTO ORIGINAL DOS FABRICANTES BIOS. Assim o Chinesa picaretas refinar a técnica a permite dinâmico corpóreo endereço de memória atribuição de SEÇÃO mesa é estado usado. Com dinâmico memória atribuição, corpóreo memória tamanho pode ser alterado sem nenhum assentimento de BIOS não- complacente. De resto, prévio método de adicionar SEÇÃO mesa poderá requerer usuários a fagulha BIOS em ROM 2 tempos, primeira com a mod BIOS e mais tarde com a original BIOS, embora a BIOS com this refinado método com dinâmico endereço de memória registro requer uma fagulha quando muito.
Ferramentas e utilitários requisitado:
- MODBIN6
- CBROM219
- WinHEX
- Hiew 7.4 (Hiew32) (somente for Prêmio BIOS, se tiver Hiew32 you já não requerer IDA 5.0)
- IDA 5.0
- UltraEdit
A instrução criar um mod Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES BIOS com dinâmico endereço de memória atribuição capabilidade é complexo, e recomendado for experiente somente. De resto, esse artigo é traduzida de documentos em Chinesa, de modo a que a exatidão da tradução não é garantido. Se you really desejo fazer seu BIOS estar habilitado para ativar EQUIPAMENTO ORIGINAL DOS FABRICANTES versão do Windows Vista, tentar opronto-mod BIOS ( com endereço estático), software fundamentadoVista Bagageiro EQUIPAMENTO ORIGINAL DOS FABRICANTES BIOS emular, ou software fundamentadoEQUIPAMENTO ORIGINAL DOS FABRICANTES BIOS Emulação Ferramenta. Outro popular Vista estalo incluirTimerLock qual automaticamente aplicarCronômetros chofer Essa tutoria é prova de conceito somente, como qualquer BIOS é diferente, e disso os valores ou passos ou coisas modificado pode ser diferente.
aviso: Alteração a BIOS poderá invalidar garantia, causa computador a incapaz a bota acima ou outro irrecuperável efeito. Fazer a ao seu próprio risco.
Se você necessita ajuda em mod BIOS for Vista ativação, sair deesse fio.
- Criar um temporário capa para encadernação ( vista ou BIOS é you como) at diretório principal ( Celsus:\).
- Colocar a informação CBROM 2.19 ( dependendo em em que se colocar a informação, pode ser necessidade mudar o nome da executável a cbrom.exe conforme ilustrado nesta artigo), MODBIN6 2.01.01, SLIC.BIN ( nomeada acpislic.bin que pode ser variada, qual é o SEÇÃO mesa porção de BIOS) de colocar a informação ligações acima, e espaço eles na temporário capa para encadernação.
- Extrato, exportação ou salvo o XXXXXXXX.BIN ( nome pode ser alterado, qual é a placa principal BIOS que quer a sendeiro para Windows Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES ativação). Mais fácil modo é a simplesmente colocar a informação o BIOS firmware da computador ou placas mães’ fabricantes tal ASUS, Gigabyte, MSI, Acerbar, HP, Dell, Lenovo e etc.
- Determinar qual BIOS porção de arquivo é o campo de RSDT…FACS localizado:
- Emelevado comando pronto (oudesabitar UAC), tipo a seguinte comando:
CBROM.EXE XXXXXX.BIN d
Você verá algo parecido abaixo cortina:
CBROM V2.19 (CAward) Software 2001 Todos os direitos reservados.
******** XXXXXXXX.BIN BIOS componente********
não Item- Nome Original- Tamanho Apertado- Tamanho Original- Arquivo- Nome
=====================================================
0. Sistema BIOS 20000h128.00K() 13B3Eh78.81K() 83IID318.BIN
1. XGROUP CÓDIGO 0DFF0h55.98K() 0993Ch38.31K() awardext.rom
2. ACPI mesa 043E5h16.97K() 01A46h6.57K() ACPITBL.BIN
3. AGÊNCIA DE PROTEÇÃO AMBIENTAL LOGOTIPO 0168Ch5.64K() 002AAh0.67K() AwardBmp.bmp
4. YGROUP ROM 0F570h61.36K() 0482Dh18.04K() awardeyt.rom
5. GRUPO ROM[ 0] 04CD0h19.20K() 02261h8.59K() _EN_CODE.BIN
6. Other404E0000(:) 03476h13.12K() 00EB4h3.68K() 64N8IIP.BMP
7. Other404F0000(:) 0345Dh13.09K() 008B9h2.18K() 64N8P4P.BMP
8. Other40500000(:) 0345Dh13.09K() 008CCh2.20K() 64N8P4HT.BMP
9. Other40510000(:) 04286h16.63K() 00A7Eh2.62K() 64N8P4E.BMP
10. Other40520000(:) 04286h16.63K() 00B58h2.84K() 64N8P4HE.BMP
11. Other40530000(:) 0345Dh13.09K007D9h1.96K()() 64N8ICPD.BMP
12. PCI Romano[] 0D000h52.00K07DA8h31.41K()() RTM8100.LOMTotal compressa código espaço = 4B000h300.00K()
Total apertado código tamanho = 31788h197.88K()
Durar compressa código espaço = 19878h102.12K()** Micro Código Informação**
Atualização IDENTIFICAÇÃO CPUID | Atualização IDENTIFICAÇÃO CPUID | Atualização IDENTIFICAÇÃO CPUID | Atualização IDENTIFICAÇÃO CPUID
——————+——————–+——————–+——————
PGA478 2E 0F29| - Em acima caso, dentro XXXXXXX.BIN, não há ggroup.bin ( onde “RSDTFACPDSDTAPICHPETMCFGFACS” ou similar ACPI mesas indexar campina é localizado), portanto RSDT…FACS campina é localizado dentro o sistema BIOS byte código, e para modificar essa necessidade usar MODBIN6. Se seu BIOS contém ggroup.bin, você pode uso CBROM extrair e seperate ggroup.bin BIOS parte como arquivo.
Abaixo é a amostra CBROM produtividade de “CBROM.EXE XXXXXX.BIN d” comando for BIOS com ggruoup.bin ( gigabyte GA-G1975X BIOS como exemplo):
não Item- Nome Original- Tamanho Apertado- Tamanho Original-Fi
================================================
0. Sistema BIOS 20000h128.00K1492Ah82.29KG1975X.BIN()()
1. XGROUP CÓDIGO 0F7B0h61.92K0A8E6h42.22Kawardext.rom()()
2. AGÊNCIA DE PROTEÇÃO AMBIENTAL LOGOTIPO 0168Ch5.64K0030Dh0.76KAwardBmp.bmp()()
3. GRUPO ROM18[] 00EF0h3.73K00B77h2.87Kggroup.bin()()
4. YGROUP ROM 07140h28.31K04D7Ch19.37Kawardeyt.rom()()
5. FNT1 ROM 02D28h11.29K02038h8.05Kfont1.awd()()
6. FNT2 ROM 03278h12.62K01F18h7.77Kfont2.awd()()
7. FNT3 ROM 025FCh9.50K017FBh6.00Kfont3.awd()()
8. GRUPO ROM[ 0] 06010h24.02K02787h9.88K_EN_CODE.BIN()()
9. GRUPO ROM[ 1] 06510h25.27K02A1Fh10.53K_FR_CODE.BIN()()
10. GRUPO ROM[ 3] 06420h25.03K02A75h10.61K_GR_CODE.BIN()()
11. GRUPO ROM[ 4] 068D0h26.20K02A74h10.61K_SP_CODE.BIN()()
12. GRUPO ROM[ 8] 04EF0h19.73K02575h9.36K_B5_CODE.BIN()()
13. GRUPO ROM10[] 04F60h19.84K025E9h9.48K_GB_CODE.BIN()()
14. GRUPO ROM11[] 05E50h23.58K02A85h10.63K_JP_CODE.BIN()()
15. PCI Romano[] 0F200h60.50K09594h37.39KICH7RAID.BIN()()
16. PCI ROMB[] 10000h64.00K09A15h38.52Kb169d.pxe()()
17. Logotipo ROM 00B64h2.85K00520h1.28Kdbios.bmp()()
18. PCI ROMC[] 04000h16.00K02287h8.63KITE8212.ROM()()
19. Other40670000(:) 01AADh6.67K00B75h2.86KPPMINIT.ROM()()
20. OEM0 CÓDIGO 025B3h9.42K01B37h6.80Kdbf.bin()()
21. GRUPO ROM24[] 00132h0.30K0011Eh0.28KSPECIAL.FNT()()
22. ACPI mesa 09640h37.56K0352Ch13.29KASUSACPI.BIN()()Total compressa código espaço = 67000h412.00K()
Total apertado código tamanho = 57613h349.52K()
Durar compressa código espaço = 0F9EDh62.48K()** Micro Código Informação**
Atualização IDENTIFICAÇÃO CPUID | Atualização IDENTIFICAÇÃO CPUID | Atualização IDENTIFICAÇÃO CPUID | Upd
——————+——————–+——————–+—–
Ranhura 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| - For BIOS com ggroup.bin, extrato o ggroup.bin com a prosseguimento comando:
CBROM.EXE G1975X.bin grupo extrato
Deveria sede a seguinte produtividade como abaixo telas:
CBROM V2.19 (CAward) Software 2001 Todos os direitos reservados.
Entrar um extrato nome de arquivo :(ggroup.bin)
[grupo] ROM é extraída a ggroup.bin - Separado, salvo e extrato o ACPITBL.BIN usando a seguinte comando:
CBROM.EXE 050318.BIN acpi extrato
Deveria sede a seguinte produtividade de CBROM:
CBROM V2.19 (CAward) Software 2001 Todos os direitos reservados.
Entrar um extrato nome de arquivo :(ACPITBL.BIN)
[ACPI] ROM é extraída a ACPITBL.BIN - For BIOS sem ggroup.bin ( essas com ggroup.bin podem cambalhota esse passo), lancha MODBIN6, seleto XXXXXXXX.BIN ( deve ser nomeada em .BIN extensão, se não mudar o nome a. Dela’ o BIOS para modificar incluir o SEÇÃO mesa de guisa dela’ SLP 2.0 complacente). Fazer não fechar a janela de MODBIN6, e esperar o ORIGINAL.BIN aquela compressão extraída e cirada na temporário capa para encadernação.
- Emelevado comando pronto (oudesabitar UAC), tipo a seguinte comando:
- Acatar o abaixo instruções para modificar ACPITBL.BIN:
- Carreira UltraEdit e aberto ACPITBL.BIN BIOS imagem arquivo.
- Procura texto for RSDT.
- Atrasado RSDT é o byte que indica o tamanho de RSDT mesa. Adicionar 4 para esta finalidade número em FEITIÇO formato. Por exemplo, se o valor apontado é 002C, modificar e editar o valor tornar-se 0030. Repare que o reverso sequência de pares quando keying em UltraEdit Feitiço editor (i.e. entrar como 30 00 em lugar 00 30).
- Inserto ( não substituir) adicional 4 bytes de 00 valor após o original comprido (002C) de RSDT mesa ( normalmente em frente de FACPt, ou FXCPt certamente Gigabytes mobo). Você pode cópia e cola o 4 bytes de 00 de outro locação para esta finalidade locação. Essa mudança e alteração é para proporcionar espaço armazenar o SEÇÃO mesa em futura passos, portanto lembrar esse endereço ( dali guia, assumir essa localização é SLICaddress). Nesta exemplo, SLICaddress valor é 002C.
Ante modificação de ACPITBL.BIN em UltraEdit
Após modificação de ACPITBL.BIN em UltraEdit para atribuir espaço for SEÇÃO mesa. - Confirmar o total comprido de ACPITBL.BIN se o tamanho pode ser dividido por extenso by 4. Se não, adicionar 1 a 3 bytes de 00 no fim de o BIOS imagem arquivo de guisa o tamanho pode ser dividido by 4 sem nenhum demasia. Isto é para garantir que após combinando com SLIC.BIN imagem arquivo, o cabeçalho endereçamento de SEÇÃO mesa pode ser dividido by 4 sem demasia também.
Confirmar se o tamanho de ACPITBL.BIN ( a última endereçamento do arquivo + 1) pode ser dividido by 4 sem demasia. Nesta exemplo, ante esse passo modificação, a última byte possui FEITIÇO endereçamento de 43E8, de modo a que a comprido do arquivo é 43E9, não pode repartir by 4 por extenso sem demasia.
Após 4 divisão confirmar modificação, adicionada 3 00 valor bytes. - Modificar OEM_ID e OEM_Table_ID conforme seu requerimentos ( normalmente _ASUS_ e Agenda). Recorrer amelhorado adicionar SEÇÃO mesa instrução at passo 8 de parte 2 para obter mais informações.
- Salvo o arquivo.
- Executar a seguinte comando para misturar e remendo o SEÇÃO mesa contente com a modificado ACPITBL.BIN obter o final cópia de trabalho de ACPITBL.BIN:
CÓPIA ACPITBL.BIN B + SLIC.BIN B ACPI.BIN B
nota Conforme seu requerimento, uso o correto ACPI.BIN, i.e. ASUS for ASUS EQUIPAMENTO ORIGINAL DOS FABRICANTES Identificação, Lenovo for Lenovo EQUIPAMENTO ORIGINAL DOS FABRICANTES IDENTIFICAÇÃO e etc.
- Acatar o abaixo passos encontrar a posição da espaço que temporariamente loja o valor da endereçamento de cabeçalhos de toda mesas na código de ORIGINAL.BIN ou ggroup.bin. Esse endereço estará suposto como TempBuffer_Address:
- Carreira Ultract para abrir ORIGINAL.BIN ou ggroup.bin.
- Executar IDA.
- Faça um clique num Encaminhar-se entrar IDA. Então seleto e aberto ORIGINAL.BIN arquivo.
- Na “ carga um nova arquivo” caixa de diálogo, sob a seção de “ processador tipo”, abater o menu e selecione “ intelecto 8086× processors80686p:”.
- Após seleto, acertado o conjunto“” botão à direita.
- Faça um clique num “ está legal” botão, e em seguida achar “ sim” botão quando perguntado para confirmar “ fazer quer trocar o processador tipo a 80686p?”
- Em caixa de diálogo perguntado para confirmar “ fazer quer a desmontar a como um 32- mordido código?”, forçar “ não” botão como manipulação estará completo em 16- mordido moda.
- Na Cordões Janela à direita, achado e localizar o RSDT…FACS caracter enfiar sequência, e dupla faça um clique num a.
- Posição o cursor às locação da R caracter. E em seguida prima “ um” chave, e em seguida RSDTFACS… caracter enfiar será visualizada. Esse texto sequência de RSDTFACS… estará chamado ACPItables.
Posicionamento cursor às linha de R.
Depois de prensar UM chave. - Posição o cursor após o RSDTFACS… enfiar ACPItables (db 1EH).
Pressione o “ Celsus” chave. Um bloco de Montagem código será visualizada.
- Mas tem remanescente código que hasnt’ estado desmontar em Montagem código. Portanto posição o cursor às primeira durar montado código. Neste caso, dela’ linha de unk_CC49 após o RSDT…FACS enfiar ACPItables previsto by db 1Eh. E em seguida prima o “ Celsus” chave para converter e desmontar o resto BIOS byte código.
- Movimente o cursor através as filas das seguintes “ chamada” bloco.
- Cuidado à “ chamada” linha aquela lata popular acima código como abaixo:
empurrão eax
empurrão cx
empurrão ebp
xor ebp, ebp
mov cx, TABLE_Numbers ( temporariamente uso MESA _Numbers para representar um valor)
mov edi, eaxNesta exemplo, dela’ a fila de “ chamada sub_CCD4″.
- Dupla faça um clique num sub_CCD4 deitar o código seção de sub_CCD4. Se a corrente visualização moda é em gráfico, clique com o botão direito e selecione “ texto Vista” ao contexto menu para comutar a modo de texto.
- Dentro esse bloco de código, reaver o 3 importante variáveis TABLE_Numbers,ACPItables_adress,TempBuffer_Adress,and recorde seu valor. Nesta exemplo, o valor da variáveis são 4, CC20, 89C4 respectivamente, onde endereçamentos são aproximadamente localizado at CCDC,CCE2, CD12 respectivamente.
- Uso o valor de TempBuffer_Adress (89C4 de passo acima) igualar com qualquer mesa em RSDT…FACS texto enfiar, com incremento de 4 depois de cada mesa ( igualando mesa). Por exemplo:
89C4 RSDT
89C8 FACP
89CC DSDT
89D0 Vértices
89D4 FACS
89D8
89DCO prévio bloco de código duplicatos o requisitado mesas em ACPITBL BIOS imagem conforme RSDTFACS… enfiar num livre endereço de memória, e loja estes valor de endereçamentos no espaço especificado by TempBuffer_Address, e em seguida eventualmente preencher estes endereços em algum específica mesas. Portanto durante esse processo, o armazenando endereçamento valor de TempBuffer_Address tem que ser assegurar que não pode e não é cambiante, ou então mod BIOS irá falhar.
- Mudar para UltraEdit, e pressione Ctrl-F bloco de teclas atalho procurar D889 (i.e 89D8 valor, o valor da espaço em memória locação após FACS, onde dela’ um reverso com baixo byte adiante e alta byte atrasado). Assuntar algum locação (82D4, CC91) que mais baixo que FFFF. Muita provavelmente você encontrará a at algum locação. Se você não pode achado qualquer D889 ( armazenado valor de 89D8), então você pode uso diretamente o endereço (89D8) localizado atrasado o endereço usado armazenar FACS (89D4). Qual acanhado SEÇÃO mesa estará apensar imediatamente atrasado FACS, com enfiar ficar algo parecido RSDTFACSSLIC…, e podem fazer portanto by arranjar um emprego locação pôr essa cadeia ( muda adiante 4 bytes ou uso nova localização).
- Agora, se você localizava código como a seguinte perto a localização de CC91 em IDA, qual acanhado a seção de código é utilizada logo após “ chamada sub_CCD4″, e uso acima a memória endereçamento de 89D8.
seg000CC80: sub_CC80 proc perto ; CÓDIGO XREF: seg000CC52p:
seg000CC80: empurrão ds
seg000CC81: mov machado, 0F000h
seg000CC84: mov ds, machado
seg000CC86: assumir dsnothing:
seg000CC86: adicionar edi, 10h
seg000CC8A: e di, 0FFF0h
seg000CC8D: mov grande ds89D8h:, edi
seg000CC95: popular ds
seg000CC96: assumir dsnothing:
seg000CC96: retn
seg000CC96: sub_CC80 endpNeste caso, uso UltraEdit procurar próxima disponível endereçamento de passo acima (DC89 for 89DC). Se nada é encontrado, essa memória endereçamento locação pode ser utilizado pôr SEÇÃO mesa. O problema com essa memória endereçamento atribuição é tudo há um cambalhota endereçamento ou espaço (89D8) entre FACS e SEÇÃO mesas. Afixar esse problema, adicionar o texto enfiar de FACSSLIC em lugar justamente Seção, como FACS mesa é pequena e acostumado’ uso demais memória.
- Após modificação, você terás o ACPI mesa indexar enfiar como quer RSDT…FACSSLIC ou RSDTFACSFACSSLIC…. A acomodar a primeira instância de enfiar, completo enfiar pode ser muda adiante ( à frente) by 4 bytes como mencionada acima. Caso contrário, um nova localização tem que ser identificada armazenar o nova texto enfiar. Mas na mais tarde caso onde 8 bytes foram adicionada, portanto nós precisamos arranjar um emprego nova localização dali mais tempo enfiar. Nesta exemplo BIOS, tem 11 vazia bytes (00) em frente de o ACPItables_address ( localizado at CC20). This vazia bytes devia ser não utilizado, de resto, em UltraEdit, não há código que empregos o CC18 ou CC1C dois endereçamento locais. De modo a que a, nova enfiar pode ser avançar a locação com iniciando endereçamento como CC18.
Ambulante RSDT enfiar adiante 8 bytes para acomodar nova 8 bytes SEÇÃO mesa. - Agora a âncora endereçamento da RSDTSLIC… enfiar tem sido movido, e o inicial mordido endereçamento da enfiar tem que ser feito conhecido à sistema. Procura em UltraEdit for “20CC” ( o original endereçamento), você encontrará a at CCE2 endereçamento como encontrado fora de passo acima. Alteração o 20 a 18 fazer a “18CC” ( endereçamento sempre reverso quando indicar) para indicar o nova iniciando endereçamento.
Depois de mudar 20 a 18 para indicar nova localização endereçamento. - Uma vez que RSDT enfiar tem sido movido, a localização de FACS mesa possui também movido também ( recorrer a figuras acima). O original endereçamento de FACS mesa é CC30 enquanto nova endereçamento é CC28 ou CC2C. Quer no, descanso da código, o endereço é estado usado. De modo a que a endereçamento de FACS tem que ser modificado também.
O valor à original endereçamento é endereçamento de ACPItables_address (CC20) + 10 qual iguais a CC30. Em UltraEdit, procurar 30CC, qual devia achar-se a cerca de referência locação de CD35. Alteração o 30CC a 28CC (for CC28) ou 2CCC (for CC2C).
- Próxima, SEÇÃO mesa tem que ser acrescentadas o endereço isto é estado reservado lhe em RSDT mesas enfiar em ACPI.BIN.
seg000CD74:
seg000CD74: sub_CD74 proc perto ; CÓDIGO XREF: seg000CC5Bp:
seg000CD74: empurrão edi
seg000CD76: empurrão esi
seg000CD78: mov esi, 0F0000h
seg000CD7E: mov eax, [esi89C4h+]; Preencher RSDT endereçamento a RSDT Ptr
seg000CD86: ou eax, eax
seg000CD89: jz loc_CE32
seg000CD8D: mov [esi89C0h+], eax ; RSDT Ptr
seg000CD95: mov eax, [esi89CCh+]; Preencher DSDT endereçamento a FACP
seg000CD9D: ou eax, eax
seg000CDA0: jz loc_CE32
seg000CDA4: mov edi, [esi89C8h+]; FACP
seg000CDAC: mov esedi28h:[+], eax
seg000CDB2: mov eax, [esi89D4h+]; Preencher FACS endereçamento a FACP
seg000CDBA: ou eax, eax
seg000CDBD: jz loc_CE32
seg000CDC1: mov edi, [esi89C8h+] ; FACP
seg000CDC9: mov esedi24h:[+], eax
seg000CDCF: mov eax, [esi89C8h+]; Preencher FACP endereçamento a RSDT24+
seg000CDD7: ou eax, eax
seg000CDDA: jz loc_CE32
seg000CDDE: mov edi, [esi89C4h+] ; RSDT
seg000CDE6: mov esedi24h:[+], eax
seg000CDEC: cmp byte ptr [bp1BFh+], 7
seg000CDF1: jnz pequeno loc_CDFE
seg000CDF3: teste dword ptr [bp1C6h+], 200h
seg000CDFC: jz pequeno loc_CE2F
seg000CDFE:
seg000CDFE: loc_CDFE: ; CÓDIGO XREF: sub_CD747Dj+
seg000CDFE: teste byte ptr [bp2EBh+], 4
seg000CE03: jz loc_CE2F
seg000CE07: mov eax, [esi89D0h+] ; Preencher ACPI endereçamento a RSDT28+
seg000CE0F: ou eax, eax
seg000CE12: jz pequeno loc_CE2F
seg000CE14: mov edi, [esi89C4h+]
seg000CE1C: mov esedi28h:[+], eax
seg000CE22: mov edi, eax
seg000CE25: empurrão es
seg000CE26: chamada sub_B4BB
seg000CE29: popular es
seg000CE2A: jb pequeno loc_CE2F
seg000CE2C: chamada sub_5077Da igualando mesa que fósforos o ACPI mesas a respectivo endereço de memória feito no passo acima, uso a igualar contra o código acima. Aqui, nenhum dos código representante processo preencher os pormenores valor de 89DC endereçamento a RSDT mesa, de modo a que a prosseguimento código necessita de ser adicionada:
mov eax, [esi89DCh+] ï¼› 8 bytes
mov edi, [esi89C4h+] ï¼›8 bytes
mov esedi2Ch:[+], eax; 6 bytes, o valor da comprido da ACPI mesas (SLICaddress qual é 2C).Adição destas código não pode afetar o o resto da funções’ endereçamento, portanto algum não crítico código tem que ser apagar libertar acima algum espaço.
Na acima código, após toda mov eax, [esi????h+], dela’ seguido de o bloco de código como abaixo:
ou eax, eax ï¼› 3 bytes
jz pequeno loc_CE2F ï¼›2 bytesHeis verificação pedaços qual é precaução método para evitar colapso ou culpa de sistema. Agora, após análise, tem par de verificação pedaços que pode ser afastado após reorganização de RSDT mesa. Assim, remover os pormenores verificação partes de RSDT mesa qual é localizado como abaixo:
seg000CDD7: ou eax, eax ï¼› 3 bytes
seg000CDDA: jz loc_CE32 ï¼›2 bytese
seg000CE0F: ou eax, eax ï¼› 3 bytes
seg000CE12: jz pequeno loc_CE2F ï¼›2 bytesDepois de fazer this, somente 10 bytes de espaço é expedito acima, mas o mod requer 22 bytes. Na código acima, quando a preenchimentos acima o código for RSDT mesa, estará executar esse comando:
mov edi, [esi89C4h+] ï¼› 8 bytes
Mas, a faz não alterar o valor da registro ou variável quando duas vezes executa o processo completar o RSDT mesa. De modo que esta comando pode ser executado somente uma vez. De fato, se o nova código é situado aqui, esse comando à nova código pode ser cambalhota também. Com esse ajustamento, haverá bastante claro estado esgotado. Extra espaço podem então ser cheio com vazia comando (90 e nop). O final código irá parecer-se this:
seg000CDCF:
mov eax, [esi89C8h+]; apinhar FACP endereçamento a RSDT24+
mov edi, [esi89C4h+] ; RSDT
mov esedi24h:[+], eax
mov eax, [esi89DCh+]
mov esedi2Ch:[+], eax
nop
nop
nop
nop
cmp byte ptr [bp1BFh+], 7
jnz pequeno loc_CDFE
teste dword ptr [bp1C6h+], 200h
jz pequeno loc_CE2F
teste byte ptr [bp2EBh+], 4
jz loc_CE2F
mov eax, [esi89D0h+] ; apinhar ACPI endereçamento a RSDT28+
seg000CE22: mov esedi28h:[+], eax o endereço dali comando não pode ser alterado.O endereço locação da código isto é tudo apagar e embutido tem que ser lembrado:
seg000CDD7: ou eax, eax ï¼› 3 bytes
seg000CDDA: jz loc_CE32 ï¼›2 bytes
5 bytes iniciando de CDD7seg000CE0F: ou eax, eax ï¼› 3 bytes
seg000CE12: jz pequeno loc_CE2F ï¼›2 bytes
seg000CE14: mov edi, [esi89C4h+]
58+ bytes boquiaberto de CE0Fseg000CDEC: cmp byte ptr [bp1BFh+], 7
Original locação de CDEC para inserir tudo necessário código aqui - O mod processo é completo, agora voltar para UltraEdit for passado passo endereçamento modificação. Esse passo é melhor completo de inferior até prevenir o código abaixo estado atrapalhado quando substituindo a frente parte.
Em primeiro lugar, remover 13 bytes iniciando de CE0F.
Então inserto qualquer 4 bytes de aleatório dado às CDEC, então alteração o valor a 4 90 (90hnop=).
Cópia o código at CDE6 a CDEB, e cola a para endereçar iniciando de CDEC refletir o comando usado: mov esedi2Ch:[+], eax
Cópia o código at CDCF a CDD6, e cola a para endereçar iniciando de CDEC refletir o comando usado: mov eax, [esi89DCh+] - Salvo o código.
- Verificar que a mudança de código está correto usando IDA em verificar-se o modificado código está correto. Se sim, reparo o código na BIOS arquivo.
renunciante Esse artigo é for informaticamente e educacional alvo somente.
importante: Isto é um máquina traduzida página qual é fornecida " como é" sem garantia. Máquina tradução pode ser difícil comprender. Por favor recorrer aoriginal Inglês artigo sempre que possível.
Parte e contribuir ou obter suporte técnico e ajuda at My Digital Vida Fóruns.
Relacionado Artigos
- SEÇÃO Mesa (SLIC.BIN ou ACPISLIC.BIN) BIOS Arquivo for OEMs Colocar a informação
- Janela Vista Não Ativação EQUIPAMENTO ORIGINAL DOS FABRICANTES IDENTIFICAÇÃO for Vária Fabricantes
- Colocar a informação Vista Bagageiro 2.1.2 EQUIPAMENTO ORIGINAL DOS FABRICANTES BIOS Estalo Emular
- Melhor Vista Estalo for Ativação ( muita Digno de confiança Vista Atirar)
- BIOS com Janela Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES Suporta (ACPI_SLIC) Invalidar KMS Ativação
- Inválido Chave Erro Enquanto Atirar Vista com EQUIPAMENTO ORIGINAL DOS FABRICANTES Emulação ou Mod BIOS Fagulha
- Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES Ativação Estalo: Sendeiro para modificar Sapateiro para ativar Vista
- Software BIOS Emulação Remendo (softmod.iso) para emular EQUIPAMENTO ORIGINAL DOS FABRICANTES SEÇÃO de Dell, HP, Lenovo, Sony, Acerbar e ASUS
- Estalo para ativar Janela Vista como EQUIPAMENTO ORIGINAL DOS FABRICANTES for Acerbar Placa mãe/BIOS
- Janela Vista EQUIPAMENTO ORIGINAL DOS FABRICANTES Ativação Estalo (vstaldr) sem Modificar ou Fagulha BIOS

































Dezembro 30th, 2007 0408:
Yo!
Qualquer um podem mod o Asus 1011_013 beta K8N4-E De luxo bios?
Eu hei um Turion ML-42 cpu, mas eu dont’ manejar a voltagem controle na minha corrente bios. Eu posso abaixo a voltagem, mas acima não é trabalhando…
Muito obrigada para a sua tempo!
Abril 17th, 2007 0130:
Passo 16. Desculpe? que aquele texto já fala? Eu hei lido a muita tempos agora, e Estou não mais próximo comprender what deveria acabar naquela passo. A provavelmente é a mais dúbio peça de inglês texto Eu hei jamais lido
Será que devo duplicata os barbantes às endereçamento ganho de Tempbuffer_address, contagem +4 qualquer passo?
Abril 10th, 2007 1941:
Achei: passo 22 ;]
ida é a ser utilizada com original.bin , ida saque encontrar o código na arquivo. quando completo você tem que fazer lido o endereço locais: ce0f , cdd7 ….
com ultraedit vai a ce0f , cdd7 … aplicar o mudanças , o 2 locais eu falo por volta estão habituados a remover código ou eax,eax….
quase completo 8]
Abril 10th, 2007 0929:
passo 15
primeira variável: 4 faz não a necessidade aquela compressão aumentada by 1 a 5 ?
e portanto é a ser utilizada no passo 16 se valor é 5 em bios : 89dc
passo 17
arquivo para abrir em UltraEdit é original.bin [ ou acpitbl.bin] ? isso podeia ser mencionado em lugar “ abanado limpeza” bloco de teclas atalho 8-P
passo
o que fazer o arquivo acpitbl.bin com ida escrever código um this espaço aqui estou fora de saber o que fazer;[
vista é distante aquela compressão livre para mim 8]
Abril 9th, 2007 2131:
olá
Podem qualquer um mod um Asus k8ne de luxo bios 1011 ?
Abril 9th, 2007 1846:
eu fiz“ a” for asus k8n4-e de luxo , eu hei não provado ainda , eu submeter o bios aqui dentro.
eu fiz o arquivo com original bios e moda um.
o original é atualizado com última pci_bios roms for nvraid nvpxe e sata_raid sil_3114 .
http:/rapidshare.com/arquivos/25065364/k8n4ed_slic.zip.html/
diga-me como se eu fiz a bem
Abril 9th, 2007 0929:
o passo 10 não é portanto limpeza:
10 Posição o cursor após o RSDT…FACS enfiar ACPItables (db 1EH).
heis CC20 portanto não calc [ passo 15 ] ?
89D8 : se o endereço não é um problema“” para que fim passo salto?
ps : existe um tópico assim for instalando vista na fat32 , eu sei pode ser ser completo após instalar em ntfs a formato fat32 e cópia os reforços.
amável “ chinesa” trabalho;]
Desfile 23rd, 2007 0556:
podem alguém por favor poste um passo-by- passo ( deste documento at passo 22)
Desfile 22nd, 2007 1138:
Oi,
Estou encravado at passo 22 & 23.
é passo 22 for informação, ou existe um forma de fazer remover seg000CDD7,CDDA,CE0F: & CE12 em IDA?
como fazer eu digito na arrebanhar código manuscrita at seg000CDCF:
Ou fazer nós apagar os códigos e digite nova um usando winhex ou ultraedit.
Eu uso winhex para todas as minhas edição.
Desfile 21st, 2007 1819:
Modded BIOS for MSI K8N SLI-F qualquer um?
Desfile 16th, 2007 0348:
Ferramentas para abrir:
prêmio modbin
AMI: mmtool, amimmwin
fênix Fênix Bios editor
Desfile 16th, 2007 0159:
Eu peço ainda, como trabalhar com AMI ou fênix BIOS?
What ferramentas usar modbin6 faz não trabalho ainda que EU mudar o nome arquivos a *.bin