Witam. Piszę temat, gdyż ja niestety chyba nic nie wymyślę. Zarywam noc kombinując - dlaczego w przypadku tej jednej aplikacji nie mogę uzyskać dostępu do pamięci. Nie jest to aplikacja chroniona w żaden sposób i powiniem być wstanie bez problemu ją modyfikować. Niestety, ale wyświetla się "odmowa dostępu". Rzecz w tym, gdy chcę uzyskać dostęp do jakiejkolwiek innej aplikacji zmieniając w kodzie tylko identyfikator PID to wszystko działa.
To jest kod:
function MemReadInteger(Address: Cardinal): Integer;
var
value:integer;
ProcId: Cardinal;
tProc: THandle;
begin
tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, 20812); //dziala 24472 , &5F98
ShowMessage(SysErrorMessage(GetLastError));
ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
CloseHandle(tProc);
Result:=value;
end;
Robiłem to również z GetWindowThreadProcessId i nazwą okna, ale też nie działało dlatego kombinując zacząłem samemu wklikiwać PID.
Ktoś ma pomysł dlaczego to się dzieje tylko i wyłącznie z tą jedną aplikacją, która warzy dosłownie 50 mb?
Dzięki.