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

Самый быстрый способ по моему мнению для поиска оффестов


Рекомендуемые сообщения

Итак всем привет сегодня я вам покажу самый простой способ поиска оффсетов на примере игры CS:GO.

Перед тем как мы приступим нам понадобится:

1. IDA (у меня pro у вас может быть любая другая).

2. Более менее прямые ручки.

3. Хорошая внимательность.

Если вы подходите по всем пунктам тогда приступим.

Для начала открываем саму IDA и выбираем "Disassembly a new file", выбираем .dll в нашем случае это "client_panorama.dll".

Следующим действием нажимаем Shift + F12 в итоге мы получаем окно в котором будут строчки.

Далее жмём Ctrl + F (для тех кто не знал), и пишем интересующий нас оффсет как бы это не было банально но я буду искать m_iHealth.

Видим у нас выбило 2 строчки нам нужна первая та что без массива.

Кликаем два раза и нас перебрасывает в другое окно. 

Там нам нужно 2 раза кликнуть мышкой по XREF то есть что находится рядом:

tcsS5GD.png

После нас опять перекидывает в другое окно где мы видим нужный нам оффсет:

4gIZVWo.png

Вот и всё мы нашли нужный нам оффсет.

Всем спасибо за просмотр!

 

 

 

  • Понравилось 1
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, partoftheworlD сказал:

Достаточно специфичный способ, который подойдет к небольшому количеству игр.

Специфичный, но лёгкий. 

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, JustHack сказал:

Ну так себе статья, на самом деле. Статья в 10 строк и 1 картинка. А насчет способа, мне кажется, на КС его не знают только боты. А насчет легкий, совсем новичкам, легче будет дампер запустить.

Если они совсем новички не факт что они будут знать что такое дампер.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, roma91212 сказал:

Зато будут знать что такое Ида? XDD

Да и ещё новичок обязательно будет знать, что нужно

 

9 часов назад, sense сказал:

искать m_iHealth.

они все регистрируются и уже знают, что искать.

 

Ссылка на комментарий
Поделиться на другие сайты

Можно удалить, если не интересно.

 

Тогда напишу такой же туториал для радара на примере 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. 

 

В последствии, мы можем написать скрипт, который одной командой проделает все что мы написали выше, это очень удобно и быстро для дампа смещений после обновлений игры, если нет желания писать свой дампер с нуля. 

  • Понравилось 1
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

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

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

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