Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
 
Тема закрытаНачать новую тему
> Изменяем константы игровой физики...
MAN2
сообщение 11.05.2003, 13:36
Сообщение #1


Serious Sam
****************

Репутация:   1222  
Группа: Только зарегистрировался
Сообщений: 2711
Регистрация: 05.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа


Первый способ - найти SDK и всё перелопатить wink.gif
Второй - интуитивно угадать, допустим, как в игре прописана, например, скорострельность любимого оружия (например: скорострельность в 90% случаев пишется в миллисекундах - период между выстрелами. А чтобы угадать - вы можете играть с таймером в руках smile.gif), затем угадать, в каком из файлов это всё прописано (обычно dll-ка или специальный тип файлов, рассчитанных на моды (в Q3 - vm\qagame.qvm в pak0.pk3), найти и изменить с помощью HEX Editor-а.
В поиске поможет знание того, что сейчас почти нигде ничего кроме 4байтного типа для целочисленных переменных не используют.

А как быть, если угадать значение не получается?
Перейти в начало страницы
 
Baron Gede
сообщение 11.05.2003, 13:50
Сообщение #2


Продвинутый геймер
********

Репутация:   35  
Группа: Только зарегистрировался
Сообщений: 415
Регистрация: 14.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа


даже в ArtMoney 6.25 есть функция поиска неизвестной величины по шагам между её изменениями. Это - простейший метод. Угадывать не придётся. Просто последовательный анализ. Сложнее и шифрованными значениями в памяти. Например, простейший XOR значений доставит массу геморроя - придётся действительно искать другими методами тогда - например, c помощью указанных инструментов в соседней теме типа HIEW, WinDasm, S-Ice и пр.
У каждого продвинутого геймхакера, кстати, есть свои методы борьбы с DMA и шифрованными областями памяти. Кстати, в некоторых играх регион памяти бывает наглухо заблокирован даже от просмотра и любая попытка обращения к этому региону вызовет исключительную ситуацию типа 0x0E или 0x0D.
Поэтому здесь новичкам и артмани не поможет...В вольфе чит-процедура так закрыта консольная кстати. Я её ломанул с помощью спец-функций тока cool.gif
Перейти в начало страницы
 
MAN2
сообщение 14.05.2003, 21:28
Сообщение #3


Serious Sam
****************

Репутация:   1222  
Группа: Только зарегистрировался
Сообщений: 2711
Регистрация: 05.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я имею в виду не изменяющиеся величины, "зашитые" обычно в коде dll-ек.
Перейти в начало страницы
 
Baron Gede
сообщение 15.05.2003, 13:53
Сообщение #4


Продвинутый геймер
********

Репутация:   35  
Группа: Только зарегистрировался
Сообщений: 415
Регистрация: 14.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа


для зашитых всё проще - стартуем IDa или WinDasm и смотрим процедуры вызова. Обычно у них даже имена логические много могут о чём порасказать - например GetTickCounter и т.д.
А проверяется вся эта теория в айсе посредством бряка на нужной функции типа bpx <procaddr> и типа понеслось г**** по трубам... smile.gif
Перейти в начало страницы
 

Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25.04.2024, 13:29