-
Постов
743 -
Зарегистрирован
-
Посещение
-
Победитель дней
110
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные krocki
-
-
Для тех кто не знает можно записать фильтр вот так:
Бывает так что в некоторых играх не всё смещение/адреса меняется в регистрах, только часть его...
например 3-4 байта меняется, а остальные 2 или 1 остаются неизменным.
Вот здесь нам и понадобятся для написания фильтра ax или al.
cmp eax,00000000 - Проверка смещения на 4 байта.
cmp ax,0000 - Проверка смещения на 2 байта.
cmp al, 00 - Проверка смещения на 1 байт.
Так можно использовать только регистры eax,ebx,ecx и edx.
- 1
-
Может это не хак, а мод для игры, где меняются в файле игры настройки, спрайты и прочее как дополнение.
Думаю что CE такое проделать будет не реально...
Если такое только не предусмотрено в самой игре, только тогда можно сделать хак.
-
Вот ещё скриншот!
- 1
-
А может хочется сделать так, что бы пули и прочее вообще персонажа не задевали...
типа полной неуязвимости - фактор урона свидён к нулю.
-
А как найдёшь адрес жизней, поставь на него бряк на чтение, так ты обнаружишь инструкции которые понадобится для написния твоего АА скрипта.
-
Ну что-то в этом роде! Главное что бы работало всегда и везде.
Если что, скрипт можно всегда отфиксить...
В общем удачного взлома!!!
-
Понятно! Значит по одной инструкции работают адрес(а) твои и ботов тоже...
Знаю 3 варианта как отфильтровать...
1: Найти многоуровневый указатель.
2: Анализ данных/структур.
3: Использовать регистры со смещениями.
-
Здаров!
Может надо искать тип поиска float...как в Condition Zero.
-
(Взлом это часто - нудная и кропотливая работа )
Что верно, то верно!
-
Это просто был пример...согласись что все варианты взлома лучше проверить, что бы найти один верный.
Попробуй такой вариант для разнообразия:
Тупо занопить код в самой EXE'ке, при помощи НЕХ-Редактора, а не в отладчике и скрипте.
Что бы знать уж на верника!
-
Как сказал Garik66 попробуй поставить фильтр, ну или используй другую инструкцию бряк на чтение или запись...навернека там не одна инструкция работает с адресом денег, ну или попробуй использовать инструкции чуть выше над брякнутой.
-
Защита! Есть такое! Не знаю насчёт Assassin'ах но вот.
Пример:
Мне недавно попалась игра DOA5LR...защита была при патчинге игры в EXE'ку.
То есть защиту не разрабы установили, а именно тот кто делал кряк от (RELOADED)
Долго не мог понять в чём дело...позже до меня дошло попробовать скачать другой кряк от (DeZoMoR4iN)
И сразу всё запахало...
И ещё в последнее время заметил что крякеры - EXE'ки режут их размер до неузнаваемости,
даже парой в отладчике смещения бряков разные, если их сравнивать в НЕХ'е. Ладно ещё разрабы так делают,
но что бы крякеры...это уже слишком.
-
Вот мувиобзор взлом бессмертия [Contra_J_RU]: YouTube
Ну и остольные игры, так-же по аналогии делаем.
- 1
-
Игры щас нету у меня...но обычно хватает для поиска 2 байта...
Может в игре значение не сразу меняется когда выстрелишь...или надо определённое количество патронов выстрелить,
что бы значение изменилось, и только тогда отсеивать на уменьшилось...всё таки все игры разные.
-
Ну так я и понял что это и происходит.
Походу UCP сканирует все запущенные процессы в винде и если обнаружевает сканер памяти,
ну или что-то подобное для взлома игр, даёт сразу экран смерти "BSOD"
Ладно...как говорится, не проверишь, не узнаешь.
-
Уже пробовал...даже на другом компе проверял...результат тот-же.
Если неверите можете сами попробовать, если у вас есть контра с ucp v8.3.
Ладно...посути я не пытаюсь и не пытался взломать эту контру...просто с
такой фигнёй случайно столкнулся в первые, вот и решил расказать, если кому интересно.
-
Причём здесь настройки, если я просто запускаю/открываю CE невыбирая процесс игры даже...просто тупо открыть программу CE.
при этом у меня сходу экран смерти, если у меня запущена CS1.6_UCP 8.3 не важно где в меню или в самой игре.
Сбрасывал настройки и выбирал другой отладчик...всё ровно экран смерти выдаёт.
Видимо это защита от CE такая, типа экран смерти.
-
RockHamer Не совсем я тебя понял что ты имел ввиду.
По отдельности запускаешь всё нормально CE или контру, всё работает...
UCP походу видит процесс CE и сразу вылетает синий экран смерти "BSOD".
Ладно бы просто ошибку выдавал, но нет...сразу конец всему.
На другом компе проверил...тоже самое.
6-7 раз комп свой перезагружал для полной достоверности.
Даже старая версия CE 5.5_5.6, такой-же результат даёт "BSOD" и всё.
-
Ухты! Очень интересно...
Думаю без атаки на сервак...сложно/нереально будет что-то сделать...всё-же спасибо MasterGH
Кстати тут такой прикол вышел у меня...заранее прошу прощения если что.
Играл в CS1.6_UCP_8.3 в окне 640x480...решил тупо открыть Cheat Engine и тут синий экран смерти...
Ладно! перезагрузил комп...открыл сначала Cheat Engine, а потом запустил контру и бах опять экран смерти.
Признаюсь! даже не пытался что то там хакнуть в контре, а тупо открыл скрипт от другой игры просто хотел
поправить скрипт который делал для Residen Evil: Revelation 2, а тут такое.
Походу UСP сделала такую защиту, что даже запустив прогу Cheat Engine...и приходит конец всему сразу.
Дааа-уж!!! Нет слов.
NullAlex: красный цвет может использовать только администрация. -
В скрипте этот указатель [[["metro.exe"+00D012D0]+448]+27]+10 приходиться выключать/ключать скрипт при переходе на другой уровень. А вот этот у MasterGH'а нормальный указатель для скрипта...лично мне он больше нравится.
push eax
mov eax,["metro.exe"+00D012D0]
mov eax, [eax+448]
mov eax, [eax+27]
mov eax, [eax+10]
mov [rsi+00000448],eax
pop eax
-
У меня вроде есть диск с крязисом...в общем что-то надыбится..дам знать.
Вот блин не те крязисы...первый диск кому то дал походу, так и невернули.
-
Попробуй найти фильтр другим способом. Если анализ данных/структур не помогает.
Делай по аналогии.
Образец:
-------------------------------------------
Дополнительная информация
12345678 - test eax,eax
12345678 - mov [ebx,edx]
12345678 - mov [esi+16A8],eax
12345678 - mov [esi+16AC],eax
12345678 - push ebx
copy memory
Вероятное значение указателя: 00351028
EAX=000000FF EDX=00000012 EBP=FFFFFFFA
EBX=45856F10 ESI=00351028 ESP=0088914A
ECX=FF88AA21 EDI=006DD720 EIP=12345678
Выше приведены знач. регистров после выполнения инструкции
--------------------------------------------------------------------------------------
Берём только SI, и часть адреса два байта 1028, ну с остальными так же можно.
Только не используй IP (EBP), это смещение к нашему (общему) коду.
Если хотим использовать 1 байт, то можно использовать четыре рег. AL, BL, CL или DL.
И прописываем в скрипте.
Типо так:
[ENABLE]
Alloc(newmem,128)Label(returnhere)Label(originalcode)Label(сode)newmem:cmp si,1028 // 1028 - Кусок адреса.
je code
jmp originalcode:
code:
mov word ptr [esi+B8],270F // Добавляем всем своим 9999-жизней.
jmp returnhere // Можно попробовать и без неё, если не сработает скрипт или ошибка.
originalcode:comiss xmm0,[esi+B8]jmp returnhereGAME.EXE+12345678:jmp newmemnopnopreturnhere:[DISABLE]Dealloc(newmem)GAME.EXE+12345678:comiss xmm0,[esi+B8]Да...а ты пробовал найти указатель.Помню на GTA3 игру, был один уникальный указатель на урон, который работал на все машины в которых я залазил.Может здесь то же такой есть!- 1
-
А каким способом ищешь фильтр?
-
Делай по аналогии и включи смекалку.
Например как сделать, что бы при старте игры было тебе нужное оружие в контре.
1: Находишь адрес значения оружия в игре, например S = 3 - значениям.
2: Кидаешь адрес в отладчик, далее делаешь сброс игры в эмуле и смотри где срабатывает бряк и анализируй код.
То есть не только где сработал бряк, но и вверх по коду надо тоже анализировать (Что там и как).
Как я и ранее говорил где то в теме, надо знать хотя бы азы асембы и работу отладчика.
Варианты взломов игр бывают разные:
Есть инструкции которые работают на чтение, другие на запись и загрузка кода при запуске игры.
В общем всё это вопрос логики, нужно сначала подумать как к этому подойти, прежде чем ломать игру.
Для начинающих GH'ов, это как раз то что нужно.
Помогите доделать чит для The Fate.
in Вопросы по созданию читов в одиночных играх
Опубликовано
Есть одна авантюра! Работать будет или не будет не знаю.
Как я понял эта инструкция работает при наведении на врага эта: 004BB349 - fld dword ptr [esi+3C9]
Инструкция отвечающая за жизней врагов - это как я понял эта: 00431C60 - mov byte ptr [esi+78],18
Если требуется фильтр...подставь сам!
Примерно вот такой скриптик:
[ENABLE]
alloc(newmem,64)
label(returnhere)
newmem:
mov byte ptr [esi+78],00 //Тут ставишь нужное значение жизней для врага, при наведении на него.
fld dword ptr [esi+3C9]
jmp returnhere
The Fate.exe+4BB349:
jmp newmem
nop //Сколько nop'ов нужно инструкции для затирания я точно не знаю, тебе видней.
returnhere:
[DISABLE]
dealloc(newmem)
The Fate.exe+4BB349:
fld dword ptr [esi+3C9]