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

  • Автор темы Автор темы uber747
  • Дата начала Дата начала
аллах велик
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
250
Реакции
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Итак блина гайд будет долгим ну да похуй...

Вступление:
вы должны скачать 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". В моем случае это такой код
Код:
Expand Collapse Copy
direct reference: [actual address in first opcode] E8 ? ? ? ? 84 C0 74 7E

посмотрев на первые 5 байт, вы можете заметить, что это не прямой сигнал функции, а скорее оффсет, которое вызывает функцию. Если вы хотите вызвать сигнатуру, а не Индекс, вам придется следовать относительному вызову, но поскольку в этом случае вы просто хотите получить индекс, вам не нужно беспокоиться об этом. Поэтому теперь, когда у вас есть сигнатура, вы можете перейти к новому двоичному файлу и найти подпись, перейдя в поиск->последовательность байтов и введя подпись. Вот результат

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

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

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

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

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



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


незнаю почему этой темы не было
 
Годно, очень годно
 
Просто перевёл тему с UC, причём неправильно даже. Походу просто в переводчик закинул...
 
Итак блина гайд будет долгим ну да похуй...

Вступление:
вы должны скачать 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". В моем случае это такой код
Код:
Expand Collapse Copy
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"
 
Реально очень полезная тема,таким людям крепкого здоровья и респект <3
Радует то что начали появляться более адекватные гайды,и даДа ИМЕННО ГАЙДЫ а не ctrl+c ctrl+v с других источников и не всякие xу0
Только теперь пол-форума станут "IDA-BOSS" , "B1G REVERSER"
1593010814725.png
и там точно такая же тема
просто перевести тему с другого форума и ничего нового не добавить это кншн круто....
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
То чувство, когда создал тему с информацией разместив ссылку на тему с юц, её увидели и с+п с переводчика. Автор перевода, ты хоть понял что-то?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу