Вернуться   CoderX :: Forums > Основные форумы > Полезности
Войти через OpenID

Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.06.2009, 10:15   #1
Новичок
 
Регистрация: 18.06.2009
Сообщений: 5
Сказал Спасибо: 0
Имеет 9 спасибок в 2 сообщенях
OllyDbg пока неопределено
По умолчанию

функция с соглашением cdecl, с переменным числом параметров.
простой пример - format и подобные...

предупреждая последующие вопросы, дельфи не поддерживает функции с переменным числом параметров.
как альтернатива - написать оболочку, понимающую в качестве параметров array of variant и в зависимости от типа варианта пихать в стек.
это при желании вызыва, а вот при перехвате более удобного способа, чем прямая работа со стеком или более поздний перехват функции - нет.

з.ы. способ прост, реализации на удивление долго не было.
кто видел абиссовский ингейм на с4-интерлюде от меня (там была pledge.dll) то там был вариант обхода их защиты именно перехватом входящих пакетов и использованием неэкспортируемой SendPacket для их посылки.
кстати адрес можно найти проще... что будет работать в где-то в пределах одной хроники...
для Грации Финал:
SendPacket:=PPointer(Pdword(PDword(dword(UNetworkH andler)+$48)^)^+$6C)^;

Добавлено через 1 минуту
з.ы.ы. а вот инсталлер мне понравился

Последний раз редактировалось OllyDbg, 18.06.2009 в 10:15. Причина: Добавлено сообщение
OllyDbg вне форума   Ответить с цитированием
За это сообщение OllyDbg нажился 2 спасибками от:
Старый 18.06.2009, 12:28   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от OllyDbg Посмотреть сообщение
SendPacket:=PPointer(Pdword(PDword(dword(UNetworkH andler)+$48)^)^+$6C)^;
эх, люблю я эти операции с указателями)

ЗЫ интересно, оригинальна ли в клиенте руофа эта функция.., надо будет по шаманить с ним)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 18.06.2009, 14:46   #3
Новичок
 
Регистрация: 18.06.2009
Сообщений: 5
Сказал Спасибо: 0
Имеет 9 спасибок в 2 сообщенях
OllyDbg пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
ЗЫ интересно, оригинальна ли в клиенте руофа эта функция.., надо будет по шаманить с ним)
это указатели по vtable, таблице методов класса... оригинальны? да, конечно!

я делаю иначе...
перехватываю одну из Render функций, оттуда вытаскиваю указатель на UCanvas, а из нее уже UWindowsViewport -> AController -> APawn; XInput; ULevel; UGameEngine; UNetworkHandler etc...
все смещения находит моя же длл (написанная кстати в с4 еще), используя экспортируемые функции из коре - Core.UObject::GetFullName и еще парочку... поэтому хроника из хроник мой радар переписывается за секунд 10.
единственное, что доставляет геммороя - заново описывать структуру User все эти аугменты и вставленные стихии заставляют копаться :<
OllyDbg вне форума   Ответить с цитированием
За это сообщение OllyDbg нажился 7 спасибками от:
Старый 18.06.2009, 14:00   #4
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
GoldFinch пока неопределено
По умолчанию

Цитата:
Сообщение от OllyDbg Посмотреть сообщение
что будет работать в где-то в пределах одной хроники...
для Грации Финал:
SendPacket:=PPointer(Pdword(PDword(dword(UNetworkH andler)+$48)^)^+$6C)^;
вот именно, что это скорей всего будет работать в пределах одной хроники, так что чем забивать "магические" смещения полей в классах, проще сразу забить rva этой функции. Кроме того, надо еще както получить указатель на UNetworkHandler, а для этого надо либо отдельно перехватить один из его методов, например UNetworkHandler::Init, либо забить rva глобальной переменной где он лежит. Вобщем много возни ради 1 адреса.

Yegor, MSVC2008 (MSVC9)
GoldFinch вне форума   Ответить с цитированием
За это сообщение GoldFinch нажился спасибкой от:
Ответ

  CoderX :: Forums > Основные форумы > Полезности



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:38.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!