Administrator
Posty: 294
Dołączył(a): 9 sty 2015, o 15:19
Lokalizacja: Trzebież
Płeć: Mężczyzna
[1.13c] Odpalanie gry wielokrotnie
Otwieranie Diablo 2 wielokrotnie!
Jeśli chcemy żeby można było włączać grę wielokrotnie pod rząd trzeba wprowadzić jedną zmianę w kodzie.
Zmiana dotyczy pliku D2Gfx.dll.
Odszukujemy taki fragment kodu:
Teraz trzeba zmienić wartość 74 45 na EB 45 czyli funkcję JZ SHORT 6FA88606 na JMP SHORT 6FA88606.
Jeśli chcemy żeby można było włączać grę wielokrotnie pod rząd trzeba wprowadzić jedną zmianę w kodzie.
Zmiana dotyczy pliku D2Gfx.dll.
Odszukujemy taki fragment kodu:
- Kod:
Address Hex dump Command Comments
6FA885A0 /$ 55 PUSH EBP
6FA885A1 |. 8BEC MOV EBP,ESP
6FA885A3 |. 83E4 F8 AND ESP,FFFFFFF8 ; QWORD (8-byte) stack alignment
6FA885A6 |. 81EC 2C020000 SUB ESP,22C
6FA885AC |. 53 PUSH EBX
6FA885AD |. 56 PUSH ESI
6FA885AE |. 57 PUSH EDI
6FA885AF |. 33F6 XOR ESI,ESI
6FA885B1 |. 56 PUSH ESI ; /WindowName => NULL
6FA885B2 |. 68 FC0CA96F PUSH OFFSET 6FA90CFC ; |ClassName = "Diablo II"
6FA885B7 |. FF15 84D1A86F CALL DWORD PTR DS:[<&USER32.FindWindowA> ; \USER32.FindWindowA
6FA885BD |. 85C0 TEST EAX,EAX
6FA885BF |. 74 45 JZ SHORT 6FA88606
6FA885C1 |. 8D4424 38 LEA EAX,[LOCAL.128]
6FA885C5 |. 68 7CE4A86F PUSH OFFSET 6FA8E47C ; ASCII "Diablo II Critical Error"
Teraz trzeba zmienić wartość 74 45 na EB 45 czyli funkcję JZ SHORT 6FA88606 na JMP SHORT 6FA88606.