Вопрос Как зафиксить софт?

🍫
Участник
Статус
Оффлайн
Регистрация
13 Ноя 2020
Сообщения
1,230
Реакции[?]
181
Поинты[?]
71K
Не могу найти вещи необходимые для фикса софта(Например индексы паттерны и тд)
Я не смог найти гайда(нормального) вообще ни одного(Кроме как доставать оффсеты(И то быстрее на хейздампере посмотреть))

Попрошу скинуть тему(гайд) если у кого есть

Спасибо заранее

UPD1:
Желательно legendware(Там было куча крутых хороших по визуалам паст) + (Мне немного нравки легит лежендтвари)
 
Последнее редактирование:
someone
Пользователь
Статус
Оффлайн
Регистрация
15 Июл 2020
Сообщения
485
Реакции[?]
109
Поинты[?]
9K
🍫
Участник
Статус
Оффлайн
Регистрация
13 Ноя 2020
Сообщения
1,230
Реакции[?]
181
Поинты[?]
71K
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Например индексы паттерны
По теме паттернов, IDA + SigMaker и вперед искать функцию. А по теме виртаульных функций там чуть сложнее,
Пожалуйста, авторизуйтесь для просмотра ссылки.
статья о виртуальных функция и таблицах (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Прочитав её и даже поняв, что там написано, можно приступать к поиску нужной тебе виртуальной функции и обновлении её индекса ( то есть номера в массиве VMT ), это можно посчитать лапками, а можно и применить мозг, вспомнив, что каждая функция имеет смещение на 4 байта от предыдущей ( будто это массив из float/int ). Предположим, что я взял какой-то класс и мне нужно найти там индекс виртуальной функции, которая вызывается в условно известной мне функции. Я перехожу в неё, и вижу такую картину:
1666693996080.png
И например мне нужна функция возвращающая результат в v6, вот пожалуйста, делим и получаем индекс 38 и обновляем свою мегапастульку.
 
🍫
Участник
Статус
Оффлайн
Регистрация
13 Ноя 2020
Сообщения
1,230
Реакции[?]
181
Поинты[?]
71K
По теме паттернов, IDA + SigMaker и вперед искать функцию. А по теме виртаульных функций там чуть сложнее,
Пожалуйста, авторизуйтесь для просмотра ссылки.
статья о виртуальных функция и таблицах (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Прочитав её и даже поняв, что там написано, можно приступать к поиску нужной тебе виртуальной функции и обновлении её индекса ( то есть номера в массиве VMT ), это можно посчитать лапками, а можно и применить мозг, вспомнив, что каждая функция имеет смещение на 4 байта от предыдущей ( будто это массив из float/int ). Предположим, что я взял какой-то класс и мне нужно найти там индекс виртуальной функции, которая вызывается в условно известной мне функции. Я перехожу в неё, и вижу такую картину:
Посмотреть вложение 225624
И например мне нужна функция возвращающая результат в v6, вот пожалуйста, делим и получаем индекс 38 и обновляем свою мегапастульку.
Сяб
 
Сверху Снизу