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

partoftheworlD

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

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

  • Посещение

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

    172

Весь контент partoftheworlD

  1. обычная игра вроде как Перезалил
  2. Вроде бы что-то такое было в Ce, хотя могу путать с моно играми. в общем тут 2 варианта обхода и оба легкие, хотя интересно было посмотреть как детектит значение.
  3. а в чем разница? что в ce дизассемблер, что в ольке
  4. Да, https://ru.wikipedia.org/wiki/SSE mov [rbx+00000144],(float)0.7 movss xmm0,[rbx+00000144] или label(test1) test1: dd (float)1234 movss xmm0, [test1] mov [esx+1A8],(float)10000 можно же сверять значения с 0, вместо геройского id, это конечно может вызвать проблемы, но вариант рабочий. cmp [a+b],0 je original code или mov eax, [a+b] test eax, eax je original code Обычно это массивы, к примеру eax адрес структуры со списком игроков, ebx индекс игрока *4, и все это выражение [eax+ebx*4] возвращает адрес указателя на структуру игрока по индексу
  5. Да, без разницы как искать адреса, ведь только значения шифрованные. много, я знаю 4 как минимум, можно и ещё придумать, но в итоге все основано на ручном поиске указателей.
  6. Нет, они могут быть случайными, все зависит от того по какому смещению находится значение в структуре. Обычный бряк, чтобы получить значение перед тем как оно посчитает указатель на следующий уровень.
  7. Как бы под линуксом только CE-шный сервер есть и все, если через wine он ищет значения это уже чудо.(так что сам по себе вопрос странный) Был у меня где-то скрипт для PINCE gdb, который находил и записывал скрипт в свободный участок кода и создавал прыжок на него, если найду кину.
  8. Возможно из-за этого, я протупил с этим минут 30 пока не заметил что регистр не изменяется. зы некоторые адреса пропускал, потому что там постоянно работает пишущая инструкция.
  9. если не заниматься извращениями да. https://github.com/korcankaraokcu/PINCE
  10. Оказывается проблема в самом CE, при срабатывании бряка выводится адрес после расчета указателя + смещения в том регистре, где должен был быть просто указатель.
  11. Если никто не поможет, то могу через 1-1.5 часа видео записать по ручному поиску указателей на примере этой игры.
  12. Если человек изначально хочет получить знания, то и готовый скрипт не помешает экспериментировать и пробовать что-то новое, чтобы получить тот же результат как был в предоставленном кем-то скрипте. А по ходу дела уже будут возникать вопросы о модификации скрипта и прочем. Уже не раз спорили, у всех разная подача информации, главное чтобы пошаговых уроков не было.
  13. С ними все сложнее, там есть 1 функция которая постоянно работает со всеми функциями в игре, типа вызова по шаблону. Т.е есть какая-то проверка, которая задает какой шаблон использовать, после того как игра получает адрес функции по заданному шаблону, то вызывает его. Так что код всегда одинаковый и отловить с помощью CE я не смог, почему-то у него проблемы с трассировкой с условием. Я пробовал выйти на эту проверку, через функцию которая сохраняет результат игры и сбрасывает статистику, когда нпц запалит и игра завершится. Думаю можно попробовать поискать состояние нпц, когда он не видит игрока, когда заметил и когда агрится. Сделать можно, но это займет много времени.
  14. на запись, будут выведены все инструкции пишущие в адрес. а на доступ абсолютно все инструкции работающие с адресом. В любом случае да, просто если взять визуальный адрес(который работает со стрелкой), то выйдешь на визуальное значение, и чтобы найти реальное придется прогуляться по коду, и найти где создается копия этого значения.
  15. На самом деле сложную, точнее движок у игры UE и он проблемный. Просто адрес не верный, либо бряк на доступ, а не на запись стоял и поэтому вышел на инструкцию работающую с копией значения.
  16. Было бы не плохо узнать что ты делаешь, а после смотреть что не правильно.
  17. Ставь бряк на инструкцию работающую с твои значением, перед шифрованием(xor). т.е реальное значение xor шифрованное так же можно реальное значение будет пропустить через авто.поиск указателей, т.к. частенько создается копия реального значения перед шифрованием.
  18. получение значения из регистра - да, получение значение регистра с помощью сигнатуры - нет. 1. ставишь бряк на инструкцию (debug_setBreakpoint:) 2. получаешь значение регистра(registernames) 3. складываешь 4. выводишь все есть в документации.
  19. Значит все нашел) а вообще лучше использовать x64dbg, вместо ольки
  20. А вообще ультимап полезная штука или чисто для галочки(у меня амд поэтому не пользовался им)? Если да, то может подобный плагин написать к тому же x64dbg к примеру.
  21. изменить в скрипте fadd dword ptr [esi+00002110] на nop nop nop nop nop nop
  22. 1. Значение в подобных играх либо шифрованное, либо целочисленное 2. Значение может быть перезаписываемое. По-первому пункту, ищи 4 байта изменилось не изменилось По-второму пункту, ставь бряк на доступ по найденным адресам и смотри в каких инструкциях используется найденное значение.
×
×
  • Создать...

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

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