Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.180.32] |
|
Сообщ.
#1
,
|
|
|
Драсте! 8) Пиплы, подскажите, плз, как можно просканить память, которую занимает другая прога? Как определить ентот диапазон памяти?
З.Ы. этакая артмания... Сенк... |
Сообщ.
#2
,
|
|
|
0..$7FFFFFFF + $80000000..$FFFFFFFF
|
Сообщ.
#3
,
|
|
|
И что ентот хекс значит?
|
Сообщ.
#4
,
|
|
|
Мой тебе совет. Если не принципиально не лезь ты в эту память. Будеш перезагружаться после каждого запуска своей проги. Ну а если ты хочеш ломалку для игр писать то зачем велосипед изобретать. Этих ломалок и так навалом. И последние игры уже делаються с защитой от них.
|
Сообщ.
#5
,
|
|
|
Мне принципиально.... я пишу не просто ВООБЩЕ, а под конкретную прогу...
З.Ы. я даже смещение знаю.... мне бы адрес сегмента....... |
Сообщ.
#6
,
|
|||
|
Это диапазон, который занимает прога в контексте своего пространства. А адресное пространство на уровне системы не плоское, а страничное, если я ничего не путаю. Короче, виртуальная память. |
Сообщ.
#7
,
|
|
|
Товарищ, ты мне близок Я бесюсь, если вместо ответа мне говорят "на тебе это надо, вот есть прога, используй ее!" Мне интересен процесс, а не результат. Итак, решение:
ReadProcessMemory, WriteProcessMemory. BOOL ReadProcessMemory( HANDLE hProcess, // хэндл процесса, открывается OpenProcess LPCVOID lpBaseAddress, // Адрес начала куска памяти, смещение LPVOID lpBuffer, // адрес буфера под ентот кусок DWORD nSize, // количество байтов, которые надо прочитать LPDWORD lpNumberOfBytesRead // Переменная, в которую скинется количество прочитанных байтов ); Прототип WriteProcessMemory такой же, только он пишет в память. С помощью этих функций написать свою Артманю - дело пары часов ненапряжного труда... |
Сообщ.
#8
,
|
|
|
Сенк, товарищ 8@)
|