Świętowit napisał(a)
@pan_smierci, a możesz jakieś sensowne konkrety podać? Bo wylistować używane przez proces obszary pamięci to nie problem, tylko wątpię czy tego naprawdę potrzebujesz.
W tej chwili nie potrzebuję tego, ale po prostu chciałem dowiedzieć się czegoś nowego, przećwiczyć to.
Powiedzmy, że chcę napisać program w stylu Cheat Engine. Podajesz wartość np. 34 (amunicja w grze) i klikasz "skanuj" i program ma przeskanować wszystko.
Nie znam się na tym, jak ta pamięć wygląda, czy np. niektóre dane są zapisane np. od FFA000 do FFAEFF, a następnie jest np. jakaś pusta przestrzeń np. na 900 adresów, a dopiero po nich są kolejne np. 200 adresów z liczbami, znakami itd, później znowu jakiś odstęp itd...
Chodzi o to, że nie chcę skanować w pętli wszystkiego i w ogóle nie wiem jakby się program zachował, gdybym mu kazał pobrać wartość "nieistniejącego" adresu, wysypałby się, albo nic by nie zwracał i skanował dalej puste rzeczy przez co marnowałby czas i całość zajmowałaby wieki.
Oczywiście ten przykład to tylko przykład (głupio brzmi to zdanie), ale chyba mniej więcej łapiesz o co mi chodzi.
Znasz jakieś funkcje do tego, do pobrania adresów i do sprawdzenia konkretnego, czy "coś ma"? (te funkcje pewnie na msdn będą gdzieś?). I ewentualnie prosiłbym o dwa słowa instrukcji np. "najpierw pobierz pid, otwórz proces jako.. i wtedy użyj tej funkcji gotowe (a po niej innej, czy coś). Z góry dzięki za info. (wolałbym "prymitywne" opisy i sposoby, niż jakieś zaawansowane)