Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
ВнизПоиск значения в памяти процесса Найти похожие ветки
← →
HF-Trade © (2006-12-20 06:14) [0]Здравствуйте уважаемые.
1.Ищу с помощью АртМани значение в памяти чужого процесса. Значение типа Real.
АртМани находит то что мне нужно. Далее я пытаюсь в своей проге получить доступ к процессу и прочитать по найденному АртМани адресу данное значение, делаю так -
Var
PHandle:DWord;
Pid:DWord;
XXX:Hwnd;
.....
XXX:=FindWindow("XXXX",nil);
Begin
GetWindowThreadProcessId(XXXX,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
......
var
ID:Real;
RetVal:DWord;
begin
ReadProcessMemory(pHandle, ptr($0b150bc4) , @ID, 4,RetVal);
Image1.Canvas.TextOut(0,0,"FloatToStr(ID));
Найденное значение отличаеться от того что находит АртМани, - подскажите плз, может как то по другому читать надо?
2. Адрес который находит АртМани, меняеться каждый раз при перезапуске программы, т.е. я так понимаю что переменная содержащая нужную мне инфу - динамическая, можно как нить при запуске моей проги найти ее?
Если кто может помочь, оставьте асю плз.
← →
TUser © (2006-12-20 06:44) [1]Чужая программа написана на Delphi? Уверен, что формат Real там тот же, что и у тебя.
Если переменная - динамическая, то где-то есть указатель, или указатель на указатель или указатель и смещение или ... .Соотвественно тебе надо найти первую нединимическую переменную и пройти по всей цепочке.
← →
Loginov Dmitry © (2006-12-20 07:30) [2]> ID:Real;
Попробуй Real48
← →
Сергей М. © (2006-12-20 08:17) [3]The generic type Real, in its current implementation, is equivalent to Double.
Generic real types
Type Range Significant digits Size in bytes
Real 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8
А ты читаешь всего 4 байта.
← →
HF-Trade © (2006-12-22 19:03) [4]
> Чужая программа написана на Delphi? Уверен, что формат Real
> там тот же, что и у тебя.
хз, на чем она написанна, это 3Д клиент Арены Онлайн, просто друг просил крату написать(неудобная у них карта, пометки свои ставить низя и т.п), я написал(почти), а тут у них клиент обновился, и раньше переменные были типа интегер, а тут реал....да еще и х найдеш...
Формат вроде такой же, по крайней мере в АртМани ставил искать стандартные Флоат... - Находит несколько штук, все они меняються прально при перемещении персонажа. -
> Если переменная - динамическая, то где-то есть указатель,
> или указатель на указатель или указатель и смещение или
> ... .Соотвественно тебе надо найти первую нединимическую
> переменную и пройти по всей цепочке.
Как ПРАВИЛЬНО\ГРАМОТНО найти первую нединамическую переменную? В арт мани я могу найти указатель на значение которое ищу, НО нахожу несколько указателей, значения найденных указателей - пусты, соответственно при попытки отсеять их при перемещении персонажа, АртМани отсеивает их все...
(Ну не искать же все указатели на те что я уже нашел..., их же тоже на каждый может быть несколько - так и упариться мона =) )
[2] - Пробовал, не помогло.
[3] - Я ставил и 8 читать, те же яйца=) (И почему тогда АртМани показывает что число 4 байтовое.
← →
Loginov Dmitry © (2006-12-22 23:25) [5]Пробуй Single
← →
HF-Trade © (2006-12-23 05:44) [6]
> Пробуй Single
Точно... затупил(бьюсь головой Ап стену) =) Single - 4 bytes
Насчет динамических переменных, - кто нить подскажет тупому?=)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c