Защита Трейнера
-
со скриптом вопрос решён осталось только спросит. Почему при запуске такие погрешности могут не быть? Адрес флага до активации значение, не корректно и почему значение адреса address_step_1_:
dd db 00 00 00 00 до активации не доступно? -
Мой вариант был не рабочий. Я толком не проверил, потому что мой бинарник тоториала не подходил.
Рабочий вариант. Если хочешь, то попробуй запустить мой вариант (если нужен, то мой exe туториала там же). А потом из моего примера сделать твой, который заработает на двух бинарниках.
-
Пользователь @MasterGH написал в Защита Трейнера:
Мой вариант был не рабочи
Ещё раз посмотрел таблицу. Виноват не твой скрипт, виноват я в маленьких деталях, я не правильно написал адреса в таблицу. Когда исправил всё показывает корректно. Вот только я не понял, если пусть даже ошибся символом в адресе почему после активации значения появляются если переменны таких в асм не было.
-
Пользовательские метки должны здесь появится.
Если их там нет, значит они не зарегистрировались. Чтобы они зарегистрировались нужно использовать
reinitializeSymbolhandler(true)
доautoassemble(...)
-
обижаешь сам себя, переменные в начале вроде бы не корректно, но скрипт свою работу делал на совесть. тем не менее посмотрю твой второй вариант.
-
один код работает но когда добавляю в lya больше одного asm не работает. Решил зайти с другого боку. Возможно ли именно в таблице выполнить код из файла луа. В смысле в 2 файлах в одном активация в другом деактивация а в таблице вызов кода из этих файлов? Если да скидываю таблицу.зделай два файла с расширением луа с кодом асм отдельно дя активации отдельно для деактивации. А в таблице вызов этих кодов из файлов.tutorial-i386 .ct
-
-
Вот результат
-
как видно из консоли второй аа скрипт не работает.
-
Странно, у меня без ошибок. Версия ce 7.5 с с сайта CE и там же файл туториала. Посмотрю как будет время
-
Кстати этот вариант мне больше нравится. Нет необходимости во флагах. Я вот подумал. Может проблема в том что два разных кода в одной переменной? А если будет этот асм двумя кодами для активации отдельно, для деактивации отдельно, каждому коду присвоить разные переменные?
-
Пользователь @Pitronic написал в Защита Трейнера:
Кстати этот вариант мне больше нравится. Нет необходимости во флагах.
Новый прием это хорошо. Еще лучше, если он будет работать. Посмотрю, как будет время в чем там ошибки. Попробуй не использовать aamaker, а генерировать стандартным шаблоном из ce в окне, где создаешь шаблоны aa.
-
Пользователь @MasterGH написал в Защита Трейнера:
Попробуй не использовать aamaker
Я его не использую для инъекции кода, я им только сигнатуру на поиск генерирую. А ошибка не в моём коде, а в таблице что вы мне залили.
-
А ещё мне этот прием почему по душе. Управление читом через флаг не отключает код, он только чит отключает, а код так и висит в памяти. Ваш вариант включает и отключает именно код, а эффект то же что мне нужен, весь код в панели lua а в таблице не чего только вызовы его. Когда всё будет работать можно делать защиту по технологии vlad2. Защита не сто процентная но для нубов довольно сильная будет.
-
Нашёл рабочий вариант У тебя в блоге здесь но не как не догоняю, как на более одного чита сделать. скидываю таблицу, будет свободное время, сделай по этому шаблону, как у тебя в блоге п.ж. Tutorial-i386.CT
-
Ок. Посмотрю, как будет возможность. Пока звгружен
-
Пользователь @MasterGH написал в Защита Трейнера:
как будет возможность
Разумеется когда будет возможность. У меня же не пожар.
-
Да ещё, когда будешь делать таблицу, сделай там комментарии что делает каждая команда, особенно там где переменные.
-
tutorial-i386_4.ct
Пробуй для двух шагов. Комментарии, к сожалению, некогда писать -
Рекомендации
- Не используй AAMaker. Не используй его сигнатуры. Они ненадежные. Сигнатуры должны быть без пропусков.
- Опирайся на версию игры или приложения, или хеш сумму exe md5, crc или любую для проверки версии.
- Используй свои жестко заданные и найденные смещения относительно базового адреса для изменения значений по ним или для заморозки
- Используй активирующий скрипт для сохранения указателя на базовый адрес структуры и метки на него.
- Используй метку в записи в таблице CE [метка]+смещение. Галка будет замораживать адреса по выставленным вручную значениям Заморозку или выставление значений по смещениям не программируй для упрощения, а используй вручную.
- Избегай какого-либо программирования, используй цепочки указателей, в крайнем случае выстаскивай указатели активирующим скриптом. Так проще будет править потом смещения для других версий игр.
Я изменил свое мнение по поводу цепочек указателей. Они позволяют сделать CT компактным и удобным при правке значений больших структур в таблице CE. Мы же не хотим 5-10 опций и столько же сигнатур с АА, а хотим наверно сотню другую опций и хотим чтобы CT файл не разрастался. Для этого лучше использовать только указатели и изменение данных по ним.
Конечно, это просто субъективные рекомендации. Можно делать разными способами. Как мне кажется, что чем короче таблица, чем меньше кода и чем короче указатели, тем проще её править для других версий игр.