Witam wszystkich. Jestem początkującym programistą, jak każdy mam problemy z ogarnięciem API Windowsa.
Ostatnio czytałem dużo na ten temat ale dalej nie do końca rozumiem przeznaczenie HOOKów. Moim celem jest stworzenie zabezpieczenia przed keyloggerami. Keylogger za pomocą funkcji ReadProcessMemory kradnie z pamięci procesu dane użytkownika. Myślałem nad tym aby zablokować tę funkcję i dowiedziałem się że jest to nie możliwe aby zabezpieczyć pamięć w 100%. Jednak podobno z pomocą przychodzą HOOki. Czytałem wiele na ich temat i wiem że są globalne oraz lokalne. Lokalne działają w programie a globalne na całym komputerze.
Nie jestem pewien czy da rade zrobić takie coś ale wpadłem na pewien pomysł. Czy da się założyć HOOK na funkcję ReadProcessMemory? Należy podkreślić że nie znam nazwy procesu (ani PID ani HANDLE) który jest keyloggerem.
Jak by to wyglądało? Od czego zacząć naukę nad takim bajerem? Czytałem już dużo na różnych forach i kursach ale brakuje tam podstaw. Pomyślałem że ktoś nakieruje mnie na tym forum.
Jak to jest z kontrolą funkcji ReadProcessMemory? Od czego zacząć i jak to może teoretycznie wyglądać?
@Edit:
Myślę że jest to możliwe bo na jednym z forum znalazłem coś takiego:
*Odpowienie ustawienie uprawnień ACL - pętla ustawiająca DENY na READ (GR) WRITE (GR) i usuwająca Debug Privilege każdemu procesowi
*DLL Injection - hook na funkcję OpenProcess, ReadProcessMemory, ReadVirtualMemory. Z hooka będzie można kontrolować każde żądania tych funkcji