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

Лидеры


Популярный контент

Показан контент с высокой репутацией за 02/25/19 во всех областях

  1. 5 баллов
    Вот тут показаны некоторые простые функции LUA и как сделать управление перемещением на примере игры Terraria. Первая часть: Вторая часть:
  2. 5 баллов
    Начнем с теории, для того чтобы, что-то реверсить, надо знать как это работает, для этого стоит почитать вот эту книжку, а так же понять устройство функции выстрела. Для этого нарисовал небольшую схему, описывающую в общих чертах, что происходит под капотом при нажатии ЛКМ в игре. Как видим на схеме, необходимо проделать все тоже, что делали в прошлой статье по нахождению разброса, на данном этапе необходимо найти функцию рисующую дырки от пуль, по деловому она называется FX_FireBullet. Если мы попали в функцию "Создания следов от выстрелов", остается только дебажить. В итоге внутри вложенной функции, внутри FX_FireBullet мы найдем такой код. Он может отличаться, количество аргументов быть больше/меньше. Но вот какие аргументы принимала функция: Координаты начальной позиции: Координаты конечной позиции: 3-й аргумент маска. Маска задает магической функции создания луча, какие текстуры луч должен игнорировать, а с какими работать. 4-й аргумент фильтр трассировки 5-й аргумент булева переменная, указывающая, должна ли функция использовать группу коллизий. 6-й аргумент буфер, для вывода результата магии. Вот какие значения получаем на выходе. Красным выделено, то ради чего весь этот поиск затеян, это значение является чем-то типа процента отражения луча, обычно это значение от 0 до 1. На отражение так же влияет маска и если мы её подправим, отключив при трассировке все лишнее, оставив только модельку игрока, то возвращаемое значение fraction будет рано 0.95-1 если видим противника и можем попасть, и 0 если что-то мешает. Ах да, совсем забыл, эта функция обычно находится в цикле for, просто для того, чтобы вызываться и рассчитывать разброс, дырки от пуль, трассировку каждый выстрел. В некоторых играх попадаются интересные реализации, т.е нет какой-то определенной функции работающей с трассировкой, но зато есть методы работающие с игровыми скриптами. Этот метод ищет функцию по её названию и вызывает, а внутри этого метода находятся функции трассировки, но работают они по-разному в зависимости от передаваемого имени, а видимость задается 0 и 1, которое функция возвращает.
  3. 4 балла
    Ну что ж, все ощущения буду сравнивать с IDA. Дизассемблер рабочий, со странными "горячими" клавишами, сканирование проходит быстрее. Декомпилятор работает на уровне с Hex-Ray, в некоторых моментах даже лучше. Автоматическое создание структур из коробки это действительно круто. Все что делается в IDA плагинами, в гидре есть из коробки, очень подробная документация к API, скрипты можно писать на Python и Java. О дааа, гидра умеет в различные типы, чего ида до сих пор не могет. Сравнение декомпиляторов(низ ида, верх гидра) Сверх удобная работа с сигнатурами функций В ида это выглядит куда хуже. Графическое представление функций, все же я выберу гидру, графики выглядят не так скомкано, временами это мешает сфокусироваться на отдельном блоке. Так же у гидры удобное отображение функций при использовании классов. К примеру, в аргументах к функции используется созданная структура, гидра позволяет видеть в каких функциях она использована. Встроенный экспорт заголовков с созданными структурами, очень радует. А вот так выглядит ручное создание классов. Создание классов так же поддерживает пространство имен, что удобно при реверсе, чтобы не создавать из одного класса помойку. Одна из очушенных фитч, это сравнение функций, берем 2 или более функции и сравниваем, удобно бороться с самодельными пакерами имеющий ловушки. Так же поддерживается сравнение функций в разных файлах, что-то типа встроенного BinDiff. Из минусов(временных) отсутствие поддержки темной темы и FLIRT анализа. В заключение, мне кажется разработчикам иды придется очень-очень сильно постараться, либо снижать цены очень сильно, чтобы люди не уходили на бесплатный продукт с аналогичным функционалом. После переезда иды на новый API, ситуация с плагинами у неё не самая лучшая, но тут гидра выигрывает встроенным функционалом. Сейчас для меня гидра выигрывает почти по всем параметрам, пореверсим что-нибудь рабочее и посмотрим как себя поведет программа, какие проблемы могут быть и про это будет отдельная статья через 1-2 недели.
  4. 4 балла

    Версия CPY

    24 раза скачали

    Использование: Запускаем сначала игру, а в главное меню игры (либо в уже начатой игре) запускаем трейнер. Функции в трейнере парные, зажимаем insert и жмем клавиши указанные на панели трейнера. Функции: 1. > Бессмертие. 2. > Бесконечный фонарь. 3. > Чистое оружие. 4. > Долговечность маски. 5. > Без перезарядки оружия. 6. > Бесконечные патроны. 7. > Бесконечное время фильтров. 8. > Точность оружия. 9. > Бесконечные аптечки. 10. > Бесконечные бомбы, ножи. 11. > Урон по мутантам увеличен в 100 раз. 12. > Без отдачи оружия. 13. > Без перегрева оружия. 14. > Бесконечные предметы на крафт. 15. > Супер бег. 16. > Супер прыжок. 17. > Бесконечный воздух для ружья. 18. > Бесконечный воздух для пулемета. 19. > Враги не атакуют. 20. > Возможность летать с зажатой клавишей Alt
  5. 3 балла
    Обход функции, снятия скринов античитами. x32 / x64 Win7+ Запускать можно как до, так и после запуска игры Запустить файл Играть В зависимости от античита, скрины не будут сниматься или будут чистые BpsByJH.rar
  6. 3 балла
    Наверняка многие из вас не задумывались о том, можно ли запустить онлайн или одиночную flash игру из браузера отдельно, например для повышения производительности и разворачивания на весь экран? Так вот - такой способ есть, и даже очень простой. Нам понадобится вот эта программа, это официальный flash проигрыватель - вся его функция это проигрывать приложение по ссылке, с компьютера или же из интернета. Теперь такая инструкция - идём на сайт с интересующей нас игрой, к примеру я пойду на сайт где можно сыграть в "bad pigges". Теперь идём во вкладку позволяющую просматривать загружаемые файлы, у меня это "сеть" и в фильтр поиска вписываем .swf Запускаем плагин (если у вас нету такого, перезагрузите страницу вместо запуска плагина). Видим что нашлись файлы: Копируем URL файла, и идём в нашу программу. Зайдя в программу нажимаем на Файл --> Открыть... и получаем такое окно: В него вставляем ранее найденный URL и нажимаем ОК. Запускается игра, и мы можем развернуть на любой размер. Вот на весь экран у меня: С онлайн играми та же история, но тут есть одно но. Если в игре есть авторизация которая происходит через соц сеть или же через сайт, а не через flash, то вам нужно будет авторизовавшись в игре сразу получить ссылку не дав ей загрузиться, и сразу закрыть, так как по этой сесси вряд ли пустит ещё раз (защита от взлома аккаунта).После этого можно открывать эту ссылку во flash. Кстати, открываемые ссылки сохраняются, так что вам не придётся постоянно искать их заново. Нужно будет просто выбрать из меню.
  7. 3 балла
    Обнуление прицела это конечно хорошо и просто, но часто не работает с оружием у которого нет прицела. Для начала необходимо найти адрес работающий с перекрестием. Бряк на доступ. Делаем выстрел. 1 выстрел 1 срабатывание инструкции, то что нужно. Открываем дизассемблер и разбираемся что тут происходит. Я уже все декомпилировал. Готово, после реверса становится ясно, что тут у нас создаются значения, которые задают разброс оружию. rng_init возвращает значение размером в 2 байта, мне кажется это seed (число используемое для инициализации генератора псевдослучайных чисел) rng_flt возвращает значение float, первым аргументом задается seed, вторым минимально возможное значение, третьим максимально возможное. В принципе тут все, чтобы разброса не было, можно либо отключить проверку, либо, при условии запрета на инжект перехватывать seed, для генерации в собственном чите, чтобы компенсировать разброс. Или ноускопить как млг про Но на этом не все, прелесть данного способа в том, что, если мы нашли функцию инициализирующую генератор псевдослучайных чисел, мы можем управлять всем, что только работает с псевдорандомом, например выпадение лута, движение ветра, шанс крафта, успешность взлома и т.д. Только посмотрите, сколько здесь возможностей для взлома, используя псевдорандом.
  8. 2 балла
    Переписал скрипт на гидролад.(я теперь знаю Java через Python 😄) Делает все тоже самое, рекурсивный поиск строк в функции и создание комментов. Установка: Скачиваем файл из репозитория Добавляем его в менеджер скриптов Ищем среди всех скриптов Запускаем Надо будет еще по колдовать над форматированием строк, а так вроде все работает. Если что, какие-то баги, пишите сюда или создавайте репорт на гитхабе.
  9. 2 балла
    Вместе с гидрой в папке ${GHIDRA}/Extensions/IDAPro/ идет плагин для IDA, для импорта и экспорт баз в виде XML. Открываем плагин, выбираем, что нужно экспортировать и ждем завершения процесса. На выходе получаем базу в виде XML файла(со всеми сохранными данными) и просто переносим его в окно GHIDRA. Происходит импорт. ...
  10. 2 балла
    Уважаемые Коллеги и Клиенты! Прошел ровно год, как я присоединился к сообществу геймхакеров. От человека, который не знал, как найти точность в игре - до того, кем я сейчас являюсь, ровно год. За этот год было много всего. Были недопонимания, споры, интересные задачи, рутиная работа, радость побед и бессонные ночи с отладчиком в обнимку. Мы с вами работали и продолжаем работать, не отвлекаясь на внешние факторы, не оглядываясь на противников (разработчиков систем противодействия нарушителям в игре), потому-что нам просто некогда. И это правильно! Не нужно останавливаться на достигнутом и довольствоваться малым. Всегда нужно двигаться вперед, и тогда результат обязательно будет. Сегодня мы с вами добились хороших результатов, но стоять на месте мы не будем. Мы будем расширяться, открывать новые направления и прокладывать ещё более длинные дороги к успеху. Всегда приятно встретить праздник в окружении достойных противников, лучших клиентов и коллег профессионалов.
  11. 1 балл

    Версия 1.2

    4 раза скачали

    Использование: Запускаем сначала игру, а в главное меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бессмертие. 2. > Бесконечная энергия. 3. > Бесконечные деньги. 4. > Бесконечные камни. 5. > Бесконечное время способностей камней. 6. > Бесконечное время кольца. 7. > Быстрый взлом сундуков. 8. > Нет смерти от падения с большой высоты. 9. > Супер скорость. 10. > Супер прыжок. 11. > Мега прыжок. Если супер прыжка мало - работает в паре с супер прыжком. 12. > Бесконечная жизнь медведя. 13. > Заморозить врагов. 14. > Убийство с одного удара (включать не играя с союзниками). Ps: Функция убийство с одного удара, работает и на союзников... Так что в последней главе, функцию лучше не включать. Ну или в противном случаи, они помрут так же от одного удара врага.
  12. 1 балл
    Ещё гидра поддерживает сортировку функций по глубине сложности Я слишком ленивый чтобы переводить, поэтому гугл-переводчик.
  13. 1 балл
    В целом тебе @Xipho довольно сильно подсказал, когда назвал слово loopback. По нему отлично находятся нужные статьи: https://docs.microsoft.com/en-us/windows/desktop/CoreAudio/core-audio-apis-in-windows-vista https://docs.microsoft.com/en-us/windows/desktop/CoreAudio/loopback-recording И там есть ссылки на примеры, они сейчас вынесены из Windows SDK, лежат вот тут: https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win7Samples/multimedia/audio У меня с пинка получилось только перенаправить звук с дефолтного аудио-устройства в wav-файл. Нужно разбираться, нужно ли создавать своё устройство под микрофон, в которое писать или всё же можно писать в стандартное. В общем вот тебе ссылки - это реально то, что нужно. Но нужно поковырять, с пол-пинка сложно разобраться. Напиши, обязательно, что получится, очень интересно
  14. 1 балл
    Странно. На работе у меня 10-ка, и она почему-то с тобой не согласна. А если же тебе нужен loopback, который все, что поступает на выход, отправляет на определенный интерфейс записи - это сильно зависит от звуковой платы. На Creative SoundBlaster Surround Pro 5.1 такой интерфейс есть. А на Yamaha AG03 (моя текущая звуковуха) - он вообще аппаратный. Ну или, как и говорил @partoftheworlD, можно заюзать Virtual Audio Cable или Voicemeeter Banana
  15. 1 балл
    Вот если я что то поняла правильно из сказанного, то в есть такая штука называется стерео микшер, это устройство ввода как и микрофон, транслирует звуки компьютера под видом звуков микрофона, то есть как бы устройство записи которое получает ввод как устройство вывода. Вот оттуда попробуй копать.
  16. 1 балл
    Еще можно попробовать записывать указатели через строку "[[adrress+x]+x]" writeFloat("[[address+x]+x]",100.0)
  17. 1 балл
    FreeCam - свободная камера, подразумевает возможность полёта камеры отдельно от объекта/персонажа и тому подобного, используется в самых разных целях, для обнаружения противников, для создания красивых снимков, для нахождения секретов и тому подобного. Принцип создания: Всё зависит от типа игры. Если реализован поворот камеры мышью - то данную функцию делать не нужно. Для перемещения камеры можно использовать самые разные функции, но я склоняюсь к полёту в ту сторону куда смотрит игрок. Для этого необходимо вычислить синус и косинус для поворота по горизонтальной, и синус для поворота по вертикальной оси. После их надо умножить на радиус, мы получим точку на сфере - это и будет вектор ускорения для камеры. Его следует добавлять к уже существующим координатам камеры, изменяя радиус мы можем изменять скорость. Для того что бы камера была "свободная", нужно записывать свои значения в координаты, а функцию которая записывает их в игре по стандарту - отключить. Более детально всё показано в следующем видео Создание свободной камеры на примере игры "WarThunder": Видео где показан принцип работы формул: тык
  18. 1 балл
    Ох как я тебя понимаю...та же фигня и у меня, постоянно спрашивают...уже просто бесит.
  19. 1 балл
    Вот такая таблица получилась, скрипт посмотришь, значения голода, жажды, выносливости, макс выносливости и другие вынесены в таблицу, появятся как включишь скрипт. Subterrain.CT
  20. 1 балл
    Ух, черная зависть. Все таки ты король реверса - держи свою фотку на память.
  21. 1 балл

    Версия Origin date 16.02.2019

    11 раз скачали

    Использование: Запускаем сначала игру, а в главное меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бессмертие. 2. > Бесконечная энергия. 3. > Без перезарядки оружия. 4. > Бесконечные стрелы. 5. > Бесконечные гранаты. 6. > Бесконечные С4. 7. > Увеличенный урон оружия в 250 раз. 8. > Точность оружия. 9. > Без отдачи оружия. 10. > Бесконечные sp на прокачку. 11. > Супер прыжок. 12. > Бесконечные время на взлом. 13. > Бесконечные патроны. Ps: Все функции с оружием, реализованы (без вычитания из существующего значения) а то есть замораживает только текущее состояние патрон или боеприпасов.
  22. 1 балл
    Не слушай тех кто ищет и не находит: https://github.com/markjandrews/wrk-v1.2
  23. 1 балл

    Версия 6.8.3

    407 раз скачали

    Установка: Скопировать содержимое архива в корневую папку Cheat Engine
  24. 0 баллов
    @MasterGH не много не так: writeFloat('[adrress+x]+x',100.0)
  25. 0 баллов
    Конечно есть! Если коротко - берёшь объект - узнаёшь его размер. После - делаешь "луч" как его можно назвать - От объекта двигаешься координатами к игроку по прямому вектору, проверяешь не стоит ли там чего - если стоит (стена например) проверяешь левый угол объекта, потом правый, верх низ, все дела. (Это всё жрёт кучу времени и памяти) и так ты узнаешь только видимость центра объекта и его сторон, (делать больше лучшей это убиться веником). Так же тебе надо проверить находится ли объект в видимости камеры. Если все условия удовлетворены - объект видим, если нет - не видим (или за какой нибудь стеклом и тд). Можно пойти другим путём. Узнать каждые координаты тайлов вокруг персонажа, стены, пол и тд. Их размер и геометрию. После = исходя из этого, опять же по всяким сложным формулам вычисляешь находится ли часть объекта в зоне видимости, лучше проверять по периметру, это тоже будет жрать кучу ресурсов. А и не забывай что у тебя не 1 объект (вероятно) а куча, так что с такими проверками игра станет слайд шоу =).
×

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

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