Гайд Как найти новые индексы в CS:GO

аллах велик
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
252
Реакции[?]
117
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Итак блина гайд будет долгим ну да похуй...

Вступление:
вы должны скачать 2 плагина на IDA PRO
это Sigmaker и IDA Class informer
Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.

после того как скачали установите плагины (если у вас есть мозги)
-----------------------------------------------------------------------------------------------

переходим к самому гайду как искать индексы

Сначала вы должны узнать старый индекс. Давайте возьмем IsPlayer в качестве примера:
Старый индекс был допустим 153. Но как вы собираетесь найти эту функцию? Легко. Запустите IDA и откройте старую client.dll с момента до обновления. Теперь вы должны добраться до vtable, где она берет свое начало, в случае IsPlayer это CBaseEntity. Вы можете добраться до него, установив плагин "ClassInformer" и просто выполнив поиск C_BaseEntity
1592921691842.png

Или идем в VIEW - >OPEN SUBVIEWS - >NAMES и ищете C_BaseEntity::'vftable'.но лучше установить ClassInformer. В любом случае, как только вы окажетесь в vtable, вам нужно будет добраться до нужной функции. Для этого вы сначала получаете адрес vtable 1592921729711.png
Теперь, чтобы получить функцию, вам нужно будет добавить оффсет к базе vtable. Для этого вы просто делаете vtable_base + function_index * 4. Причина этого заключается в том, что функции, которые вы можете видеть, просто ссылаются на реальные функции и имеют размер всего 4 байта. Вы также можете заметить, глядя на то, насколько смещение изменилось с каждой функцией
Пожалуйста, авторизуйтесь для просмотра ссылки.
Если вы используете python pro, как и я, вы также можете использовать панель команд IDA и ввести шестнадцатеричный код(vtable_address + function_index * 4). Затем IDA выведет вам точный адрес, и вы можете просто дважды кликнуть по нему.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Теперь, когда вы находитесь по нужному адресу, нажмите на sub_XXXXXXX, который находится там.
Пожалуйста, авторизуйтесь для просмотра ссылки.

xor al, al может быть "переведен", чтобы вернуть false, что имеет смысл, так как он находится в таблице c_baseentity vtable. Если вы сейчас сделаете то же самое с таблицей c_baseplayer vtable, то увидите следующее
Пожалуйста, авторизуйтесь для просмотра ссылки.

она возвратит True, который является логичным, так как это в C_BasePlayer таблицы vtable. Так что можно с уверенностью сказать, что это функция IsPlayer. Но как теперь найти индекс в новой версии? Просто sig функция, нажав на sub_XXXXXX и нажав CTRL+ALT+S и нажав кнопку "Auto create ida pattern". В моем случае это такой код
Код:
direct reference: [actual address in first opcode] E8 ? ? ? ? 84 C0 74 7E
посмотрев на первые 5 байт, вы можете заметить, что это не прямой сигнал функции, а скорее оффсет, которое вызывает функцию. Если вы хотите вызвать сигнатуру, а не Индекс, вам придется следовать относительному вызову, но поскольку в этом случае вы просто хотите получить индекс, вам не нужно беспокоиться об этом. Поэтому теперь, когда у вас есть сигнатура, вы можете перейти к новому двоичному файлу и найти подпись, перейдя в поиск->последовательность байтов и введя подпись. Вот результат

Пожалуйста, авторизуйтесь для просмотра ссылки.

Как я уже говорил раньше это сигнатура к оффсету которое вызывает функцию
Пожалуйста, авторизуйтесь для просмотра ссылки.

Вход в функцию также подтвердит, что это действительно IsPlayer
Пожалуйста, авторизуйтесь для просмотра ссылки.

Теперь последним шагом будет получение индекса, но это тот же процесс, что и получение функции vtable с индексом, только в обратном порядке. Таким образом, вы можете еще раз перейти в таблицу c_baseentity vtable и добавить старый индекс, а затем выполнить поиск функции оттуда. В этом случае это 2 ниже ( В случае такой простой функции, как IsPlayer, могут быть дубликаты, но этого не произойдет с более сложной функцией, такой как GetInaccuracy. Однако отфильтровать дубликаты не так уж сложно и довольно просто )
Пожалуйста, авторизуйтесь для просмотра ссылки.

Таким образом, вы уже можете сделать +2 к старому смещению, но если вы не знаете старого смещения, вы также можете получить смещение, вычитая базу vtable из адреса функции и деля ее на 4. Вот так:
Пожалуйста, авторизуйтесь для просмотра ссылки.



впринципе всё эта тема является адаптацией с этой темы
Пожалуйста, авторизуйтесь для просмотра ссылки.


незнаю почему этой темы не было
 
Начинающий
Статус
Оффлайн
Регистрация
3 Апр 2020
Сообщения
12
Реакции[?]
5
Поинты[?]
0
Просто перевёл тему с UC, причём неправильно даже. Походу просто в переводчик закинул...
 
main public enemy
Эксперт
Статус
Оффлайн
Регистрация
30 Ноя 2019
Сообщения
1,531
Реакции[?]
647
Поинты[?]
0
Итак блина гайд будет долгим ну да похуй...

Вступление:
вы должны скачать 2 плагина на IDA PRO
это Sigmaker и IDA Class informer
Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.

после того как скачали установите плагины (если у вас есть мозги)
-----------------------------------------------------------------------------------------------

переходим к самому гайду как искать индексы

