Защита Трейнера
-
Спасибо завтра гляну. Сейчас все дома спят кроме меня, я поздно засыпаю.
-
т.е. смысл какой.
-
getAutoAttachList().add("Tutorial-i386.exe")
добавляет в поиск процесс "Tutorial-i386.exe -
А это сработает при подключении
function onOpenProcess() getAddressList().getMemoryRecordByDescription('f_step_1_').Active = true end
-
-
А это зачем?
getAddressList().getMemoryRecordByDescription('f_step_1_').Active = true
Мне не надо авто активация флага, флагом отключение и включение чита из таблици, а асм в луа. То есть в таблице не одного чита с кодом только флаги. -
А все, понял. Сейчас
-
тогда так
local aa_script = [[aobscan(_step_1_,81xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxB2xx8Bxxxxxxxxxx8BxxFFxxxxxxxxxx8BxxxxxxxxxxB2xx8Bxxxxxxxxxx8BxxFFxxxxxxxxxxxxxx00xx00xxxx89) alloc(newmem_step_1_,$1000) alloc(constant,$1000) label(code_step_1_) label(return_step_1_) label(f_step_1_) label(address_step_1_) registersymbol(_step_1_) registersymbol(f_step_1_) registersymbol(address_step_1_) constant: f_step_1_: dd 0 address_step_1_: dd db 00 00 00 00 newmem_step_1_: pushad lea eax,[ebx+00000480] mov [address_step_1_],eax cmp [f_step_1_],1 jne code_step_1_ mov [ebx+00000480],#1000 code_step_1_: cmp [ebx+00000480],000003E8 popad jmp return_step_1_ _step_1_: jmp newmem_step_1_ db 90 90 90 90 90 return_step_1_: ]] getAutoAttachList().add("Tutorial-i386.exe") function onOpenProcess() autoAssemble(aa_script) end
-
-
Скачал завтра гляну.
-
Т.е. подкючает автоаттач
getAutoAttachList().add("Tutorial-i386.exe")
А после обработка события аттача
function onOpenProcess() autoAssemble(aa_script) end
-
@Pitronic ок
-
Пользователь @MasterGH написал в Защита Трейнера:
getAutoAttachList().add("Tutorial-i386.exe")
А если у игры в разных версиях четыре разных имени файла? Как у мея сейчам на компе 4 разных версии игры от ( nevosoft, alawar, myplaycity, и пиратка) и вовсех разное имя исполняемого файла? Дублировать строку можно или подругому добавлять?
-
Тогда добавить 4 раза разные имена
getAutoAttachList().add("game1.exe") getAutoAttachList().add("game2.exe") getAutoAttachList().add("game3.exe") getAutoAttachList().add("game4.exe")
Т.е. вместо одной строки будет уже 4 и более
-
Понял. Только у сайта косяки не позволяет короткиу сообщение писать.
-
Да, косяки. Еще не поправил. Я кидаю из буфера. т.е. делать скрин в буфер и вставить.
Если с телефона, то скрин на телефоне двумя кнпками делается выкл и убавить грумкость. Но он захватит весь экран. Либо ждать, когда я поправлю -
Результат теста. Скрипт работает как надо. При запуске адрес address_step_1_ стоит как вопрос то есть се не видит значение адреса. Но при активации флага появляется значение 1000 как нам и надо, в туториале становится доступна кнопка дальше. Адрес флага f_step_1_ отображается не корректно в скрипте мые ему выделили память со значением ноль, после активации-деактивации значения изменяют правильно на ноль и один. Считаю по большому счёту работает как надо, не смотря на мелкие погрешности. В производстве есть понятие допуск погрешностей. Наглядно загрузил скриншот.
-
со скриптом вопрос решён осталось только спросит. Почему при запуске такие погрешности могут не быть? Адрес флага до активации значение, не корректно и почему значение адреса address_step_1_:
dd db 00 00 00 00 до активации не доступно? -
Мой вариант был не рабочий. Я толком не проверил, потому что мой бинарник тоториала не подходил.
Рабочий вариант. Если хочешь, то попробуй запустить мой вариант (если нужен, то мой exe туториала там же). А потом из моего примера сделать твой, который заработает на двух бинарниках.
-
Пользователь @MasterGH написал в Защита Трейнера:
Мой вариант был не рабочи
Ещё раз посмотрел таблицу. Виноват не твой скрипт, виноват я в маленьких деталях, я не правильно написал адреса в таблицу. Когда исправил всё показывает корректно. Вот только я не понял, если пусть даже ошибся символом в адресе почему после активации значения появляются если переменны таких в асм не было.
-
Пользовательские метки должны здесь появится.
Если их там нет, значит они не зарегистрировались. Чтобы они зарегистрировались нужно использовать
reinitializeSymbolhandler(true)
доautoassemble(...)
-
обижаешь сам себя, переменные в начале вроде бы не корректно, но скрипт свою работу делал на совесть. тем не менее посмотрю твой второй вариант.
-
один код работает но когда добавляю в lya больше одного asm не работает. Решил зайти с другого боку. Возможно ли именно в таблице выполнить код из файла луа. В смысле в 2 файлах в одном активация в другом деактивация а в таблице вызов кода из этих файлов? Если да скидываю таблицу.зделай два файла с расширением луа с кодом асм отдельно дя активации отдельно для деактивации. А в таблице вызов этих кодов из файлов.tutorial-i386 .ct