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

partoftheworlD

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

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

  • Посещение

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

    172

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

  1. Практиковавшись сегодня в поиске структур инвентаря, заметил кое-что странное, больше похожее на фантомные структуры. Слишком идеальное сие совпадение, а так как я в них не верю, да и не особо удачлив, у меня закрались подозрения, что тут что-то не так. Если они и правда работоспособные, то тему можно закрывать, если это баг, то как от него избавиться?
  2. До редактирования сообщения в топике было вот так. Расскажи мне, как я должен был понять, что тебе нужно, если ты не можешь объяснить это? Чтение мыслей и магия запрещены вне Хогвартса. Учиться пользоваться поисковыми системами? Если да, то ты ошибся форумом, здесь обучают тех, кто хочет учится и что-то делает, а не высасывает информацию по вопросу из пальца. Разве? Подобный вопрос не однократно поднимался по форуме, что мешает воспользоваться поиском по форуму?
  3. Его доработать, чтобы восстанавливал значения после выключения и будет все хорошо.
  4. Но ведь есть всем докам док https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf
  5. http://bfy.tw/LmNW http://bfy.tw/LmNa
  6. partoftheworlD

    InventoryMe

    У каждого игрока, есть инвентарь, но так же существует скрытый сундук в котором лежит ключ, кто первый найдет ключ, то получит Hot Lava в виде подарка в стиме. Программа рассчитана для новичков, чтобы проверить уровень знания ООП в ассемблерной плоскости. Ограничений по использованию программ и техник: Нет. Ключ формата: [A-Z0-9_]{28} Решение отправлять в личку, в сообщении должен содержаться скрин массива со структурами, победная строка и описание процесса поиска. Я считаю, что данная задача, поможет развить логическое и дедуктивное мышление, что поможет юным реверсерам в будущем и освежит память старым. 69826980B213AB9D0C3E2D4BCA220E3816108A23.7z Ссылка на случай, если файл не качается с форума.
  7. Можно удалить, если не интересно. Тогда напишу такой же туториал для радара на примере Titanfall 2. (чисто ради того, чтобы заинтерисовать радаром.) Перед тем как мы приступим нам понадобится: 1. Radare2 2. Более менее прямые ручки. 3. Хорошая внимательность. Для начала открываем консоль, пописываем: radare2.exe <путь к файлу> после того как загрузиться файл, необходимо будет его проанализировать, для этого пишем: aa и после aac Первая команда объявляет точку входа как функцию, а вторая команда анализирует вызовы функций. Для поиска по строке(m_iHealth) надо будет ввести такую команду: / m_iHealth Как только найдется строка, нужно будет посмотреть все перекрестные ссылки для этого пишем: axt hit0_0 Сама команда ищет данные перекрестных ссылок от адреса по которому была найдена строка. На выходе получаем информацию о перекрестных ссылках: sub.should_never_see_this_0 0x1800e00ad [DATA] lea rdx, str.m_iHealth sub.should_never_see_this_610 0x180130b2f [DATA] lea rdx, str.m_iHealth sub.should_never_see_this_780 0x180168943 [DATA] lea rdx, str.m_iHealth sub.should_never_see_this_540 0x1802bd680 [DATA] lea rdx, str.m_iHealth sub.should_never_see_this_9e0 0x180582af8 [DATA] lea rdx, str.m_iHealth sub.should_never_see_this_c60 0x180584f37 [DATA] lea rdx, str.m_iHealth Выбираем любую понравившуюся строку и выводим дизассемблерный листинг по выбранному адресу [0x180807f5c]> pd 6 @ 0x1800e00ad | 0x1800e00ad 488d15acd67c. lea rdx, str.m_iHealth ; hit0_0 ; 0x1808ad760 ; "m_iHealth" | 0x1800e00b4 488d0df5a6b1. lea rcx, [0x180bfa7b0] | 0x1800e00bb 41b890030000 mov r8d, 0x390 ; 912 | 0x1800e00c1 48897c2428 mov qword [local_28h], rdi ; arg2 | 0x1800e00c6 48897c2420 mov qword [local_20h], rdi ; arg1 | 0x1800e00cb e890f00e00 call fcn.1801cf160 0x390 наше смещение на m_iHealth. Команда: pd выводит дизассемблерный листинг т.к нам не нужен большой листинг указываем количество выводимых инструкций, "@" указывает что нам надо получить вывод по адресу, если не указать "@", то листинг выводиться по текущему адресу EIP. В последствии, мы можем написать скрипт, который одной командой проделает все что мы написали выше, это очень удобно и быстро для дампа смещений после обновлений игры, если нет желания писать свой дампер с нуля.
  8. В зависимости от ключа шифрования значения, шифрованное значение может как увеличиться, так и уменьшаться. Поэтому надежней всего искать неизвестное 4 байта изменилось/не изменилось.
  9. У нас тут тоталитарный режим, аватарки по карточкам можно ставить, максимальный размер 0,49 мб на файл, если картинка больше по размеру, надо помогать форуму в развитии и с первой премии сможешь установить какой захочешь файл.
  10. Достаточно специфичный способ, который подойдет к небольшому количеству игр.
  11. Если все совсем плохо с игрой, можно попробовать извращения, сравнить стек вызовов у игрока и противника и если они отличаются(например из разных мест вызывается функция нанесение урона), то фильтровать по адресу возврата. Например, cmp [esp+размер кадра стека + количество положеных в стек регистров в прологе], адрес возврата (адрес в какую функцию вернуть выполнение кода, уникальный вызов дяя игрока) je code //ohk для противников code: //бессмертие Если с адресами, то есть несколько инструкций, которые вызывают одну функцию из разных мест для игрока и NPC, значит адрес возврата будет уникальный для игрока. Возьмем к примеру адрес возврата игрока 0xDEADF00D, для NPC 0xDEADFACE, внутри вызываемой функции они будут иметь одинаковое смещение по стеку к примеру 0x44(размер кадра стека) + 4 байта на сохраненный адрес кадра стека функции откуда происходил вызов + 4 байта на адрес куда вернуть выполнение кода, после вызова функции. //cmp [esp+0x44+4+4], 0xDEADF00D cmp [esp+0x4C], 0xDEADF00D je code //ohk для противников code: //бессмертие
  12. Подобная настройка есть в структуре машины
  13. Получи адрес который работает с этой инструкцией fld qword ptr [eax+40] А после ставь бряк на доступ по найденному адресу, должны появиться ещё инструкции работающие с этим адресом и пробуй делать инжект на них. Так же, можно найти откуда берется значение в адресе [eax+40] и использовать скрипт для записи в адрес, который будет писать значение в [eax+40].
  14. инжект на другом куске памяти где-нибудь до выполнения этой инструкции.
  15. Указатель. Адрес [4000000 + 005352B0] указывает данные внутри 45352B0, которые равны 0x2C0C370.
  16. По идее это сравнение выглядит как сравнение с esp и адресом, но кадр стека обычно выделяется случайно, поэтому если эта проверка работает, то либо нереальное везение, либо я что-то не понимаю в работе стека. Вот для примера:
  17. Удивительная проверка, она ведь не будет работать после перезапуска игры/пк.
  18. Вызови функцию, которая меняет владельца машины, декомпилированные скрипты игры в интернете есть, архитектура самп позволяет клиентом влиять на других клиентов. Какое-то рукоблудство с заскоком обмануть серверную часть игры.
  19. Языческие обряды на современный лад.
×
×
  • Создать...

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

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