Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 30.10.2011, 00:45
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

а можите подсказать какие небуть норм программы типа артмани
для работы с памятью других программ

некак немогу научиться находить указатели(
(пробывал через отладчик игра вылетает)
Ответить с цитированием
  #17  
Старый 30.10.2011, 01:04
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Проще всего, играть честно.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #18  
Старый 30.10.2011, 01:14
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

Цитата:
Сообщение от angvelem
Проще всего, играть честно.
я неиграю в эту игру)
уже есть такие программы которые делают то что я пытаясь
сделать
я лиш хочу повторить то что они делают,
просто делать программы для игры наверное интересней (особенно если раньше играл в эту игру и у тя есть знакомые которые в неё шас играют) чем просто брать искать в каком нибуть блакноте указатели
для того чтоб научиться их искать, на игре это делать болиее интересние
Ответить с цитированием
  #19  
Старый 30.10.2011, 13:36
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

а значенте вот этого: openprocess();
у меня почемуто всегда = 0
вообщем делаю так:

Код:
procedure TForm1.findClick(Sender: TObject);
begin
idproc:=GetWindowThreadProcessId(Wnd);
pidproc.Caption:=IntToStr(idproc);
hproc:=OpenProcess(PROCESS_VM_READ, False, idproc);
hprocp.Caption:=IntToStr(hproc);
end;
что нетак я делаю?
или оно и должно = 0?

Последний раз редактировалось unity, 30.10.2011 в 13:41.
Ответить с цитированием
  #20  
Старый 30.10.2011, 15:13
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от unity
а значенте вот этого: openprocess();
у меня почемуто всегда = 0
вообщем делаю так:

Код:
procedure TForm1.findClick(Sender: TObject);
begin
idproc:=GetWindowThreadProcessId(Wnd);
pidproc.Caption:=IntToStr(idproc);
hproc:=OpenProcess(PROCESS_VM_READ, False, idproc);
hprocp.Caption:=IntToStr(hproc);
end;
что нетак я делаю?
или оно и должно = 0?

wnd как находишь??

Адресок то нужный нашел??
Ответить с цитированием
  #21  
Старый 30.10.2011, 15:45
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

Цитата:
Сообщение от Pilot_Red
wnd как находишь??

Адресок то нужный нашел??

Код:
procedure TForm1.zahvatClick(Sender: TObject);
begin
hwndtmr.Enabled:= Not(hwndtmr.Enabled);
end;

procedure TForm1.hwndtmrTimer(Sender: TObject);
begin
 if (getasynckeystate($24)<>0)  then  //условия на то чтоб было нажатие кнопки
  begin
    GetCursorPos( Pos ); //определяет координаты курсора
    Wnd:= WindowFromPoint( Pos );//запоминает хвид окна который под курсорам
    hwndtmr.Enabled:= Not(hwndtmr.Enabled);
    ShowMessage('окно захваченно!');
    hwndpole.Caption:=inttostr(wnd);
end
end;

хэндл окна находи правельно и pid тоже вроде правельно

а какой адресок надо еще искать?

Последний раз редактировалось unity, 30.10.2011 в 15:50.
Ответить с цитированием
  #22  
Старый 30.10.2011, 16:04
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

находи так: wnd:=findwindow(nil,'Название приложения');

Адрес, в котором хранится значения "жизни"
Ответить с цитированием
  #23  
Старый 30.10.2011, 17:06
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

все получилось, ошибка была в

idproc:=GetWindowThreadProcessId(Wnd, @(тут нехватало переменной дапустим а));

hproc:=OpenProcess(PROCESS_VM_READ, False,(и тут нехыватало переменной а) );


вазник такой вопрос как найти в пмяти программы адреса которые хранят опред значение (напримерр мне нужны все ячейки памяти программы
которые содержат текст help)

т.е тоже что делает арт мани когда
жмеш найти значения 123 и те даеться такой список адресов
какя функция делает это в делфи?

Последний раз редактировалось unity, 30.10.2011 в 17:32.
Ответить с цитированием
  #24  
Старый 30.10.2011, 17:37
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

объясни, пожалуйста, что ты хочешь сделать??????????
Ответить с цитированием
  #25  
Старый 30.10.2011, 17:43
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

Цитата:
Сообщение от Pilot_Red
объясни, пожалуйста, что ты хочешь сделать??????????

на данном этапе мне нада просканировать всю память игры
и найти адреса где храниться определенное значение

пример:
найти в памяти игры ячейки содержашие слово "help"

как такое сделать? (не в артмани конечно, а в делфи)
Ответить с цитированием
  #26  
Старый 30.10.2011, 17:58
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

зачем этот сканер делать в delphi, чем artmoney не устраивает...
Ответить с цитированием
  #27  
Старый 30.10.2011, 17:59
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

Цитата:
Сообщение от Pilot_Red
зачем этот сканер делать в delphi, чем artmoney не устраивает...

чтобы научиться делать такое в delphi
Ответить с цитированием
  #28  
Старый 30.10.2011, 18:05
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от unity
чтобы научиться делать такое в delphi
если умеешь с файлами работать, то я думаю с этой функцией разберешься
readprocessmemory()

и да, по-моему, тема этой ветки форума была другой...........
Ответить с цитированием
  #29  
Старый 30.10.2011, 20:32
unity unity вне форума
Прохожий
 
Регистрация: 14.07.2011
Сообщения: 43
Репутация: -2279
По умолчанию

насколько я знаю в оперативной памяти, память программы занимает
неприрывнй блок
как мне узнать адрес первой и последнией ячейки
той области памяти которуя используеться программой
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter