Post 13 lip 2015, o 14:57

[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:


  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.
Motto:
Spoiler:

Grupa

Alchemic