![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Townsmen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 20.7.2011 Репутация: нет Всего: 1 |
Здравствуйте! Хочу сделать треинер для игры Command & Conquer 3 Tiberium Wars и получить немного опыта в программирование.
Мне нужно изменить число 4 байтовое за адресом 0x05DC36BC на 2500 (єто количество ресурса в игре) вот у меня такой код, но его нужно доделать:
в коде нужно инициализировать HANDLE hModule и DWORD size это 26 и 27 строка кода а также дописать параметры функций VirtualAllocEx() и WriteProcessMemory() помогите если можете, заранее благодарен |
|||
|
||||
| Estranged |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: 3 Всего: 3 |
Что-то не похоже, что оно будет работать. Если известен точный адрес в памяти ЧУЖОЙ программы как 0x05DC36BC, то он (адрес) постоянен при каждом запуске программы?
Если известен адрес, то зачем тогда VirtualAllocEx? Что мы этим добьемся? Для чего эти переменные?
Если это действительно правильный адрес, то можно попробовать это:
P.S. Может не сработать. По-хорошему надо проверить этот адрес на возможность записи:
В стрктуре потом проверить AllocationProtect и State поля. Это сообщение отредактировал(а) Estranged - 18.9.2011, 20:17 |
||||||||
|
|||||||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Ты берешь за основу код, который копирует исполняемый модуль (ехе/длл) из твоего процесса в чужой. Чтобы записать константу в константый адрес не нужен никакой hModule
-------------------- Обижено школьников: 8 |
|||
|
||||
| Townsmen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 20.7.2011 Репутация: нет Всего: 1 |
Я искал с помощью ArtMoney адрес 0x05DC36BC постоянный(даже после перезапуска игры), есть ещё один адрес который имеет такое самое значение как по адресу 0x05DC36BC но указатель на ячейку динамический и меняется после перезагрузки, с єтим позже буду разбираться... VirtualAllocEx я скопировал из другого исходника, просто я с редактированием "чужих" процессов не имел дела, думал он будет нужен... Сейчас отредактирую код и попробую скомпилировать |
|||
|
||||
| Townsmen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 20.7.2011 Репутация: нет Всего: 1 |
Вот изменил код всё работает
Он это ещё не финиш, нужно будет найти адрес второй ячейки и изменять 2 значения одновременно. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |