Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чужие переменные... [D5, D6, Win95/98, WinXP]


Fog ©   (2002-09-19 15:32:00) 

Появилась такая задача, нужно изменить переменную в другой ЕХЕ и\или DLL. Возможно ли это?


Fog   (2002-09-23 17:57:00) [1]


> qube © (23.09.02 16:30)

Честно говоря я сейчас тоже самое подумал...


qube   (2002-09-23 16:30:00) [2]

Настройщик получится просто страшный. Не стоит этого делать.


Fog   (2002-09-23 16:22:00) [3]


> Kolya



> Подробно почитать про это, а так же взять исходник можно
> тут:

Иамже на C++ написанно :(

> Старый паскалист


> но зачем???)

Чтобы создать отдельную программу настройщик, чтобы не забивать и без того большую прогу...


Kolya   (2002-09-22 20:58:00) [4]

Это возможно. Как по вашему пишутся трейнеры?
Во первых нужен Header окна, во вторых адрес переменной.
Его можно узнать с помощью программы GameHack. Потом изменить ее можно с WriteProcessMemory и прочитать с ReadProcessMemory.
Подробно почитать про это, а так же взять исходник можно тут:

http://sites.uol.com.br/lenavass/site/comp/HOW_TO_ACCESS_THE_MEMORY_OF_A_PROCESS.htm


Юрий Зотов   (2002-09-22 20:42:00) [5]

> нужно изменить переменную в другой ЕХЕ и\или DLL.

В откомпилированном EXE/DLL нет переменных. Там есть адреса, которые в исходном тексте обозначались именами переменных.

> Возможно ли это?

Возможно, если Вы знаете адрес и длину области, которую нужно изменить. См. WriteProcessMemory.


Song   (2002-09-22 17:23:00) [6]

ArtMoney не изменяет переменные. Она просто как и любая другая программа не знает такого слова "переменная".


Старый паскалист   (2002-09-22 16:53:00) [7]

2Fog © (22.09.02 16:46)
А чем тебя ункции не устраивают?
Сделай ф-и доступа к переменной, и экспортируй их из ДЛЛ.
(В принципе, экспортировать переменные из ДЛЛ можно, но зачем?).

А насчёт других EXE - это уже сложнее - там другое адресное пр-во.
Тут может быть через COM, или через сообщения.
(Опять таки - можно и напрямую в чужом адресном пространстве копаться - но зачем???)


Cr@sh   (2002-09-22 16:52:00) [8]

Я не знаю как это делается :( Просто факт остается фактом.
Попробуй написать автору программы.


Fog   (2002-09-22 16:46:00) [9]

Я не пробовал но если

peremennaya: integer; external "BIBLA.DLL";

Хотя верится с трудом...


Cr@sh   (2002-09-22 16:31:00) [10]

Поидее должно быть возможно, вспомни программу ArtMoney


Fog   (2002-09-22 16:17:00) [11]

Видемо нет...


Наверх

Титульная страница Поиск, карта сайта Написать письмо