Вопрос Как получить смещение (Gmod)

Пользователь
Статус
Оффлайн
Регистрация
4 Авг 2017
Сообщения
262
Реакции[?]
42
Поинты[?]
3K
Как найти смещение в Gmod'е если в ida при просмотре m_iHealth не смещение а оффсет? Как мне с него получить то самое значение m_iHealth?
Почему он пушит его в стек и как из стека достать его?
1675812396918.png

1675812430011.png




Я предполагаю (из того что мне показывал CE), что 90h возможно то что нужно. Но я не уверен, объясните пожалуйста, как это делается?
Возможно вопрос тупой, но только только изучаю не бейте
Есть еще предположение что раз он пушит unk_10620D08, а потом прибавляет к нему 44h (раз он обращается к esp), то 44h и есть оффсет. Так ли это?
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
500
Реакции[?]
311
Поинты[?]
101K
Есть еще предположение что раз он пушит unk_10620D08, а потом прибавляет к нему 44h (раз он обращается к esp), то 44h и есть оффсет. Так ли это?
Нет, add esp, 44h — выравнивание стека после вызова ( могу ошибаться в формулировке ).

Вообще можешь и юзать старый добрый CE, для поиска оффсетов, но это не годится, для создания нормального продукта, так как сама СДК игры предлагает готовое решение в виде RecvProp'ов. Реализаций на просторах интернета много. Можешь так же глянуть видос от GuidedHacking о том, как создать простой NetvarManager. Конечно, это при наличии знаний плюсов и небольшом понимании СДК, но всегда это можно наверстать.
 
Пользователь
Статус
Оффлайн
Регистрация
4 Авг 2017
Сообщения
262
Реакции[?]
42
Поинты[?]
3K
Сверху Снизу