Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Значение переменной чужого приложения [WinXP]


Хинт ©   (2005-07-14 10:06:00) 

Возможно ли обращаясь к памяти чужого приложения следить за значением одной из его переменной? Если да, то как? Насколько это тяжело реализовать?

Пример:
Создаем форму, кидаем на неё EditBox и две кнопки. Описываем глобальную переменную
str:string[3];

При нажатии одной кнопки присваеваем переменной STR значение текста EditBox'а:
procedure TForm1.Button1Click(Sender: TObject);
begin
str:=edit1.text;
end;


При нажатии другой заносим в переменную str случайный текст:
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 3 do str[i]:=chr(ord('a')+random(26));
end;


Возможно ли получать значение переменной STR из другой программы?
Насколько я понимаю (может быть ошибаюсь), сначала необходимо узнать относительный адрес переменной STR, а потом уже обращаться по этому адресу...


BiN   (2005-07-14 15:57:00) [1]

Хинт ©   (14.07.05 15:45) [5]

(WinXP SP2 учетная запись Администратора)


Кстати, в приложенном описании есть перечень поддерживаемых версий ОС и XP SP2 там пока нет.


BiN   (2005-07-14 15:54:00) [2]

Хинт ©   (14.07.05 15:45) [5]

2BiN
"Попытка обращения к неверному адресу" =(
(WinXP SP2 учетная запись Администратора)


Как, опять?!
Мои извинения. Вечером выложу новую версию.


BiN   (2005-07-14 15:54:00) [3]

Удалено модератором
Примечание: Дубль


alpet   (2005-07-14 15:49:00) [4]

winnergamecheater source code:
http://www.alpet.hotmail.ru/wgcsrc.zip(Delphi6) - Для поиска значения.
Если нужно отлавливать каждое изменение "переменной" - можно воспользоватся отладочным API - в приведенных исходниках это показано.


Хинт   (2005-07-14 15:45:00) [5]

2BiN
"Попытка обращения к неверному адресу" =(
(WinXP SP2 учетная запись Администратора)


BiN   (2005-07-14 11:12:00) [6]

Так, немного рекламы -)...
http://binary.front.ru/downloads/kwalk/kwalk.zip


Digitman   (2005-07-14 11:11:00) [7]

например, ArtMoney


Хинт   (2005-07-14 11:01:00) [8]

Большое спасибо. Только проблема в том, что необходимо получить значение переменной уже готово приложения =( Есть ли какие-нибудь программы, которые находят абсолютный адрес по значению в памяти процесса?


Digitman   (2005-07-14 10:45:00) [9]


> сначала необходимо узнать относительный адрес


собери проект опцией линкера Map File = Details, получишь отн.адрес переменной в секции иниц.данных

зная ImageBase, отн.адрес секции и отн.адрес переменной в этой секции, расчитываешь абс.адрес

имея абс.адрес читаешь собственно значение (ReadProcessMemory)


Наверх

Титульная страница Поиск, карта сайта Написать письмо