Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Polecenie PushToConsole
#1
Tak więc zajrzałem do tej gry o nazwie Dystrykt 187. To trochę nooby, ale używa tego samego silnika co broń bojowa. Zgaduję więc, że polecenie PushToConsole powinno działać tutaj. Znalazłem to w OllyDbg.       Kod:   1002DDCC |. 0F57C0 XORPS XMM0, XMM0 1002DDCF |. 8B0D 589A5010 MOV ECX, DWORD PTR DS: [10509A58] 1002DDD | 8D4424 04 LEA EAX, DWORD PTR SS: [ESP + 4] 1002DDD |. F3: 0F114424 04 MOVSS DWORD PTR SS: [ESP + 4], XMM0 1002DDDF |. 8B11 MOV EDX, DWORD PTR DS: [ECX] 1002DDE1 |. 8B92 D8010000 MOV EDX, DWORD PTR DS: [EDX + 1D8] 1002DDE7 |. 50 PUSH EAX 1002DDE8 |. 68 04A94810 PUSH GameClie. 1048A904; ASCII "FogEnable" 1002DDED |. FFD2 CALL EDX   Robię to..       Kod:   void __cdecl PushToConsole (const char * szCommand) {DWORD * Addie = (DWORD *) (0x10509A58); void * CONoff = (void *) * (DWORD *) (* Addie + 0x1D8); __asm {push szCommand; zadzwoń do CONoff; dodać esp, 4; }}   Również Addie = LTClient. Dla tych, którzy się zastanawiają.     Używam tego w ten sposób ...     Kod:   PushToConsole ("FogEnable 0");   Doens't crash lub cokolwiek, ale to nie daje mi wyników. Co jest nie tak z tym ???   Czy powinienem używać tego adresu - zamiast tego 1048A904? Bez żadnych przesunięć?
Reply
#2
Idk o tej grze, ale w opisie, który napisałeś, rejestr eax również zostaje zepchnięty. więc zakładam, że eax może przechować wartość cvar. Spróbowałbym tego: Kod: void __cdecl PushToConsole (const char * szCommand, DWORD dwValue) {DWORD * Addie = (DWORD *) (0x10509A58); void * CONoff = (void *) * (DWORD *) (* Addie + 0x1D8); __asm {mov eax, dwValue push eax push szCommand; zadzwoń do CONoff; dodać esp, 8; }}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)