Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Значение переменной чужого приложения   Найти похожие ветки 

 
Хинт ©   (2005-07-14 10:06) [0]

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

Пример:
Создаем форму, кидаем на неё 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, а потом уже обращаться по этому адресу...


 
Digitman ©   (2005-07-14 10:45) [1]


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


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

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

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


 
Хинт ©   (2005-07-14 11:01) [2]

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


 
Digitman ©   (2005-07-14 11:11) [3]

например, ArtMoney


 
BiN ©   (2005-07-14 11:12) [4]

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


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

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


 
alpet ©   (2005-07-14 15:49) [6]

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


 
BiN ©   (2005-07-14 15:54) [7]

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

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


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


 
BiN ©   (2005-07-14 15:54) [8]

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


 
BiN ©   (2005-07-14 15:57) [9]

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

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


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



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
1-1124084151
Damager
2005-08-15 09:35
2005.09.04
String to Char


14-1122809211
Piter
2005-07-31 15:26
2005.09.04
Книга дракона


3-1122201185
NickMan
2005-07-24 14:33
2005.09.04
ADO и BDE не уживаются в одном приложении


1-1123239946
afanasic
2005-08-05 15:05
2005.09.04
Как сделать, чтобы окно отображалось поверх TaskBar?


14-1123490289
ocean
2005-08-08 12:38
2005.09.04
Реальные встречи