В данной статье мы с вами создадим АнтиАфк. Cуществуют разные проверки, в том числе активен игрок в данный момент или нет. Если игрок находится в созданной комнате и не активен в течении 90с(это значение меняется каждое обновление), то он автоматически исключается из комнаты и на его место может зайти другой игрок. Однако, у него сохраняется возможность заново присоединиться в комнату, из которой его исключили за бездействие. Также, помимо проверки активности игрока в комнате, существует проверк
Возможен бан в игре. Вы используете хак, на свой страх и риск.
Перед использованием, ознакомьтесь с ЭТИМ
Поддерживаемые ОС: Win7+ (x64)
Поддерживаемая версия клиента: (x64)
Поддерживаемая версия DirectX DX9, DX11
Поддерживаемые античиты: MRAC
Версия от 11.11.20 (Последняя) Undetected
ЕСП:
Силуеты врагов
Силуеты взрывчатки
Силуеты капсулы
Я решил рассмотреть три новые функции:
Пользовательские типы данных в hex-окне
Фильтр на окне определения адресов
Поиск данных в окне Tracer
1. Пользовательские тип данных в hex-окне
Пример как сделать:
Фильтр на окне определения адресов
3. Поиск данных в окне Tracer
Обычный поиск, как на прошлых скринах
Примеры
Ну и более интересная версия перебора и одновременн
Вот и настало время когда я вернулся снова к этой игре
Только теперь уже для нее есть исходный код, который позволит находить всякие функции в разы быстрее и проще
На этот раз будем делать карту ресурсов, рисовать ее и загружать прямо в игру
Этапы которые этому способствуют
1. Распаковать саму карту из surfaces.pck
2. Достать саму карту, посмотреть каким образом она примерно отображается
3. Узнать координаты респа ресурсов Vec3 на карте
4. Перевести Vec3 игровые в Vec2 картовые
Наткнувшись на тему вспомнил, что не все написал. В прошлом посте блога рассматривал бряк через DBVM. К сожалению, та версия dbvm из поста блога пропускала очень много инструкций и практически смысла нет её юзать. Например она определяла 16 инструкций, когда их было несколько тысяч, т.е. например 500 оффестов и на каждой по 10 инструкций. По DBVM надо, конечно, писать Дарк Байту, но желания нет.
Так вот. Не только с DBVM можно ставить бряки на участок памяти. Есть еще тип брейкп
Пример лога снятия данных с брейкпоинта на структуру 0x1000 за 10 секунд.
В структуре по смещению 0x2C0 находится здоровье персонажа. На начало этой структуры и был поставлен брейкпоинт .
Ниже будет большой кусок опкодов, который работает со структурой. Можно посмотреть в каком порядке опкоды исполняются и с какими смещениями, насколько далеко они друг от друга. Некоторые смещения рядом с известными смещениями могут заинтересовать. Одинаковые опкоды в определенном порядке, но
Обычно, дается 4 аппаратных брейкпоинта на адреса памяти. Их можно включать одновременно и найти инструкции, которые в данный момент срабатывают. Так можно определить тип данных у адресов и найти инструкции. По инструкциям найти смещения внутри дизассемблированной инструкции. По смещениям визуально определить структуры в структурах. Расструтуризовать структуру в dessect data и найти много интересных параметров для читов. Вручную с 4мя бряками делать очень хлопотно.
Начинается все с
Функции:
1) Три типа данных: float, double, integer
2) 10 слотов сохранений
3) Управление горячими клавишами. ctrl+X - где X от 0 до 9 сохраняет позицию, shift + X загружает ранее сохраненную позицию
4) Озвучивание загрузки или сохранения Как пользоваться:
1. Подключаемся к процессу игры любым способом (хоть вручную, хоть на Lua, чем угодно)
2. В CE вставляем Lua скрипт
3. Меняем адрес teleport_address = "03D2C6DC" на тот который нужно.
Здесь
За нейронными сетями и быстрыми вычислениями (например на тензорных ядрах видеокарт)
скорее всего, огромное будущее и огромный спрос. Стартануть в эту тему можно, изучив статью с хабра о принципах AlphaGo Zero и вот эту. Основные моменты это рекуррентные сети, которые ищут в глубь и сверточные сети, которые чем-то похоже на хеш-сумму (на тензорных ядрах они-то и быстро считаются).
На данный момент по своей работе я активно развиваюсь в нескольких направлениях: в мн
Unity — среда для тренировки искусственного интеллекта. Ниже пример обучения ИИ для игры в гонки.
В новой версии Unity много изменений, если кому интересно на официальном сайте много информации по обновлениям
Так, давно что-то ничего не писал в блог
Собственно время пришло
Данная статья является примером метода о котором рассказано в данном видео
Рассмотрим вызов игровой функции на примере перовой части игры Dishonored
В данном примере будем восполнять себе количество маны, которая в игре не может регенерироваться полностью после использования череды способностей
Для начала нам необходимо найти само значение маны, благо оно храниться 4мя байтами в памяти и тут нет нич
Обход функции, снятия скринов античитами.
01.11.2020 Undetected
Поддерживаемые системы:
x64 only
Windows 7+
Поддерживаемые режимы игры:
Windowed mode
FullScreen
Инструкция:
Для запуска требуются права администратора
Запустить файл
Запустить игру
Играть
В зависимости от античита, скрины не будут сниматься или будут чистые
BpScr.rar
В таблице поиска есть колонки ссылающиеся на название Lua перменных: "value" и "previousvalue"
А что можно делать?
Сравнивать текущее и предыдущие значения вместе или по отдельности, в том числе на разных вкладках CE
Примеры:
value == 65
value == 0x65 (или поставить галку hex)
value ~= 65 (или поставить галку not)
Можно и такое сравнение сделать после поиска неизвестного используя математические функции:
math.abs(value - previousvalue)
11 декабря 2019 года форуму Gamehacklab исполнится 10 лет. Это дата первого пользователя форума.
Поздравляю всех:
активных пользователей,
высший состав форума, админов и модеров,
старожил,
помогаторов,
тех кто был на форуме очень давно и перестал заходить.
Отдельно @Xipho, @srg91, @partoftheworlD, @Garik66, @LIRW, @SER[G]ANT, @gmz. Извините, если кого-то персонально пропустил.
Можно пожелать всем бесконечного энтузиазма на тему поиск
Уже множество раз разными участниками форума поднимался вопрос о внедрении своих функций (например на С++) в чужой процесс и что бы они там правильно исполнялись.
То есть что бы можно было написать свой код, потом включить компиляцию, и функция добавляется в чужой процесс без всяких проблем, на неё можно послать поток игры, сделать прыжок и так далее, изменять когда хочешь на высоком уровне, а не на ассемблере.
Мною было проведено исследование в котором было поставлена цель сделать это, и по
Вдохновение появилось после просмотра видео @Xipho по Ultimap
Когда в Ultimap появляются Nx адресов с одним счетчиком, то хочется увидеть эти связи на графиках IDA.
Появилась идея загуглить как в IDA через IDC скрипт отрисовать ветвь кода или ветви кода, на которых эти самые адреса связаны между собой, а все вложенные другие скрывать.
Пока из подсказок я нашел это и это
Допустим для тренировки даны два адреса из одной ветви кода (это я точно знаю, т.к. получен н
Вот и настало время для 2й части реверсинга данной игры
Сегодня будет рассмотрен Packet Editing
В качестве основной идеи выступает данное видео
Ну что же, начнем...
Для начала необходимо найти ф-ию отправки пакета на сервер игры
Эта ф-ия существует во всех онлайн играх.
На примере Perfect World, она выглядит вот так
В ф-ию передается 2 аргумента
1й аргумент это указатель на массив байтов который передается серверу
В качестве второго аргумента вы
Для тех кому интересно, вопрос к ним. Какие критерии можно добавить спрашивая оценку плагина?
Например, по 5-ти бальной шкале спрашивать оценку у пользователей:
Необходимость плагина в Cheat Engine
Работает без ошибок
Понятно как пользоваться
Интерфейс плагина
Удобство плагина
Нравится
Простая установка
Думаю, прикрутить аналитику прямо в плагины. Там будет как аналитика использования плагина, та
Планируется улучшать и дорабатывать плагины, показать как с ними работать.
1. Вывод данных в окно логов: сканирование, подключение к процессу, опции сканирования, состояния активации и деактивации записией в таблице CE и другие
2. Запись действий из пункта 1, сохранение этих действий и воспроизведение по кнопке или горячим клавишам
3. Показ в дизассемблере CE ветвлений кода при проходе потоками разными цветами (можно видеть код, который не был пройден в разных ситуациях)
4. До
У меня бывают такие случаи, когда увидишь простой пример кода после которого захочется заняться разработкой какой-нибудь игры.
Вот один из таких примеров о том, как сделать подъем и опускание предмета и затем его вращение. Это 5 строчек "таких" и 5 строчек "таких", вот подъем и вращение
На видео код можно применять для левитации предметов и вражеских персонажей, которых можем поднимать, удерживать и бросать.