Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 15:52   #1
Djanius
Пользователь
 
Аватар для Djanius
 
Регистрация: 24.01.2009
Сообщений: 16
Стрелка Как найти динамическую переменную?

Здравствуйте уважаемые.
Ищу с помощью АртМани значение в памяти чужого процесса.
АртМани находит то что мне нужно. Далее я пытаюсь в своей проге получить доступ к процессу и записать по найденному АртМани адресу данное значение, делаю так -

...
WindowName := FindWindow(nil,WindowTitle);
If WindowName = 0 then
begin
MessageDlg('Процесс в памяти не найден.', mtwarning,[mbOK],0);
end;

ThreadId := GetWindowThreadProcessId(WindowName ,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,Fals e,ProcessId);

GetMem(buf,1);
buf^ := Chr(PokeValue);
WriteProcessMemory(HandleWindow,ptr (Address),buf,NumberOfBytes,write);
FreeMem(buf);
closehandle(HandleWindow);
...

Но адрес который находит АртМани, меняеться каждый раз при перезапуске программы, т.е. я так понимаю что переменная содержащая нужную мне инфу - динамическая, можно как нить при запуске моей программы найти ее?
Djanius вне форума Ответить с цитированием
Старый 01.06.2011, 17:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

слово указатель вам о чем то говорит?
в артмани же есть функция поиска указателя, внесите туда адрес вашей переменной(или просто искать значение в 4 байта, я не помню как оно там)
можно поискать какой то промежуток(от меньше до нашего адреса). так как переменная может быть частью структуры.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.06.2011, 17:41   #3
Djanius
Пользователь
 
Аватар для Djanius
 
Регистрация: 24.01.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
слово указатель вам о чем то говорит?
Конечно говорит.
На счет с подсказкой артмани спасибо, не знал про данную функцию, так как не очень часто прибегаю к помощи данной программы.
В принципе меня больше и интересовало то, как найти неизвестный указатель, просто неправильно сформулировал вопрос.
Буду пробовать, еще раз спасибо за подсказку.

Последний раз редактировалось Djanius; 01.06.2011 в 17:43.
Djanius вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать одну динамическую библиотеку из нескольких статических? VIIIP Общие вопросы C/C++ 0 20.10.2010 17:25
Как записать (считать) динамическую строку в (из) файл(а)? C++ Сергей089 Помощь студентам 2 10.02.2010 22:00
Как обнулить переменную? Zooleen Общие вопросы C/C++ 1 10.07.2009 00:15
Как создать динамическую матрицу? prikolist Общие вопросы C/C++ 2 16.04.2009 15:51
Как сохранить переменную? molodoyy Общие вопросы C/C++ 5 21.01.2009 04:34