Что такое оффсеты, как их искать и использовать

Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Статус
Оффлайн
Регистрация
21 Авг 2014
Сообщения
99
Реакции[?]
67
Поинты[?]
2K
Оффсет в переводе - смещение. Допустим у нас есть игрок в памяти по адресу 0x5000, у этого объекта есть разные данные: координаты/здоровье/броня. Как их искать? Возьму в пример CS:GO т.к там проще всего. В движке сурс есть так называемые networked variables (netvar). Целые таблицы к каждому типу объекта. Допустим у нас уже есть известный адрес игрока 0x5000, мы берем client.dll от игры и загружаем ее в IDA. Далее открывам список строк (shitf + f12) и делаем поиск по строке, пишем "health", там выдаст достаточно много результатов

но нам нужен именно с префиксом m_ (означает member, то есть член класса).
Листаем и видим m_iHealth, что означает примерно такое
Код:
class CBasePlayer
{
pad;
pad;
pad;
int m_iHealth; // 0xFC
}
pad - там расположены другие члены класса(int,float,etc).
Делаем двойной клик и нас кидает на такую картину

Делаем двойной клик на любой xref и видим

И так мы нашли оффсет, который равен 0xFC.
Теперь, чтобы узнать какое там значение делаем следующее
т.к тип данных int
Код:
void * player = getentity(....);
int health =   *(int*)((DWRD)player + 0xFC);
print( health );
Задавайте вопросы в теме.
 
Начинающий
Статус
Оффлайн
Регистрация
14 Авг 2016
Сообщения
7
Реакции[?]
3
Поинты[?]
0
Ну ты конечно детей запряг. Там ведь можно дампером эти оффсеты получить.
 
Начинающий
Статус
Оффлайн
Регистрация
4 Авг 2016
Сообщения
88
Реакции[?]
19
Поинты[?]
0
Ну ты конечно детей запряг. Там ведь можно дампером эти оффсеты получить.
АГа, а если люди будут писать хаки, например, то им сурсы дампера вставлять?
 
Забаненный
Статус
Оффлайн
Регистрация
12 Авг 2016
Сообщения
189
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как обновить?
 
Начинающий
Статус
Оффлайн
Регистрация
17 Сен 2016
Сообщения
2
Реакции[?]
0
Поинты[?]
0
что за прога
 
Начинающий
Статус
Оффлайн
Регистрация
27 Июл 2016
Сообщения
93
Реакции[?]
28
Поинты[?]
0
вот смотри, у меня есть оффсет угла обзора, как мне его использовать чтобы изменять этот угол???
 
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2016
Сообщения
42
Реакции[?]
17
Поинты[?]
4K
А что на счет Pattern-scanning,как обновлять их?
 
Начинающий
Статус
Оффлайн
Регистрация
4 Фев 2017
Сообщения
55
Реакции[?]
1
Поинты[?]
0
А серьёзно, что за прога то?
 
Начинающий
Статус
Оффлайн
Регистрация
18 Июл 2016
Сообщения
15
Реакции[?]
5
Поинты[?]
0
А есть программы на подобия IDA?
 
endless battle .
Участник
Статус
Оффлайн
Регистрация
18 Июл 2017
Сообщения
444
Реакции[?]
161
Поинты[?]
0
Мануальчик годный , но "Не знающих" ты конечно испугал :NotLikeThis:
 
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2016
Сообщения
140
Реакции[?]
60
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Оффсет в переводе - смещение. Допустим у нас есть игрок в памяти по адресу 0x5000, у этого объекта есть разные данные: координаты/здоровье/броня. Как их искать? Возьму в пример CS:GO т.к там проще всего. В движке сурс есть так называемые networked variables (netvar). Целые таблицы к каждому типу объекта. Допустим у нас уже есть известный адрес игрока 0x5000, мы берем client.dll от игры и загружаем ее в IDA. Далее открывам список строк (shitf + f12) и делаем поиск по строке, пишем "health", там выдаст достаточно много результатов

но нам нужен именно с префиксом m_ (означает member, то есть член класса).
Листаем и видим m_iHealth, что означает примерно такое
Код:
class CBasePlayer
{
pad;
pad;
pad;
int m_iHealth; // 0xFC
}
pad - там расположены другие члены класса(int,float,etc).
Делаем двойной клик и нас кидает на такую картину

Делаем двойной клик на любой xref и видим

И так мы нашли оффсет, который равен 0xFC.
Теперь, чтобы узнать какое там значение делаем следующее
т.к тип данных int
Код:
void * player = getentity(....);
int health =   *(int*)((DWRD)player + 0xFC);
print( health );
Задавайте вопросы в теме.
Годно ты научи их еще индексы виртуальных функций искать
 
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2016
Сообщения
140
Реакции[?]
60
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Администратор
Администратор
Статус
Оффлайн
Регистрация
20 Янв 2014
Сообщения
6,459
Реакции[?]
8,421
Поинты[?]
228K
Данная статья была была использована на "European Scientific Congerence 2017", которая проходила 7 июня 2017 года в городе Пенза. Наш форум был указан даже в качестве "списка литературы".

 
Забаненный
Статус
Оффлайн
Регистрация
6 Июл 2017
Сообщения
223
Реакции[?]
94
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
GOVARD Рофл. Бесплатный пиар.
 
Начинающий
Статус
Оффлайн
Регистрация
14 Май 2017
Сообщения
19
Реакции[?]
1
Поинты[?]
0
Так изи нет? В offets заходишь и выбираешь !
 
  • Мне нравится
Реакции: Lunn
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу