|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.02.2009, 21:12 | #1 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
Чтение данных из памяти процесса (need help)
Здравствуйте участники форума. Просмотрел множество сайтов, прежде чем попал к Вам. Раньше дело с процессом чтения из памяти не имел и поэтому много вопросов. Сейчас он стоит в следующем. Есть программа (игра), через артмани нахожу адрес памяти с переменной далее код:
Код:
Помогите пожалуйста разобраться. Последний раз редактировалось rpy3uH; 25.02.2009 в 21:21. |
25.02.2009, 23:04 | #2 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 236
|
Вообще константа в делфи прописана. Поэтому возможно ошибка в ней, а с другой стороны возможно стоит получить полные права
To open a handle to another local process and obtain full access rights, you must enable the SeDebugPrivilege privilege. For more information, see Changing Privileges in a Token. |
25.02.2009, 23:16 | #3 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
А как можно определить PROCESS_WM_READ для другого процесса? Код не мой, но как раз то что надо, но вот что конкретно туда подставить...Еще попробую с привелегиями.
|
25.02.2009, 23:49 | #4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
PROCESS_VM_READ = $0010;
константы уже определены в windows.pas
пыщь
|
26.02.2009, 07:03 | #5 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
До этого стояло $0010, но было тоже самое. Может быть такое, что программа не дает считывать данные с адреса? Хотя артмани читает же...или адрес в артмани не верный??? Думал может хэндл не верный, брал хэндл окна, но с ним вообще ошибка №6.
|
26.02.2009, 10:30 | #6 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
Попробовал другой адрес, теперь ошибка 299. Как определить адрес памяти не самой переменной, а процесса, начальный адрес. Я вот поставил 0000091С и стала ошибку давать 299, на след запуск адрес уже нужно было ставить 0000F04....
|
26.02.2009, 10:35 | #7 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
у процесса нет начального адреса. Есть начальный адерс его образа, а это уже не так просто определить. Для того чтобы узнать выделен ли участок виртуальной памяти процесса надо юзать функцию VirtualQueryEx
|
26.02.2009, 13:41 | #8 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
VirtualQueryEx указал, что размер региона 64кбайта. Как сделать перемещение по адресам памяти или это заложено в PROCESS_WM_READ = $0010 и PROCESS_WM_OPERATION = $0008. Само значение VirtualQueryEx равно 28, так же как и SizeOf(mbi)
|
26.02.2009, 14:55 | #9 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
С указателями путаница, вот рабочий вариант для ctfmon.exe
Код:
пыщь
|
26.02.2009, 16:52 | #10 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 16
|
ГРОМАДНЕЙШЕЕ СПАСИБО!!! ОЧЕНЬ ПОМОГЛИ!!! В артмани судя по всему указатель, но почему то этот указатель на адрес тот, что меньше указанного Вами, поэтому выдает ошибку 299. Можно пообщаться в ICQ?
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выполнение адреса памяти чужого процесса | XAOC-forever | Общие вопросы Delphi | 2 | 15.12.2008 09:03 |
Баг с чтением из внтуренней памяти процесса. | Ivan_32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 13.12.2008 15:22 |
Редактирование памяти процесса (Delphi) | Air | Помощь студентам | 4 | 17.10.2008 15:19 |
Редактирование памяти процесса | Air | Win Api | 6 | 16.02.2008 20:15 |