AM4 Chipset のPCにWindows 2000を入れる実験 その12
前回WinDbgの接続に成功したのですが、ブレークポイント設定しても止まらない…。
色々調べてみた所HALをロードし終わらないとアタッチ処理まで進めないという事が判明しました
( ・ω・)・ω・)・ω・) な、なんだってー
これでは、卵が先か鶏が先かだ…。
L20021A72: <- 元のEntry Point push ebp mov ebp,esp push ecx push ebx push esi push edi mov eax,ds:[FFDFF020h] cmp dword ptr [ebp+08h],00000000h mov edi,eax jnz L20021DCB mov eax,[ebp+0Ch] mov esi,000000FFh push eax mov ecx,[eax+60h] and ecx,esi mov [L20019B28],ecx call SUB_L2002198A mov ax,[edi+12h] mov ebx,[ntoskrnl.exe!KeBugCheckEx] test al,01h jz L20021AC0 movzx eax,ax ;------------------------------------------------------------------------------ EntryPoint: int3 int3 jmp L20021A72 |
強制的にブレークポイント入れてみた。
アタッチ&トレースできてる!
で、問題の箇所なのですが
SUB_L2001C976: // HalpInitializeIOUnits mov eax,[L2001A110] // HalpMpInfoTable.IOApicCount push ebx xor ebx,ebx push esi test eax,eax push edi jbe L2001C9D6 mov edi,L2001A124 // HalpMpInfoTable.IoApicBase L2001C989: mov esi,[edi] push ebx mov dword ptr [esi],00000000h // IoUnitPtr->RegisterSelect = IO_ID_REGISTER; call SUB_L20017C6C |
なんか、HalpMpInfoTable の中身が初期化されてないような? (((・ω・)))
z
AM4 Chipset のPCにWindows 2000を入れる実験 その1
AM4 Chipset のPCにWindows 2000を入れる実験 その2
AM4 Chipset のPCにWindows 2000を入れる実験 その3
AM4 Chipset のPCにWindows 2000を入れる実験 その4
AM4 Chipset のPCにWindows 2000を入れる実験 その5
AM4 Chipset のPCにWindows 2000を入れる実験 その6
AM4 Chipset のPCにWindows 2000を入れる実験 その7
AM4 Chipset のPCにWindows 2000を入れる実験 その8
AM4 Chipset のPCにWindows 2000を入れる実験 その9
AM4 Chipset のPCにWindows 2000を入れる実験 その10
AM4 Chipset のPCにWindows 2000を入れる実験 その11
Comments