Показать сообщение отдельно
Старый 25.06.2011, 15:11   #1
НейроН
Читер со стажем
Аватар для НейроН
OFFLINE
Регистрация: 13.08.2010
Сообщений: 419
Благодарностей:
105 всего
Мнения: + 1661
Репутация: 316

Поиск оффсетов в зоне с помощью IDA Pro


В данной теме я постараюсь обьяснить, как же найти нужный нам оффсет для изменения того или иного параметра.
Нам понадобяться хотя б базовые знания С#, C++ и ассемблера.
Наведу пример на поиске оффсета авторегена HP, FP, SP.
1) Поиск функции в исходном коде.
1. Для начала откроем исходный код сервера(RF_Server/ZoneServer/gamemain/player.cpp).
2. Поищем там функцию авторегена(CPlayer::AutoRecover).
2) Поиск функции в дизассемблере.
1. Откроем дизассемблер IDA Pro(если сервер версии выше 2.1.2, то 64 битный естественно).
2. Откроем нашу зону(File-->Open)
Выставляем всё как на скрине:

Подтверждаем всё что нас попросит дизассемблер.
Когда он попросит открыть дллки отменяем!
3. Подгружаем PDB файл к зоне(File-->Load file-->PDB file).
4. Кликаем на любую функцию(слева блок Function window) и нажимаем Alt+T.
5. Вводим название нашей функции(AutoRecover).
6. Когда нашли функцию кликаем на неё ЛКМ, и в главном окне видим код. Отведите курсор правее на пустую область в окне кода, кликните ПКМ и выберете Graph view.
7. Перед нами откроеться отоброжание кода в ассемблерном виде, не трудно понять в какой графе будет реген хп фп или сп.
8. Кликните на прямоугольник который нам нужен, и перейдите на вкладку Hex View, и вы получите оффсет данной функции.
9. Редактируйте его, пока не достигните того что вам нужно.
P.S Чуть позже выложу все скрины.
 
Ответить с цитированием
Сказали спасибо:
Недоступно (05.11.2012), darkpdx (24.09.2011), FlyGirl (24.08.2011), LEGENDARY (27.06.2011), Lenivets (25.06.2011)