scaner pamieci procesu

0

Chce napisac program w delphi ktoremu bede podawac wartosc a on w pamieci procesu wyszuka mi wszystkie adresy majace ta wartosc taki odpowiednik programu tsearch
na razie udalo mi sie napisac cos takiego

begin
WindowName := FindWindow(nil, WindowTitle);
if WindowName = 0 then
begin
caption:='Uruchom   '+WindowTitle;
end;
if WindowName <> 0 then
begin
spinedit1.Enabled:=true;


ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);

for i:=$400000 to $FFFFFFF do
begin 
ReadProcessMemory(HandleWindow, pointer(i),@buf, NumberOfBytes, Read);

if spinedit1.Value:=buf then memo1.lines.add(inttohex(i));

end;
end;

chodzi mi o sposob w jaki mam przeszukiwac ta pamiec bo ten co uzylem w tym kodzie jest strasznie wolny i podejrzewam ze zle napisany .Prosze o jakas pomoc

0

Moze lepiej by bylo zeby najpierw w petli odczytac cala zawartosc pamieci do jakiegos bufora a nastepnia juz poza petla zaimplementowac funkcje do skanowania informacji zawartych w tym buforze.. na takiej zasadzie dzialaja chyba wszystkie skanery pamieci gdyz pozniej jezeli uzywasz opcji ponownego szukania w celu sprawdzenia czy dana wartosc sie zmienila to wlasnie nowy bufor jest porownywany ze starym buforem i ci wyswietla wszystkie adresy w ktorych dana wartosc sie zmienila

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