Results 1 to 4 of 4

Thread: Solitär - code injection

  1. #1
    Just burned his ISO
    Join Date
    Jan 2010
    Posts
    5

    Default Solitär - code injection

    Hallo, ich weiß es ist vielleicht nicht ganz das richtige Forum aber ich bin der Meinung hier auf Menschen mit Ahnung von der Materie zu treffen.

    Ich spiele gerade ein wenig mit Ollydbg und dem Windows Spiel Solitär zum lernen rum.

    Bis jetzt habe ich es geschafft, die Zeit im Spiel anzuhalten und zwar wie folgt.
    Ein neue Spiel starten, eine Sekunde vergehen lassen und dann Olly pausieren.

    0100519E |. 397E 28 CMP DWORD PTR DS:[ESI+28],EDI
    010051A1 |. 74 43 JE SHORT sol.010051E6
    010051A3 |. 393D 6C710001 CMP DWORD PTR DS:[100716C],EDI
    010051A9 |. 75 3B JNZ SHORT sol.010051E6
    010051AB |. 8B46 34 MOV EAX,DWORD PTR DS:[ESI+34]
    010051AE |. 68 FE7F0000 PUSH 7FFE
    010051B3 40 INC EAX <----- Ersetzt durch NOP
    010051B4 50 PUSH EAX
    010051B5 E8 EAD1FFFF CALL sol.010023A4
    010051BA |. 837E 58 FF CMP DWORD PTR DS:[ESI+58],-1
    010051BE |. 8946 34 MOV DWORD PTR DS:[ESI+34],EAX
    010051C1 |. 75 0B JNZ SHORT sol.010051CE
    010051C3 |. 8B4E 6C MOV ECX,DWORD PTR DS:[ESI+6C]
    Ich ersetzte 40 INC EAX durch NOP und schon friert die Zeit im Spiel ein.
    Die Sache ist die, dass ich eine Sekunde vergehen lassen muss.
    Wenn die Zeit auf 0 steht werden einem Punkte wieder abgezogen.

    Nun ist die Idee das ganze von Anfang an auf MOV EAX, 1 zu setzen.
    Damit die Zeit von Anfang an immer auf 1 bleibt.
    Damit überschreibe ich aber leider den folgenden Befehl PUSH EAX.

    Wie kann ich es also anstellen, meinen Code einzufühgen ohne den
    danach folgenden Code zu überschreiben?

    mfg NeoCortex

  2. #2
    Moderator KMDave's Avatar
    Join Date
    Jan 2010
    Posts
    2,281

    Default

    Mh, ein netter Ansatz um zu lernen.

    Dafuer wuerde sich ein sogenanntes Codecave eignen, damit sollte es klappen. Wie es genau funktioniert bzw. implementiert wird, ueberlasse ich einfach mal dir herauszufinden. Schliesslich geht es darum, es zu lernen. Falls du das Konzept verstanden hast, aber die Implementation nicht so ganz funktioniert, melde dich einfach
    Tiocfaidh ár lá

  3. #3
    Just burned his ISO
    Join Date
    Jan 2010
    Posts
    5

    Default

    Codecave war das Zauberwort für die Google-Suche.
    Gefunden, verstanden und gelernt

    Das einzige was mich wundert ist, dass es echt stellen im Programm gibt in denen nur 00 steht. Ich dachte eingentlich immer Compiler würden das Optimal zusammen setzen und nicht solche "Lücken" hinterlassen.

  4. #4
    Moderator KMDave's Avatar
    Join Date
    Jan 2010
    Posts
    2,281

    Default Re: Solitär - code injection

    Mitnichten.
    Du koenntest auch selbst dir noch ein Code Cave basteln, wenn du ein groesseres brauchst.
    Tiocfaidh ár lá

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •