Главная страница
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.049 c
3-1122398760
Оля
2005-07-26 21:26
2005.09.04
Проблема с печатью


5-1097175244
Sergey_Masloff
2004-10-07 22:54
2005.09.04
D7 only! control has no parent window


1-1123671846
InVariantian
2005-08-10 15:04
2005.09.04
Интернациолизация проги


1-1123752286
.ruslan
2005-08-11 13:24
2005.09.04
Memo без использования “Enter”


3-1122306554
redlord
2005-07-25 19:49
2005.09.04
dbgrid + sqldataset