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

Лидеры

  1. imaginary

    imaginary

    Помогаторы


    • Баллы

      2

    • Постов

      319


  2. Garik66

    Garik66

    Помогаторы


    • Баллы

      1

    • Постов

      5 750


  3. ChestGlaring

    ChestGlaring

    Пользователи+


    • Баллы

      1

    • Постов

      30


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

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

  1. В данном руководстве описано как использовать xmm регистры, а так же некоторые команды. Список некоторых команд (напоминалка): О регистрах: Регистры в этих дополнениях сопроцессора очень похожи на основные, но в отличии от них могут содержать целых четыре элемента, и даже работать сразу со всеми четырьмя! Арифметические операции с регистрами: Все функции сложения, вычитания, и другие могут быть совершены только с регистрами. Такая инструкция сработает: addss xmm0,[MyLabel] А такая - нет. addss [MyLabel],xmm0 Потому следует все операции производить после записи регистров. Например, если необходимо прибавить что нибудь к переменной можно использовать такой код: movss xmm0,[MyLabel] //Записываем в xmm0 наше число addss xmm0,[MyAddValue] //Добавляем к нему другое movss [MyLabel],xmm0 //Записываем из xmm0 назад в число. Так же нужно помнить что регистры это не стек, и потому значения свои сохраняют после записи. Как уже было сказано выше, эти регистры могут содержать целых 4 элемента - работа с массивами: Массив должен состоять из четырёх элементов, например такой: MyMassiv: dd (float)2 dd (float)7 dd (float)29324.126 dd (float)8261.3 Что бы записать этот массив в xmm мы можем использовать следующий код: movups xmm0,[MyMassiv] После чего получим в xmm0 все четыре числа по порядку. Теперь мы можем сделать что нибудь с этим массивом, например умножить его на другой массив. К примеру вот такой: MyMassivMul: dd (float)1 dd (float)2 dd (float)0.5 dd (float)2 Умножаем: movups xmm0,[MyMassiv] //Загружаем наш массив movups xmm1,[MyMassivMul] //Загружаем массив на который умножим mulps xmm0,xmm1 //Умножаем movups [MyMassiv],xmm0 //Возвращаем в наш массив. После выполнения этого кода, массив примет такой вид: 2; 14; 14662,063; 16522,6. Так же можно вычитать, делить, находить корень, складывать, и многое другое.
    1 балл
  2. Весь мир контейнер и ты в нем контейнер с контейнером. С этих слов и начинается наше приключение в мире отладки и исследований. В первой части статьи мы рассмотрим, только способ с использованием консольных команд, во второй с использованием указателя на структуру предмета и мира. Использование игровой консоли для спавна, на примере TES Skyrim команда выглядит как player.AddItem <ID> <количество>, во многих играх спавн с помощью консольной команды умеет класть предмет только в инвентарь игрока. На этапе поиска откуда начать взлом существует разветвление. Например, если консольная команда спавнит предмет рядом с игроком, то для начала будет логично использовать координаты игрока, чтобы впустую не тратить время и сразу узнать, кто использует наши координаты. Если спавн происходит в инвентарь, тогда проще будет использовать указатель на инвентарь или какие-нибудь сообщения об успешном выполнении добавления предмета. Для начала проверим, есть ли какое-либо сообщение об успешном добавлении предмета. Будем отталкиваться в анализе дампа от этого сообщения. Идея проста, если мы найдем функцию, которая сообщает об успешном выполнении консольной команды, значит где-то ранее, есть функция спавна. Как только найдем функцию, отображающую сообщение, необходимо будет сохранить список вызовов, которые были ранее, для этого в x64dbg необходимо перейти во вкладку Call Stack. Получаем вот такой список. Далее необходимо исследовать функции сверху вниз, восстанавливая только основные переменные, чтобы не тратить впустую время. Address To From Siz Comment Party 000000A0B28FE9D8 00007FF6E84D8872 00007FF6E84A0ABF 7B0 skyrimse.00007FF6E84A0ABF User 000000A0B28FF188 00007FF6E84D7B8D 00007FF6E84D8872 7B0 skyrimse.00007FF6E84D8872 User 000000A0B28FF938 00007FF6E84D8E2B 00007FF6E84D7B8D 80 skyrimse.00007FF6E84D7B8D User 000000A0B28FF9B8 00007FF6E849739F 00007FF6E84D8E2B A0 skyrimse.00007FF6E84D8E2B User 000000A0B28FFA58 00007FF6E8497692 00007FF6E849739F 60 skyrimse.00007FF6E849739F User 000000A0B28FFAB8 00007FF6E8A8AF07 00007FF6E8497692 50 skyrimse.00007FF6E8497692 User 000000A0B28FFB08 00007FF6E876362D 00007FF6E8A8AF07 40 skyrimse.00007FF6E8A8AF07 User 000000A0B28FFB48 00007FF6E875F4F4 00007FF6E876362D 90 skyrimse.00007FF6E876362D User 000000A0B28FFBD8 00007FF6E875CC05 00007FF6E875F4F4 30 skyrimse.00007FF6E875F4F4 User 000000A0B28FFC08 00007FF6E94FB17A 00007FF6E875CC05 40 skyrimse.00007FF6E875CC05 User 000000A0B28FFC48 00007FF88ED46FD4 00007FF6E94FB17A 30 skyrimse.00007FF6E94FB17A System 000000A0B28FFC78 00007FF88FE5CEC1 00007FF88ED46FD4 80 kernel32.00007FF88ED46FD4 System 000000A0B28FFCF8 0000000000000000 00007FF88FE5CEC1 ntdll.00007FF88FE5CEC1 User В теории, необходимо искать функцию по нескольким параметрам: 1. Скорее всего это вызов виртуальной функции (Слава ООП) 2. В аргументах передается указатель на конструктор предмета, который необходим для выделения памяти под конкретно выбранный тип предмета. Указатель на виртуальную таблицу класса игрока/мира/npc в зависимости где будет создаваться предмет. Передача количества создаваемых предметов, если предмет один, то может вообще ничего не передаваться, а оговариваться уже внутри функции по созданию предмета. Походу исследования, я нашел 3 функции, которые подходят под описание выше. В итоге находим её и восстановив видим это. Дальше, необходимо её как-то проверить и чтобы не заниматься ерундой, по типу написания длл или использования скриптов для вызова функции, просто меняем значения в передаваемых аргументах. Например, так: Функция выглядит довольно просто для вызова извне. Первый аргумент указатель на виртуальную таблицу класса игрока. Вторым аргументом идет конструктор для типа оружия. Четвертым, количество создаваемых предметов. Остальные аргументы при тестировании не на что не влияли. В заключении, поиск функции спавна предметов довольно простой процесс, которого многие почему-то бояться, хотя это не сложнее, чем создания телепорта. Если углубиться в исследование найденной функции, то скорее всего окажется, что существует один единственный метод обвешанный шаблонами, который используется как для спавна предметов в мире, так и в инвентаре игрока. На этом первая часть статьи подходит к концу, дальше будет интересней.
    1 балл
  3. В этом видео рассказано как иногда можно найти влиятельные(выгодные) параметры(а именно бессмертие) найдя структуру персонажа по простым параметрам. Wormix, игра из соц. сетей, на эту игру было множество интересных обманов от разных людей, с помощью разных программ, в этот раз я покажу как можно найти структуру персонажа а после уже по вашему желанию, например написать скрипт её поиска. *Скрипт простой и детально не описан, описан поиск. *Советую использовать браузер с выделенным процессом для плагинов, или же ищите процесс через диспетчер задач браузера (flash игра) Мной это найдено примерно пол года назад, и отлично работает на данный момент, как долго разработчики не узнают об этом зависит лишь от пользователей. Скрипт поиска: Смещения: +5С - уязвимость +С8 - поворот персонажа Там есть много других параметров, не советую их трогать на основном профиле, эти безопасны на данный момент. Видео:
    1 балл
×
×
  • Создать...

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

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