Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.011 c
1-1164182036
DelphiLexx
2006-11-22 10:53
2007.01.14
DBGridEh и его Title


15-1166977326
Yegorchic
2006-12-24 19:22
2007.01.14
При включении ADSL модема сигнал в трубке затихает


15-1166985313
sinus
2006-12-24 21:35
2007.01.14
Ищу компонент...


1-1164032851
Alexis
2006-11-20 17:27
2007.01.14
Получение всех шрифтов системы


2-1166808842
ezorcist
2006-12-22 20:34
2007.01.14
Что означает ошибка "RLINK32" Out of memory!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский