ReadProcessMemory i dynamiczny tekst

0

Witam

Stworzyłem program w delphi , umieściłem na min pole edit

Do szukania w pamięci użyłem programu Cheat Engine

napisalem cos w edit i za pomoca CheatEngine wyszukałem w pamięci gdzie to jest.

Tu jest filmik który nagrałem z pokazaniem jak po chwili wpisywania tekstu w pole edit "przeskoczył" on do innego adresu.
http://megaswf.com/serve/82680/

Po pewnym czasie gdy wpisuje dalszy ciąg tekstu zmienia on położenie w pamięci

Potrzebuje pobrać tekst z edita TYLKO! poprzez odczytywanie go z pamieci, ale jak mam to zrobić jak skacze on ciągle po niej?

Jestem troche zielony z tego mógłby mi ktoś wytłumaczyć czemu tak sie dzieje i jak można śledzić za pomocą delphi taki teskt w pamięci?

W delphi odczytuje dane za pomocą znalezionego kodu(fragment) w necie:

 
  WinAmp_HWND := FindWindow(nil, 'Form1');
  if WinAmp_HWND <> 0 then
    begin
    MPointer := (StrToInt64('$jakisadres'));
    GetWindowThreadProcessId(WinAmp_HWND, TempHandle);
    WinAmp_HWND := OpenProcess(PROCESS_ALL_ACCESS, False, TempHandle);
    ReadProcessMemory(WinAmp_HWND, Pointer(MPointer), @Dat2, 50, Temp);
    CloseHandle(WinAmp_HWND);
    TempStr := Dat2;
    Result := TempStr;

0

W sumie sprawa jest w miare prosta , stracilem troche czasu ale udalo mi sie wyczaic o co w tym biega, bylo by szybciej jakby ktos mnie naprowadzil ;)

Jesli ktos bedzie mial ten sam problem polecam szukac z naciskiem na base adress and Multilevel Pointers .

Pozdrawiam.

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