Перейти к содержанию

MasterGH

Администраторы
  • Публикаций

    2 939
  • Зарегистрирован

  • Победитель дней

    114

MasterGH стал победителем дня 3 марта

MasterGH имел наиболее популярный контент!

Репутация

482 Structure hunter

Информация о MasterGH

  • Звание
    Сооснователь

Информация

  • Пол
    Array

Посетители профиля

65 647 просмотров профиля
  1. MasterGH

    Cheat engine Mono Dissector

    Запрос на unity global-metadata.dat вывел на интересное обсуждение , а также на видео использования Il2CppDumper. Рекомендуют разрабам использовать свою обфускацию или даже использовать Unity не для кибер-спортивных игр. Хотя и так ААА-студии, т.е. те которые делают ААА-игры выбирают Unreal Engine чем Unity судя по данным некоторых источников. Последняя для инди и мобилок, и шире по функционалу для VR. В принципе il2cpp я еще ни разу не дизассемблировал. Наверняка, так же как и с моно можно грузить ассеты с комилированной dll-кой от cpp, и которая сможет добавить свой класс поведения от того же Monobehavior на объект контроллера персонажа или на его камеру, чтобы сделать, например, чит на прыжок, полет камеры или любой другой...
  2. MasterGH

    Cheat engine Mono Dissector

    Какая игра? Пробовать ставить CE более старую: 7.1, 7.0, 6.8.3 ... Я очень давно не использовал "Mono Dissector". Польза от него не сильно-то большая. Можно и обычным способом найти адрес, найти инструкции и исправить код по сигнатуре. Если в билде есть mono, то можно дебажить в VS++ в райнтайме по сокету через локальный порт. Сделать патч сборку на Unity движке, которая может изменить до мелочей весь игровой процесс. Поменять и встроить все-что угодно от логики до контента. Я даже не знаю, кто сейчас на Unity выпускает сборки с Mono, даже с обфускацией, когда давно есть режим сбори il2cpp, превращая код в C++. Там уже никакой Mono Dissector не должен работать.
  3. Скорее всего, в xmm2 остается значение и его (xmm2) тоже менять надо.
  4. Не отправляйте doKeyPress(VK_F) лишнее количество раз, т.е. пока по адресу не поменяется значение на новое. Проверяйте отключился ли системный процесс. Проверяйте существование адреса (если нужно). Проверяйте растет ли объем занятой оперативной памяти или насколько быстро. Если да, то делать чистку через сборщик мусора. Возможно, подойдет и SikuliX для автоматизации действий без обращения к памяти процесса. Распознаются изображения на экране и по ним совещаются действия и в том числе отправка нажатий.
  5. Вполне читерская программа Sikulix Помощник для нахождения отличий Исходник: Картинки для тренировки Игра Sikulix Документация Туториалы Sikulix умеет: ждать появления или исчезновения элемента, просто ждать, периодически просматривать область в background (например игрового чата); читать (и писать) текст в(/из) поля ввода, "нажимать на клавиатуру", подсвечивать области, кликать по элементам, удерживать и перетаскивать; перемещаться по окнам по названию процессов; сохранять скриншоты в том числе определенные области; показывать много разных диалогов: ввода, тултипов, сообщений; сравнивать изображения и находить отличные области (пример выше); поиск элементов по маске; поиск групп элементов и перебор их; создание гайдов или руководств Из наиболее интересных применений: 1) в играх где необходим поиск графических элементов с действиями (кликеры, поиск отличий или поиск/подсчет элементов, маджонги и другие); 2) нажать на найденных элементы(кнопки, чек-боксы); 3) найти текстовое значение, перевести в число, посчитать; 4) ожидает выхода человека из скайпа (или что-то вроде мониторинга чатов); Ну и так далее...
  6. Примеры на C#: Принцип связан с условием движения персонажа, временем, углом в радианах, координатами персонажа и некоторыми тригонометрическими функциями. Получается что-то, вроде, двух одновременных движений вперед и относительное влево-вправо по дуге. Ключевые слова для поиска: "camera bob", "walk camera"...
  7. Возможно, надо в кавычки поставить. Это твое
  8. MasterGH

    CE 7.2 Операции с трейслогом

    Я решил рассмотреть три новые функции: Пользовательские типы данных в hex-окне Фильтр на окне определения адресов Поиск данных в окне Tracer 1. Пользовательские тип данных в hex-окне Пример как сделать: Фильтр на окне определения адресов 3. Поиск данных в окне Tracer Обычный поиск, как на прошлых скринах Примеры Ну и более интересная версия перебора и одновременного выделения записей. Здесь нужно открыть окно "Трейсера" и рядом в Lua окне писать свои условия в функции "Compare()", "PrintData()", Selected() Документация Для вывода referencedBytes из трейслога можно использовать byteTableToDword(referencedBytes) (смотрим документации выше) получая из TfrmTracer.Entry[index].referencedBytes или в строке поиска у Трейслога вбить byteTableToDword(referencedBytes) > 0 and print(string.format("0x%08X - 0x%08X", RIP, byteTableToDword(referencedBytes))) == 1 Практическое применение Больше всего могут интересовать реальные практические примеры. Если будет время, желание может быть сделаю, а так просто общий обзор.
  9. Не нашел кода, который рисует 16x16 иконки. Может я проглядел. Я думаю, можно взять код, который рисует стрелочку... и после него сделать цикл с его участием, т.е. им же иконки ресурсов нарисовать. Куски по 1024x1024 разбиваются, скорее всего, из-за dds -формата, большой текстуры и оптимизации. Возможно, поддержка старых видео карт, на которых большие текстуры не залезут. p.s. Картинки не залиты на форум. Будет очень жаль, если пропадут со временем.
  10. MasterGH

    Большой брейкпоинт page exceptions

    Наткнувшись на тему вспомнил, что не все написал. В прошлом посте блога рассматривал бряк через DBVM. К сожалению, та версия dbvm из поста блога пропускала очень много инструкций и практически смысла нет её юзать. Например она определяла 16 инструкций, когда их было несколько тысяч, т.е. например 500 оффестов и на каждой по 10 инструкций. По DBVM надо, конечно, писать Дарк Байту, но желания нет. Так вот. Не только с DBVM можно ставить бряки на участок памяти. Есть еще тип брейкпоинтов page exceptions. О нем давно-давно известно и он как на ладони, но почему-то я пропустил его, когда искал оффсеты в структурах С ним можно работать с lua и без. Ловит огромное количество инструкций. Желательно мощное железо, т.к. игра скорее всего будет очень тормозить по 2-5 fps. Но на короткий запуск сойдет. 5 секунд и достаточно для снятия логов. На пару действий в игре тоже сойдет: выстрел или пермещение персонажа, прыжок или вообще ничего не делаем просто снимаем логи. 1) способ поставить бряк из окна памяти. Подопытная программа "Tutorial-x86_64.exe" Здесь видно, что размер 720 байт Логи из окна инструкций CE 2) Способ через Lua (подробнее в документации) debug_setBreakpoint(structure_address, sizeMemory, bptAccess, bpmException, onBreakpoint) P.S. Я написал про два способа установки брейкпоинта на множество адресов без DBVM. Вручную можно ставить такие брейкпоинты, но дальше уже кропотливый просмотр на предмет того чем это может помочь. Это может помочь определить типы данных и помочь прикинуть размер структуры, а также найти активные оффсеты. Можно на Lua автоматически определять активные offsets по базовому адресу структуры и эту структуру создать и заполнить в dessectData. Если будет время напишу скрипт.
  11. Нет альтернативы в виде одной команды. Можешь посмотреть интеловский мануал, раздел инструкций обмена данных. Зато есть альтернативы с несколькими инструкциями. Например, использовать третий "свободный регистр" xmm с инструкцией mov-подобного перемещения. Если регистр занят, то можно использовать адрес памяти. Есть интересный вариант с двумя регистрами и тремя инструкциям, когда на CPU поддерживает набор инструкций AVX. vpsubd xmm0, xmm1 vpaddd xmm1, xmm0 vpsubd xmm0, xmm1, xmm0 Также можно через xor подобную инструкцию.
  12. Это понятно. Ты попробуй узнать какие байты, в каком модуле и по каким смещениям менять. Чтобы узнать тебе нужен дизассемблер arm, если там на so файлах. Если там java, то ява декомпилятор и компилятор. Если там mono, то декомпилятор и компилятор .net модулей. Это будет так сложно, что может не быть смысла патчить апк. А вот сейв-вайлы из эмулятора более просто. Так же есть рут хаки на иннапы, для тех кто не сделал защиту против них. localhost На видео пример
  13. Чтобы летел вперед нужно найти адрес координат камеры и адрес кватерниона. Этот кватернион умножаем на нормализованный свой эйлеров угол смотрящий по глобальной оси координат "вперед" (например это 0X-ось), который умножаем на скорость движения и дельту времени между кадрами отрисовки. Скорость движения для W положительная, а для S отрицательная. У игрового объекта есть позиция X,Y,Z и углы кватерниона X,Y,Z,W. К позиции прибавляем нормализованный вектор оси вперед. Возьми например 0,1,0. Этот код на C# на CE Lua переписать с таймером и горячими клавишами. Посмотреть как работает.
  14. Перепатчить апк — это непросто. Если приложение сделано на Unity без il2cpp компиляции и без обфускации, то может еще прокатит. Java (скомпилированный) может еще тоже прокатит через декомпиляцию и компиляцию. А вот жесткие so-шки через IDA можно вечно реверсить. Там нужен подход, который я не знаю. Скорее всего, через эмулятор как-то. Проще найти готовые апк моды или искать другой путь. Через взлом сейв файлов, которые можно сделать через взлом на CE как по этой статье (в первом посте) или через взлом на эмуляторе и CE. Через рут эти файлы перенести.
  15. Как минимум два способа. Простой и сложный 1) Менять координаты по горячим клавишам. Тут даже скрипты писать не надо, если на CE делать. 3 координаты найти. И каждой по 2 поведения в опция выставить. 6 горячих клавиш. Три пары увеличивают и три пары уменьшают. Ничего программировать не нужно через CE. 2) Программировать. Аналогично по горячим клавишам писать полет. Язык программирования любой, который лучше всего знаешь и больше подходит. Есть пример на C#, но без записи в память чужого процесса. Можно этот код изучать и поменять Добавить код открытия процесса и добавить чтение и запись координат. MonoBehavior убрать, а update заменить таймером. Там же пример exe полета в том числе с вариантом движения вперед - по направлению камеры (с координатами углов) p.s. Чтобы сделать надо искать и читать документацию как писать код. Ничего сверх сложного нет. И полеты лучше отрабатывать на игровом движке или взять любой готовый пример directX на C++ и поведение камеры сделать в dll. И её уже использовать.
×
×
  • Создать...

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

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