Перейти к содержанию

Рекомендуемые сообщения

Помогите поломать игру Quake 3 v1.0...

Я вроде с делал как по инстр. для новичков.

но не работает.

Вот что у меня получилось.

------------------------------------------------

offset 0x004D09B5

mov eax,[ebx+0X2026020]

mov dword ptr [ebx+0X2026020],0x00000064

jmp 0x0236CABC

offset 0x0236CAB6

jmp 0x004D09B5

nop

offset 0x004D09B5

mov eax,[ebx+0X2026020]

push eax

mov eax,[0x0510C11B]

cmp ecx,eax

pop eax

jne 0x0236CABC

mov dword ptr [ebx+0X2026020],0x00000064

jmp 0x0236CABC

offset 0x0236CAB6

jmp 0x004D09B5

nop

-------------------------

Что я с делал не правильно.

Ссылка на комментарий
Поделиться на другие сайты

mov dword ptr [ebx+0X2026020],0x00000064

должна выполняться перед

mov eax,[ebx+0X2026020]

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

Как я понимаю, Q3 вы ломаете только для игры с ботами ? ведь SP там нет, а в MP с другими игроками данный "чит" не пройдет.

Ссылка на комментарий
Поделиться на другие сайты

Я взламывал через TSearch, но Cheat Engine тоже

выдаёт такой же результат.

--------------------------------

Сразу к делу............

TSearch выдал 2 кода...

1 код при заморозке в игре ничё не дал,2 код заморозив у меня перестали жизни уменьшаться, но и упративника то же

самое перестали жизни уменьшаться, вродебы этот адресс

больше он нечего не выдал(Примеч. Я не тратил жизни, просто стоял на месте).

Вот оригинальный код игры 236CAB6 mov eax,[ebx+0X2026020]

-----------------------------------

004D09B5 - Этот код я нашёл при помощи Code Caver, я сделал так как на писано в инструкции для новичков.

Ну а остальное я просто скопировал, заменив на свои адреса и значения---- Но всё сделал как в инструкции без ошибок

--------------------------------

Я попробовал поменять местами как ты написал

сначала mov dword ptr [ebx+0X2026020],0x00000064

а после неё mov eax,[ebx+0X2026020] всё равно нет

никакого еффекта словно я ничё и не делал.

---------------------------

Я пытаюсь взломать одиночную игру(Схватка и Битва),а не сетевую.

Если есть идеи подскажи что я делаю не так.

Ссылка на комментарий
Поделиться на другие сайты

1 код при заморозке в игре ничё не дал,2 код заморозив у меня перестали жизни уменьшаться, но и упративника то же

самое перестали жизни уменьшаться

Эту инструкцию вам и нужно использовать. Ищите указатель игрока.

Ссылка на комментарий
Поделиться на другие сайты

Я взламывал через TSearch, но Cheat Engine тоже

выдаёт такой же результат.

--------------------------------

Сразу к делу............

TSearch выдал 2 кода...

1 код при заморозке в игре ничё не дал,2 код заморозив у меня перестали жизни уменьшаться, но и упративника то же

самое перестали жизни уменьшаться, вродебы этот адресс

больше он нечего не выдал(Примеч. Я не тратил жизни, просто стоял на месте).

Вот оригинальный код игры 236CAB6 mov eax,[ebx+0X2026020]

-----------------------------------

004D09B5 - Этот код я нашёл при помощи Code Caver, я сделал так как на писано в инструкции для новичков.

Ну а остальное я просто скопировал, заменив на свои адреса и значения---- Но всё сделал как в инструкции без ошибок

--------------------------------

Я попробовал поменять местами как ты написал

сначала mov dword ptr [ebx+0X2026020],0x00000064

а после неё mov eax,[ebx+0X2026020] всё равно нет

никакого еффекта словно я ничё и не делал.

---------------------------

Я пытаюсь взломать одиночную игру(Схватка и Битва),а не сетевую.

Если есть идеи подскажи что я делаю не так.


... // второй код
mov eax,[ebx+0X2026020]
push eax
mov eax,[0x0510C11B]
cmp ecx,eax
pop eax
...

