Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
flopix Написал:Подниму еще тему.
Как вы нашли все таки это значение? Я сейчас изучаю клиент H5 под отладкой. Адресс "UNetworkHandler@@6BUObject" там везде вбит как константа, но как найти его без экспорта? Тут 3 варианта:
1) Зашить константой как это сделал я. Это просто и не нужно правиться. Ищем под отладкой и просто зашиваем.
2) Искать смещение динамически
3) В хф хандлеры вынесены в экспорт, так что там все просто.
Сообщений: 561
Тем: 44
Зарегистрирован: Sep 2011
Репутация:
412
Старт VMT для UNetworkHandler вроде нашел по алгоритму описанному Akumu, но никак не могу найти смещение в таблице метода AddNetworkQueue. В C4, Il, H5, InfOdys оно идет по индексу 32-34 но тут попадаю в совсем другие функции.
Запустил Helios под отладкой до логина, но все равно запутался без экспорта .
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
flopix Написал:Старт VMT для UNetworkHandler вроде нашел по алгоритму описанному Akumu, но никак не могу найти смещение в таблице метода AddNetworkQueue. В C4, Il, H5, InfOdys оно идет по индексу 32-34 но тут попадаю в совсем другие функции.
Запустил Helios под отладкой до логина, но все равно запутался без экспорта . Чем тебя константа не устраивает то? А так оно там есть - ищи лучше
Сообщений: 269
Тем: 20
Зарегистрирован: Jan 2010
Репутация:
221
Zubastic Написал:Чем тебя константа не устраивает то? А так оно там есть - ищи лучше
Ну например тем, что описанный мной метод работает на всех хрониках
Сообщений: 561
Тем: 44
Зарегистрирован: Sep 2011
Репутация:
412
Akumu Написал:Ну например тем, что описанный мной метод работает на всех хрониках
Да, но так мы получаем только указатель на VMT объекта UNetworkHanler.
А функции в ней от хроник к хрониках идут в разном порядке.
Сообщений: 269
Тем: 20
Зарегистрирован: Jan 2010
Репутация:
221
flopix Написал:Да, но так мы получаем только указатель на VMT объекта UNetworkHanler.
А функции в ней от хроник к хрониках идут в разном порядке.
Вы получаете указатель на объект, а vft/vmt находится по смещению 0.
Сообщений: 561
Тем: 44
Зарегистрирован: Sep 2011
Репутация:
412
08-27-2016, 08:40 PM
(Сообщение последний раз редактировалось: 08-27-2016, 08:42 PM flopix.)
Akumu Написал:Вы получаете указатель на объект, а vft/vmt находится по смещению 0.
суть та что все равно нужно шаманить с поиском нужной функции в разных хрониках по разному. Но согласен так уже проще.
Добавлено через 1 минуту
Akumu;417943 Написал:Вы получаете указатель на объект, а vft/vmt находится по смещению 0. О, значит я неправильно искал. Повторю.
Чем вы отлаживаете L2?
Я пользуюсь OllyDbg 1.10 +Phantom плагин. Но там конечно много что неудобно.
Сообщений: 269
Тем: 20
Зарегистрирован: Jan 2010
Репутация:
221
flopix Написал:суть та что все равно нужно шаманить с поиском нужной функции в разных хрониках по разному. Но согласен так уже проще.
Добавлено через 1 минуту
О, значит я неправильно искал. Повторю.
Чем вы отлаживаете L2?
Я пользуюсь OllyDbg 1.10 +Phantom плагин. Но там конечно много что неудобно.
Откройте в IDA конструктор любого объекта и сможете наблюдать как и что инициализируется.
Согласно конвенции thiscall указатель на объект у нас лежит в ecx, на выделенном участке кода можете наблюдать куда помещается указатель на vft.
Фантома для отладки большинства версий темиды вам хватит.
Сообщений: 78
Тем: 0
Зарегистрирован: May 2015
Репутация:
577
08-28-2016, 01:19 AM
(Сообщение последний раз редактировалось: 08-28-2016, 01:24 AM f1redark.)
Akumu Написал:pUGameEngine + 0x68
Хардкод смещения это такое, проще все искать в динамике. Понятно, конечно, что скорее всего смещения указателя на UNetworkHandler в экземпляре класса UGameEngine будет одинаковым, но корейцы нам этого не гарантируют(
Добавлено через 3 минуты
Akumu Написал:Откройте в IDA конструктор любого объекта и сможете наблюдать как и что инициализируется.
Согласно конвенции thiscall указатель на объект у нас лежит в ecx, на выделенном участке кода можете наблюдать куда помещается указатель на vft.
Фантома для отладки большинства версий темиды вам хватит.
А аттачь к работающему клиенту пашет?)
Добавлено через 5 минут
flopix Написал:Да, но так мы получаем только указатель на VMT объекта UNetworkHanler.
А функции в ней от хроник к хрониках идут в разном порядке.
Так ищи не через вмт, а в динамике. Индексы в вмт и правда постоянно будет плавать.
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
f1redark Написал:Так ищи не через вмт, а в динамике. Индексы в вмт и правда постоянно будет плавать. А не медленнее ли будет?
|