Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    15 460

О стабильности CE 7.2, точке входа и выходе видео


MasterGH

886 просмотров

Прошлая точка входа запускающая активирующий скрипт не хотела работать, если запустить гигантский трейнер (сгенеренный на CE), а потом игру.

 

Для работы трейнера точка входа теперь  задается вот таким образом после генерации кода трейнера

Спойлер

image.png

 

Подробнее в исходниках (лучше смотреть позже, после просмотра видео, которое еще готовится)

gta3.CT

 

У версии CE 7.2 есть к сожалению баги.

1. При генерации трейнера нужно вручную править высоту надписей —  надписи срезаются.

2. Количество нопов, если прописывать как "nop 7"в  АА, вроде,  на  x64 совсем не работает, только на x32 так можно писать нопы.

 

Что получилось сделать.

Сгенерить гиганский трейнер. При подключении к процессу автоматически включается главный скрипт. Работает он с часто обращаемой инструкцией. Извлекает поинтер на главного игрока. И далее по значениям меток может выполнять читы. А сопряженные скрипты могут в метки записывать активацию или использовать поинтер на главного персонажа на инструкциях урона для, например, onehit kill. В активирующем скрипте предполагается работа с оффсетами структуры персонажа и регистрируемыми метками. Например, в структуре можно еще штук 10  оффсетов найти через большой бряк на всю структуру. Значит еще +10 новых меток можно завести в активирующем скрипте и +10 АА скриптов, которые по этим меткам что-то включают....

 

Переносимость на разные игры.

В принципе "скелет" АА скриптов показан в исходниках и ожидается, что в этом основная фишка.

По идее меняется: процесс,  оффсеты, сигнатуры, регистры, инструкции, иконка, заголовок. Для иной игры придется модифицировать  CT таблицу и сгенерировать трейнер.

 

Если сравнивать, например, с созданием трейнеров на C++. Оффсеты — самое главное и поинтер на структуру, и сигнатура, которая поинтер вытащит. И трейнер получится меньший по размеру. Но на CE уже готово много, а результат фактически один и тот же — запись по оффестам с разным user interface или вообще без него.

image.png

2 Комментария


Рекомендуемые комментарии

А в этом месте можно изменить     if not getAddressList()[0].Active then чтоб по имени скрипта а не по номеру в таблице? Или по айди?

Изменено пользователем Pitronic
Ссылка на комментарий
    -- По имени записи
    local memrec_unical_description = 'Читы'
    if not getAddressList().getMemoryRecordByDescription(memrec_unical_description).Active then
      print("Таблица не подходит для версии этой игры")
    end
    -- По id записи (смотреть id записи текстовым редактором)
    local memrec_id = 2
    if not getAddressList().getMemoryRecordByID(memrec_id).Active then
      print("Таблица не подходит для версии этой игры")
    end

 

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

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

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