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

partoftheworlD

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

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

  • Посещение

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

    172

Сообщения, опубликованные partoftheworlD

  1.  

    3 часа назад, roma91212 сказал:

    Ну даже если ее заморозить соответсвенно все равно перегрузится

     

    А что если значение переменной обычный счетчик срабатывания кода? При достижении определенного количества срабатывает сборщик мусора.

  2. 5 минут назад, inaginary сказал:

    Ставишь тип поиска Array of byte (Массив байт)

    p.s в настройках сканирования выбрать модуль в котором надо искать сигнатуру.

  3. 59 минут назад, Loner сказал:

    Координаты камеры хранятся отдельно в памяти или как то связаны с координатами игрока.

     

    Это ведь Frostbite, там все связано, просто найди координаты камеры и руками найди указатель, по ходу восстановления смещений найдешь все что нужно, только на одном из пунктов поиска будем несколько адресов, которые будут указывать на структуру игрока (Список игроков и локальная структура). Так же есть дампер классов, который для твоих целей подойдет идеально.

  4. ?u=https%3A%2F%2Ftse1.mm.bing.net%2Fth%3Fid%3DOIP.2pGaaZ9rCVHrqKPL9PQE7wAAAA%26pid%3D15.1&f=1

     

    В 02.02.2019 в 21:33, ЛАГАРИУМ сказал:

    чот я тупой

     

    В этом ты прав.  

    Сейчас бы хеш-функции пытаться найти в CE.  Чтобы воспользоваться хешами надо хукнуть скриптовой движок, либо воспользоваться OpenVHook, в той же теме на которую ты кинул ссылку, про это написано.

     

     

     

     

  5. Только что, docc сказал:

    как сделать чтобы грузовик проезжал сквозь объекты ??? (допустим через забор или через машины)

     

    Ищи коллизию, через координаты, бряк на доступ по адресу координаты и сталкиваешься с чем-нибудь.

     

     

  6. Только что, Alex2411 сказал:

    как хотел. осталось  найти решение  для любой последовательности байт

    Пиши свой алгоритм, который бы считал введеную тобой строку. Можно даже на основе того кода, что я кинул. Получить длинну можно с помощью вызова winapi функции типа strlen, результат будет в eax лежать.

  7. 8 часов назад, M1ke сказал:

    Очень хочется научиться делать читы, я решил начать с ВХ, но с чего начать? 

     

    Разобраться что ты подразумеваешь под вх, узнать принцип работы, сломать принцип работы.

    8 часов назад, M1ke сказал:

    Какой язык учить? 

    Любой какой нравится.

     

    8 часов назад, M1ke сказал:

    Как делать дамп в Кс?

    Scylla, OllydumpEx

  8. Просто переписываю статью с некоторыми правками, так как на данный момент она не рабочая, да и там черт ногу сломит.

    Сие действие будет проводить на Counter-Strike: Source, выбор игры не важен.

     

    Запускаем x64dbg, открываем файл hl2.exe, для корректного запуска стимовской версии необходимо указать аргументы командной строки:

     

     -steam -game cstrike -console -insecure

     

    Нажимаем F9, после прогрузки модуля d3d9.dll ставим бряки на:

    • Direct3DCreate9, если игра инициализирует устройство в текущем модуле
    • Direct3DCreate9Ex, если игра инициализирует устройство во внешнем модуле.

     

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

     

    *Немного комментов для лучшего восприятия* 

     

    image.thumb.png.ef5952b4112ac4451fd03a461073fd7d.png

     

    Теперь нам необходимо вызвать функцию CreateDevice по её индексу, для этого модифицируем:

     

    CALL DWORD PTR DS:[EAX+0x8]                                                     

    на

     

    CALL DWORD PTR DS:[EAX+0x40]

    Либо считаем руками.(Нет)

     

    После вызова [EAX+0x40] попадаем в тело функции, ставим на него бряк и перезапускаем игру.

    Как только сработает бряк, надо будет расширить количество аргументов до 7 в настройках соглашения о вызовах, так как нам нужен 7-й аргумент в прототипе функции CreateDeviceEx, а именно ppReturnedDeviceInterface:

     

    HRESULT CreateDeviceEx(
      UINT                  Adapter,
      D3DDEVTYPE            DeviceType,
      HWND                  hFocusWindow,
      DWORD                 BehaviorFlags,
      D3DPRESENT_PARAMETERS *pPresentationParameters,
      D3DDISPLAYMODEEX      *pFullscreenDisplayMode,
      IDirect3DDevice9Ex    **ppReturnedDeviceInterface
    );

     

    image.png.472171e3dc04011c72ecb39baac0365a.png

     

    Хоба.

     

    image.png.e0ad0eebc64c5503f788dfaa8dec561e.png

     

     

    Вот мы и нашли указатель на указатель на устройство с помощью которого можно рисовать внутри игры и которым рисует игра.

    • Понравилось 1
    • Плюс 1
  9. Как бы не было от этого грустно, но в этой игре нет таймера. Весь таймер заключается в статическом значении, которое равно 60 без прокачки. А на него выходить, только через перезарядку навыка.

    Borderlands2.CT

    • Плюс 1
  10. 2 часа назад, Xipho сказал:

    Немного не понял. Как это поможет отличить действующую структуру в памяти от фантомной, указатель на которую находится где-то в протухшей части стека?

     

    Так проверка направлена на фильтрацию статических адресов, которые реально используются, а не просто совпавший статический адрес указывающий на структуру в стеке. К примеру ищем статический адрес на 0xFEEDFACE, через сканер указателей, получаем статический адрес 0xDEADBEEF, теперь ищем этот 0xDEADBEEF, где он используется в коде. Находим такую инструкцию:

     

    mov eax, [0xDEADBEEF]

    Значит все хорошо, но так же, мы можем обнаружить какую-либо инструкцию, опкоды которой совпадают с указателем на 0xFEEDFACE, раз так, то отфильтровываем подобные результаты и получаем только реально работающие указатели.  Вот к примеру:

     

    "mov eax, [0xDEADBE68]"
    A1 68BEADDE
    
    ==========================
    
    "push 0xDEADBE"
    68 BEADDE00

     

    Технически эти адреса одинаковые, но во втором случае указатель не будет работать после перезапуска, но сканер указателей покажет эти 2 случая. Да, это лечится новым сканированием после перезапуска, но не всегда перезапуск игры возможен.

    Хотя, возможно это уже не нужные костыли.

     

    44 минуты назад, MasterGH сказал:

    C помощью Lua  можно убрать ненужные указатели. В документации по Lua все написано ;)

     

    Отлично.

  11. 40 минут назад, Xipho сказал:

    Ну хз. А как ты отфильтруешь адреса, не зная. какие из них были отведены под стек, и какие уже утратили актуальность, а какие - нет?

     

    Я думаю, можно сделать проверку, например, есть статичный адрес который был найден сканером указателей, какой-нибудь AAAAAA. Для проверки возьмем сканер сигнатур или просто поиском константы,  найдем все инструкции, в которых есть адрес 0xAAAAAA и ограничим вывод результатов, фильтруя их по началу блоков, которые должны начинаться с определенных опкодов. Т.е основные, которые присваивают адреса и обычно работают со статичными адресами.

    По типу:

    B8 AAAAAA00   - mov eax, 0xAAAAAA
    C700 AAAAAA00 - mov [eax], 0xAAAAAA
    A1 AAAAAA00   - mov eax, [0xAAAAAA]
    ...

     

  12. 4 часа назад, Xipho сказал:

    Малые адреса обычно говорят о том, что это где-то был кусочек стека в какой-то из веток кода, возможно, в нем остался указатель на структуру. Не раз на такое натыкался.

     

    Т.е в настройках сканера указателей нет никаких проверок, типа начального опкода или еще чего, чтобы фильтровать это?

    Если это так, то ручной поиск указателей будет куда лучше и надежней.

  13. Практиковавшись сегодня в поиске структур инвентаря, заметил кое-что странное, больше похожее на фантомные структуры. Слишком идеальное сие совпадение, а так как я в них не верю, да и не особо удачлив, у меня закрались подозрения, что тут что-то не так.

     

     image.thumb.png.214075f9d31768c7324e358b95faaad9.png 

     

    image.thumb.png.bd9b1c19e79780462707619800c9133e.png

     

    Если они и правда работоспособные, то тему можно закрывать, если это баг, то как от него избавиться?

  14. 7 часов назад, Stigmaer сказал:

    мне нужно значение не только 7, а значение от 1 до 7

     

    3 часа назад, Stigmaer сказал:

    посмотрел только мне не цикл нужен, если ты внимательно читал а замена на нужное значение, если нужно значение один нажал на клавишу установилось один, если нужно 4 нажал на другую клавишу чтоб установить 4

     

    До редактирования сообщения в топике было вот так. Расскажи мне, как я должен был понять, что тебе нужно, если ты не можешь объяснить это? Чтение мыслей и магия запрещены вне Хогвартса.

     

    3 часа назад, Stigmaer сказал:

    мне умный человек на форуме сказал что этот форум для того чтоб учиться. 

     

    Учиться пользоваться поисковыми системами? Если да, то ты ошибся форумом, здесь обучают тех, кто хочет учится и что-то делает, а не высасывает информацию по вопросу из пальца.

     

    3 часа назад, Stigmaer сказал:

    а минус ты зря

     

    Разве? Подобный вопрос не однократно поднимался по форуме, что мешает воспользоваться поиском по форуму?

×
×
  • Создать...

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

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