Я выделил ключевые места жирным. Отсюда следует что фильтр на [0x0510C11B] это фильтр на всех игроков. Если его не ставить, то здоровье будет без эффекта.

Значит нужно найти ещё фильтр на твоего игрока.

Т.е. нужно ставить либо два фильтра, либо искать другой фильтр на твоего игрока. Если это показалось запутанным, то есть ещё один верный выход - найти всю цепочку указателей до здоровья твоего игрока. Затем ставить на каждый указатель в цепочки брейкпоинт на доступ и искать инструкцию типа А и в неё внедрять чит-код. Работать лучше с CheatEngine.

Я могу предположить то что я написал сложно понять, поэтому советую потренироваться скачав игру "Grand Theft Auto Vice City" сделать чит по статье, которая есть на нашем форуме при помощи TSearch, а также самостоятельно с CheatEngine.

Ссылка на комментарий
Поделиться на другие сайты

Регистор уменя показывает постоянно 1Е334 и не меняется.

А вот когда я в ARTMONEY поставил в поиске 1Е334h в нехе

Он мне выдал два 2 Адреса 0510C11B Целое 3 байта и 027C0780

С точкой 6 байт. Я испробовал эти 2 адреса всё равно ничего не

получилось, а после я заметил что эти 2 адреса изминилось

у них значения когда выбрал новую зону игры для битвы.

Может из-за этого и неработает.

Ссылка на комментарий
Поделиться на другие сайты

Ты наверно про регистр ebx из инструкции: mov eax,[ebx+0x2026020]

Если ebx = 1Е334, то очень маловероятно, что следует искать указатель на это значение, т.к. оно меньше 0x00400000.

Можешь попробовать привести нам всем не меньше 20-ти инструкций вверх и вниз от mov eax,[ebx+0x2026020] и укажи все регистры на этом участке (это просто сделать в Cheat Engine RUS, поставив также бряк на адресе здоровья...).

Ссылка на комментарий
Поделиться на другие сайты

Единствено не пойму что это за код 0x00400000

и как ты узнал что 1Е334 меньше кода 0x00400000

Это не код, а адрес начала любой программы под Windows.

0x00400000 - обычно программы "начинаются" с этого адреса и не меньше (иногда с 0x00410000 или др.) А заканчиваются где-то 0x7FFFFFFF (может ошибся, не помню).

Когда ты ищешь указатель в памяти инструкции

mov eax,[ebx+0x2026020]

, то нужно брать адрес регистра лежащий в промежутке от 0x00400000-0x7FFFFFFF в 32-разрядных играх. У тебя ebx < 0x00400000 и 90-95% указателя на него нет. Зато есть 0x2026020, но указатель на него нет смысла искать, т.к. 0x2026020 здесь жёстко задано.

Что в игре именно за проблемы, остаётся только гадать. Короче всё это решается под отладкой. Если через несколько месяцев решишь заняться серьёзным гейм-хакингом, то совету читать Рихтера (Windows для профессионалов). Там ты узнаешь и об архитектуре памяти приложений (т.е игр) и о многом-многом другом.

Ссылка на комментарий
Поделиться на другие сайты

В этой игре не работают проверочные байты, генерируемые по умолчанию руским CE. Я даже вручную не смог составить цепочку проверочных байт, слишком много одинаковых кусков кода. Если жёстко прописать адрес инструкции бессмертие работает. Указатель похоже одноуровневый и в ebx хранится смещение, а не адрес. Похоже что в этой игре одна структура на всех игроков, такое возможно? ebx меняется от карты к карте, по нему фильтр тоже не сделать

Ссылка на комментарий
Поделиться на другие сайты

Если прокомментировать, то я могу сказать, что нужно исследовать код больше ничего по этому поводу сказать не могу да и вряд ли кто сможет без самой игры.

Если куски кода повторяются, то нужно попытаться найти код вверх по иерархии вложеных вызовов или (даже возможно вниз) где проверочные байты индивидуальны и как-то от них отталкиваться по смещениям или "делать изворотливый" скрипт. Были у меня подобные случаи, я просто находил связанные адреса например со здоровьем и находил куски кода, которые были уникальны. Возможно, будущем я придумаю ещё что-нибудь по решению этой проблемы хотя бы в теории...

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.