Przeszukanie pamięci procesu i znalezienie stringa

0

Jak przeszukać w Delphi pamięć procesu? Potrzebuje znaleźć stringa z dwoma zmiennymi:

{ "data1" : "ZMIENNA1", "data2" : "ZMIENNA2" }

i ustalić jego adres w pamięci. Wiem, że potrzeba tu wyrażeń regularnych, ale jak w ogóle takie coś przeszukać? Proszę o wskazówki.

2

Wskazówki są proste, chociaż moje może nie za idealne ;) Polecam zatem zapoznać się z wpisem na moim blogu o robieniu Trainera do starej gry "Max Payne". Trainer jest dołączony ze źródłem, a link do niego jest pod koniec wpisu. Powstało to dawno temu i nie jest oczywiście idealne.

Pisane w Delphi 7 i WinAPI. Ważne, że na wspominanej we wpisie wersji gry z patchem 1.05, jak wynika z moich testów działa raczej ok. Masz tam użyte funkcje FindBytesInMemory oraz FindStringInMemory. Wiem, że ich kod mógłby być ciut bardziej optymalny. Ale jest jak jest. Gdy to pisałem cały czas się doskonaliłem. A moim celem było stworzenie tego tylko w WinAPI. Zawsze masz jakby "bazę" do dalszego kombinowania całkiem po swojemu i samodzielnie z tym do czego Ci to jest dalej potrzebne.

EDIT: dołączyłem kod plus exek i potrzebne moduły do tego posta. Poprawiona literówka w jednym z tekstów. Do tego nie ma użycia modułów KolMCK i skrypt buildujący nie pakuje exeka UPX'em. A wspomniane elementy mogą powodować false positives przy wielu tandetnych programach av.

1 użytkowników online, w tym zalogowanych: 0, gości: 1