Dison Опубликовано 15 февраля, 2014 Поделиться Опубликовано 15 февраля, 2014 Игра - King's Bounty.Warriors Of The North.Valhalla Edition.v 1.3.1.6280Всем привет, вот скачал игру, поиграв в нее немного решил взломать.Нашел адрес денег, кристаллов, армии, и.т.д но проблема заключается в том что одна инструкция отвечает за все.Как разделить это все на несколько категорий т.е. чтобы активирования адрес денег, кристаллов, армии, и.т.д происходили разными скриптами. Описал как смог строго не судите. Заранее всем спс.Сразу скажу что филтр знаю как искать и делать. Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 15 февраля, 2014 Поделиться Опубликовано 15 февраля, 2014 Игра - King's Bounty.Warriors Of The North.Valhalla Edition.v 1.3.1.6280Всем привет, вот скачал игру, поиграв в нее немного решил взломать.Нашел адрес денег, кристаллов, армии, и.т.д но проблема заключается в том что одна инструкция отвечает за все.Как разделить это все на несколько категорий т.е. чтобы активирования адрес денег, кристаллов, армии, и.т.д происходили разными скриптами. Описал как смог строго не судите. Заранее всем спс.Сразу скажу что филтр знаю как искать и делать.Смотри Смещение и пиши фильтр Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 15 февраля, 2014 Автор Поделиться Опубликовано 15 февраля, 2014 фильтр то я сделал на деньги, ну а как на остольное то сделать, если срабатывает одна инструкция на все.Вот не могу собразить как сделать несколько скриптов на активирование разных опций.Например:F1 - Бесконечные деньгиF2 - КристаллыF3 - АрмияF4 - Лидерство, и.т.дФильтр то на все не напишешь с одной то инструкцией.... Как быть в данной ситуации? Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 15 февраля, 2014 Поделиться Опубликовано 15 февраля, 2014 Заводишь переменные-флаги (registersymbol (money) например). 0=чит выключен, 1=чит включен. Пишешь в одном скрипте сразу все читы с проверкой нужно ли его включать. Этот здоровый скрипт будет активирующим, его включаешь первым, а потом уже делаешь хоткеи на включение-выключение переменных-флагов. Сразу оговорюсь что я так не делал никогда.[ENABLE]alloc(newmem, 1024)registersymbol (money)label(money)registersymbol (crystal)label(crystal)registersymbol (army)label(army)registersymbol (lider)label(cheat01)label(cheat02)label(cheat03)label(cheat04)label(originalcode)label(exit)label(returnhere)newmem:cheat01:cmp [money],01jne cheat02mov [ebx+10], #999999 //это типа чит на деньги, взят от балды - подставить своёcheat02:cmp [crystal],01jne cheat03//чит на кристаллы//далее по аналогии...originalcode://оригинальный кодexit://...money: //по умолчанию все читы выключеныdd 0crystal:dd 0army:dd 0lider:dd 0address: //адрес инъекцииjmp newmemnop //не забываем про нопы сколько надоreturnhere:[DISABLE]unregistersymbol (money)unregistersymbol (crystal)unregistersymbol (army)unregistersymbol (lider)dealloc(newmem)//отключаем читы Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 Теоретически можно обойтись без активирующего скрипта разными способами. Наиболее удобный это найти инструкцию, которая работает только с одним адресом.Возьмем за пример оригинальный адрес со значением кристаллов и адрес-копию значения кристаллов.Код1 обычно циклично читает адрес-копию кристаллов и выводит на экран.Код2 при изменении оригинального значения кристаллов запишет в адрес-копию значение из оригинального адреса.На адрес-копию ставим бряк на запись. Идем в игру, изменяем значение кристаллов и возможно найдем инструкцию Кода2, которая индивидуально работает со значением кристаллов. Вот её и можно поправить одним скриптом без фильтра и посмотреть что получится. Если изменения вступят не сразу, то еще можно сделать инъекцию в код1, чтобы на экране данные обновились.Может быть мы хотим по горячей клавише записать определенное количество кристаллов один раз или хотим добавить N количество кристаллов. Это можно сделать несколькими способами. Можно изменить АА скрипт, чтобы он один раз по флагу записал определенное количество или добавил определенное количество... Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 16 февраля, 2014 Автор Поделиться Опубликовано 16 февраля, 2014 aliastА как хоткеи на включение-выключение переменных-флагов прописать? Ссылка на комментарий Поделиться на другие сайты Поделиться
GenzyTake Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 Код на проверку нажатых клавиш :»function OnCheckHotkeys()if isKeyPressed(VK_E) then << Проверка на нажатие клавиши (E)-- какое то действиеreturnend«Может как то в Lua скрипте все это прописать?На счет флагов, не знаю.Скорее всего, я могу ошибаться.Если не то, то сори. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 aliastА как хоткеи на включение-выключение переменных-флагов прописать?Добавляешь в таблицу адреса, в качестве адреса уквазываешь название флага, заданное с помощью registersymbol, например если в скрипте пишешь registersymbol (money), то вручную добавляешь в таблицу переменную с типом 4 байта и адресом money (т.е. вместо цифрового адреса так и пишешь слово money, только может не получиться добавить пока скрипт не включишь и не инициализируешь переменную). Потом на него правой кнопкой и назначаешь хоткей. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 16 февраля, 2014 Автор Поделиться Опубликовано 16 февраля, 2014 (изменено) Вот что получилось у меня, написал скрипт орентируясь по образцу aliast но проблема в том что когда активируешь скрипт и грорячую клавишу то все становится по 999999. А остальные горячие кл попрусту не работают. Может что-то не то вписал?[ENABLE]alloc(newmem, 1024)registersymbol(money)label(money)registersymbol(rune)label(rune)registersymbol(army)label(army)label(cheat01)label(cheat02)label(cheat03)label(originalcode)label(exit)label(returnhere)newmem:cheat01:cmp [money],01jne cheat02mov ebp,#999999 //это типа чит на деньги, когда активируеш то всё становится по 999999cheat02:cmp [rune],01jne cheat03mov ebp,#99 //Не работает...????cheat03:cmp [army],01jne originalcodemov ebp,#99 //Не работает...????originalcode:mov [esi+08],ebpcmp [ebx+6C],ediexit:jmp returnheremoney: //по умолчанию все читы выключеныdd 0rune:dd 0army:dd 0"KBWotN.exe"+110441: //адрес инъекцииjmp newmemnop returnhere:[DISABLE]"KBWotN.exe"+110441:mov [esi+08],ebpcmp [ebx+6C],ediunregistersymbol(money)unregistersymbol(rune)unregistersymbol(army)dealloc(newmem)//отключаем читы Изменено 16 февраля, 2014 пользователем Dison Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 Ну так у тебя во всех читах запись в ebp, никаких фильтров нету. Значит надо по другому как-то делать... Ссылка на комментарий Поделиться на другие сайты Поделиться
Tiger Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 А как по твоему скрипт должет отличить, что он пишет именно в адрес кристалов, а не армии?В каждом сегменте, после проверки активации определенной опции, должен быть фильтр на конкретный адрес.К примеру ниже выкладываю cкрипт для Assassin's Creed 3.Там фильтр общий (cmp esi,edi) и по индивидуальному значению esi/edi (cmp esi,XX)aobscan(inject_aob, 8B 41 0C C3 xx CC CC CC CC CC CC CC CC CC CC CC 55 8B EC 8B 4D)alloc(inject_cheat, 2048)label(returnhere)label(exit)registersymbol(inject_aob)//************************label(enable_money_cheat)label(exit_money_cheat)registersymbol(enable_money_cheat)label(enable_smoke_cheat)label(exit_smoke_cheat)registersymbol(enable_smoke_cheat)label(enable_poison_dart_cheat)label(exit_poison_dart_cheat)registersymbol(enable_poison_dart_cheat)label(enable_panic_dart_cheat)label(exit_panic_dart_cheat)registersymbol(enable_panic_dart_cheat)label(enable_bullet_cheat)label(exit_bullet_cheat)registersymbol(enable_bullet_cheat)//************************inject_cheat:cmp esi,edijne exitcmp [enable_money_cheat],0je exit_money_cheatcmp esi,01 // деньгиjne +7mov [ecx+0C],#777777exit_money_cheat:cmp [enable_smoke_cheat],0je exit_smoke_cheatcmp esi,05 // дымjne +7mov [ecx+0C],#3exit_smoke_cheat:cmp [enable_poison_dart_cheat],0je exit_poison_dart_cheatcmp esi,24 // дротики ядjne +7mov [ecx+0C],#5exit_poison_dart_cheat:cmp [enable_panic_dart_cheat],0je exit_panic_dart_cheatcmp esi,26 // дротики паникаjne +7mov [ecx+0C],#3exit_panic_dart_cheat:cmp [enable_bullet_cheat],0je exit_bullet_cheatcmp esi,0b // пулиjne +7mov [ecx+0C],#15exit_bullet_cheat:exit:mov eax,[ecx+0C]retint 3jmp returnhere//************************enable_money_cheat:dd 00enable_smoke_cheat:dd 00enable_poison_dart_cheat:dd 00enable_panic_dart_cheat:dd 00enable_bullet_cheat:dd 00//************************inject_aob:jmp inject_cheatreturnhere:[DISABLE]inject_aob:mov eax,[ecx+0C]retint 3unregistersymbol(inject_aob)unregistersymbol(enable_money_cheat)unregistersymbol(enable_smoke_cheat)unregistersymbol(enable_poison_dart_cheat)unregistersymbol(enable_panic_dart_cheat)unregistersymbol(enable_bullet_cheat)dealloc(inject_cheat)[ENABLE] Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения