Сегодня я вам расскажу в статье как найти оффсет gameobjectmanager (gom) для игры Rust, для этого нам нужна программа IDA и сама папка с игрой где будет лежать файл UnityPlayer.dll и давайте приступим! Для начало мы сделаем следующее
Открываем IDA и кидаем туда файл UnityPlayer.dll
После зажимаем комбинацию клавиш Alt + B и в строке String вставляем следующее:
48 8B 0D ? ? ? ? 48 85 C9 74 17 41 B9 ? ? ? ? 4C 8D 05 ? ? ? ? BA ? ? ? ? E8 ? ? ? ? 48 C7 05 ? ? ? ? ? ? ? ? 48 83 C4 28 C3 CC CC CC CC CC CC CC CC CC 40 53
это необходимый паттерн который ищет значение, но при глобальном апдейте он может изменится, если он нашелся у вас то значит все отлично
Нас перебросило на необходимую область она будет выделенная и мы видем такое значение:
cs:qword_1817C1F18
Нам нужно убрать до cs:qword_18 и у нас получится значение 17C1F18
после добавляем 0x и получаем такое значение 0x17C1F18 — это и есть наш оффсет GameObjectManager
Источник: anonymcheats.ru
Как искать оффсеты | Cheat Engine | Читаем значения csgo на C++ | Урок 1 | Создание читов на ПК
Что такое Оффсеты? Как найти и обновить?
Что такое Оффсеты?
Оффсет (Offset) — на простом языке, это смещение адреса в памяти . Например, в ячейке памяти есть игрок, по адресу 0x5100 (или любому другому), соответственно что этот объект содержит несколько ячеек данных: количество HP, процент брони, местоположение — координаты нахождения на карте, а также и другую информацию.
Как их найти и произвести обновление?
Вероятно вы зададитесь вопросом, как их найти и извлечь? Постараемся немного объяснить, на примере одновременно популярной и простой в этом плане игре Counter Strike: Global Offensive. Игровой движок Source имеет есть так называемые глобальные значения «Networked Variables» или же Netvar, сокращенный вариант. По сути, это обширные таблицы для каждого типа объекта . За известный адрес игрока, возьмем 0x5100, переносим игровой client.dll и загружаем в IDA- интерактивный дизассемблер. После открываем список строк через комбинацию клавиш Shitf + F12, в открывшимся окне и делаем поиск по строке , вписываем «Health» в переводе Здоровье (Игрока), после этого появится целый список с результатами.
На изображении выше, в после String есть много префиксов, но нужен именно тот, который имеет в начале «m_» — это член класса, в полном названии member. Для примера возьмем m_iHealth, который имеет следующий код:
class CBasePlayer < pad; pad; pad; int m_iHealth; // 0xFC >
- int — integer «целое число»;
- float — число с плавающей запятой;
- etc — оператор.
Как пользоваться IDA PRO. Как найти оффсеты в любой игре
Два раза кликаем по любому из столбиков, и перед глазами появляется очередная таблица:
Этими действиями, удалось найти Оффсет, который равен значению — 0xFC. Но на этом еще не все, осталось еще одно незаконченное действие, чтобы узнать внутренние значение, нужно выполнить код ниже, применяем его, так как тип данных integer:
void * player = getentity(. ); int health = *(int*)((DWRD)player + 0xFC); print( health );
- 10.08.2021
- 6 641
- 5
Источник: cheats.lol
Поиск поинтеов и оффсетов
7. Открываем, калькулятор и настраиваем «Вид -> Инженерный», потом выбираем Hex.
8. Возвращаемся к Cheat Engine и копируем значение поля «Address».
9. Возвращаемся к калькулятору и вставляем значение сюда. После этого вычисляем (-) 500.
10. Получившийся результат копируем на поле»Address» и нажимаем OK
11. В Address list смотрим и видим, добавилось новое значение. Нажимаем ПКМ и выбираем»Pointer scan for this address».
12. Появиться окно. В настройках ставим Max level на 1 и галочку на»Improve pointerscan with gathered heap data» потом жмем OK и ожидаем окончание загрузки.
13. Должно, появится что-то вроде PointBlank.i3exec+123123123, на него 2 раза кликнем и закрываем окно.
14. В Address listнажимаем на новое значение ПКМ и выбираем»Change -> Address». В окне поле «Address of pointer» это Pointer.
15. Около него должен быть поле»Offset (Hex)» копируем данное поле и вставляем на калькулятор и сложим (+) на 500. Получившийся результат это оффсет.
Чтобы искать новый оффсет и не проделывать все пункты сначала:
16. Нажимаем на «Add address manually»,ставим галочку на «Pointer» и в поле «Address of pointer» пишем наш Pointer (например: PointBlank.i3exec+123123123). Нажимаем Ок.
17. В Address list нажимаем на новое значение ПКМ и выбираем «Change -> Address». Над полей «Address of pointer» есть текст вида «This pointer points to address 123123123» здесь «123123123» адрес, с которого будем искать другие оффсеты.
18. Выполняем пункт с 1-9. НО (!) вместо того чтобы вычислят (-) 500, мы будем, вычислят значение которое нашли недавно. Получившийся результат это — ОффСет.
2-ой способ я выложуtxt файлом т.к там очень много писать..прочитав,вы всё поймёте…
AloneDance |
Источник: www.rf-cheats.ru