Сначала вы должны узнать старый индекс. Давайте возьмем IsPlayer в качестве примера:
Старый индекс был допустим 153. Но как вы собираетесь найти эту функцию? Легко. Запустите IDA и откройте старую client.dll с момента до обновления. Теперь вы должны добраться до vtable, где она берет свое начало, в случае IsPlayer это CBaseEntity. Вы можете добраться до него, установив плагин "ClassInformer" и просто выполнив поиск C_BaseEntity
Посмотреть вложение 82932

Или идем в VIEW - >OPEN SUBVIEWS - >NAMES и ищете C_BaseEntity::'vftable'.но лучше установить ClassInformer. В любом случае, как только вы окажетесь в vtable, вам нужно будет добраться до нужной функции. Для этого вы сначала получаете адрес vtable Посмотреть вложение 82933
Теперь, чтобы получить функцию, вам нужно будет добавить оффсет к базе vtable. Для этого вы просто делаете vtable_base + function_index * 4. Причина этого заключается в том, что функции, которые вы можете видеть, просто ссылаются на реальные функции и имеют размер всего 4 байта. Вы также можете заметить, глядя на то, насколько смещение изменилось с каждой функцией
Пожалуйста, авторизуйтесь для просмотра ссылки.
Если вы используете python pro, как и я, вы также можете использовать панель команд IDA и ввести шестнадцатеричный код(vtable_address + function_index * 4). Затем IDA выведет вам точный адрес, и вы можете просто дважды кликнуть по нему.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Теперь, когда вы находитесь по нужному адресу, нажмите на sub_XXXXXXX, который находится там.
Пожалуйста, авторизуйтесь для просмотра ссылки.

xor al, al может быть "переведен", чтобы вернуть false, что имеет смысл, так как он находится в таблице c_baseentity vtable. Если вы сейчас сделаете то же самое с таблицей c_baseplayer vtable, то увидите следующее
Пожалуйста, авторизуйтесь для просмотра ссылки.

она возвратит True, который является логичным, так как это в C_BasePlayer таблицы vtable. Так что можно с уверенностью сказать, что это функция IsPlayer. Но как теперь найти индекс в новой версии? Просто sig функция, нажав на sub_XXXXXX и нажав CTRL+ALT+S и нажав кнопку "Auto create ida pattern". В моем случае это такой код
Код:
direct reference: [actual address in first opcode] E8 ? ? ? ? 84 C0 74 7E
посмотрев на первые 5 байт, вы можете заметить, что это не прямой сигнал функции, а скорее оффсет, которое вызывает функцию. Если вы хотите вызвать сигнатуру, а не Индекс, вам придется следовать относительному вызову, но поскольку в этом случае вы просто хотите получить индекс, вам не нужно беспокоиться об этом. Поэтому теперь, когда у вас есть сигнатура, вы можете перейти к новому двоичному файлу и найти подпись, перейдя в поиск->последовательность байтов и введя подпись. Вот результат

Пожалуйста, авторизуйтесь для просмотра ссылки.

Как я уже говорил раньше это сигнатура к оффсету которое вызывает функцию
Пожалуйста, авторизуйтесь для просмотра ссылки.

Вход в функцию также подтвердит, что это действительно IsPlayer
Пожалуйста, авторизуйтесь для просмотра ссылки.

Теперь последним шагом будет получение индекса, но это тот же процесс, что и получение функции vtable с индексом, только в обратном порядке. Таким образом, вы можете еще раз перейти в таблицу c_baseentity vtable и добавить старый индекс, а затем выполнить поиск функции оттуда. В этом случае это 2 ниже ( В случае такой простой функции, как IsPlayer, могут быть дубликаты, но этого не произойдет с более сложной функцией, такой как GetInaccuracy. Однако отфильтровать дубликаты не так уж сложно и довольно просто )
Пожалуйста, авторизуйтесь для просмотра ссылки.

Таким образом, вы уже можете сделать +2 к старому смещению, но если вы не знаете старого смещения, вы также можете получить смещение, вычитая базу vtable из адреса функции и деля ее на 4. Вот так:
Пожалуйста, авторизуйтесь для просмотра ссылки.



впринципе всё эта тема является адаптацией с этой темы
Пожалуйста, авторизуйтесь для просмотра ссылки.


незнаю почему этой темы не было
Реально очень полезная тема,таким людям крепкого здоровья и респект <3
Радует то что начали появляться более адекватные гайды,и даДа ИМЕННО ГАЙДЫ а не ctrl+c ctrl+v с других источников и не всякие xу0
Только теперь пол-форума станут "IDA-BOSS" , "B1G REVERSER"
 
t.me/lnk1181shop
Участник
Статус
Оффлайн
Регистрация
16 Авг 2019
Сообщения
492
Реакции[?]
413
Поинты[?]
1K
Реально очень полезная тема,таким людям крепкого здоровья и респект <3
Радует то что начали появляться более адекватные гайды,и даДа ИМЕННО ГАЙДЫ а не ctrl+c ctrl+v с других источников и не всякие xу0
Только теперь пол-форума станут "IDA-BOSS" , "B1G REVERSER"
1593010814725.png
и там точно такая же тема
просто перевести тему с другого форума и ничего нового не добавить это кншн круто....
 
Последнее редактирование:
аллах велик
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
252
Реакции[?]
117
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
<3nca
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
137
Реакции[?]
46
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
То чувство, когда создал тему с информацией разместив ссылку на тему с юц, её увидели и с+п с переводчика. Автор перевода, ты хоть понял что-то?
 
Нефор
Забаненный
Статус
Оффлайн
Регистрация
9 Ноя 2018
Сообщения
1,042
Реакции[?]
663
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Нефор
Забаненный
Статус
Оффлайн
Регистрация
9 Ноя 2018
Сообщения
1,042
Реакции[?]
663
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу