![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Такая ситуевина решил написать дллку подложу Ws2_32 Что бы подкинуть программе в корень и отлавливать сетевую активность....
Экспортировал все функции .... Но когда вызов проходит wsock32 в мою длл вызов попадает на совершенно другую функцию..... Че за бред.... Она лезет в дллл и по порядковому номеру чтоли ищет???? Вот тоже не задача экспортировал также вернее в томже порядке кроме жвух функций.... А попадает через 50 функций...... Куда копнуть...??? Заранее спасибо... |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
ну вполне , если по ординалам импортировать
а почему готовыми решениями не воспользоватся -------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Так и оказалось что обращение идет по порядковому номеру....
Вопрос такой экпортирую функцию вот так
Как компилятору сказать что эта функция с порятковым номером таким......(builder) Готовыми решениями не могу пользоваться по определенным обстоятельствам(Прога на винапи должна быть). |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
http://msdn.microsoft.com/en-us/library/hyx1zcd3.aspx ordinal - и есть порядковый номер Добавлено через 1 минуту и 28 секунд хотя, builder, хз, не использую -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
bass
там другая засада, если ехе ипортирует по ординалам из ws2_32 то твой враппер должен экспортировать функ точно в том же порядке и точно так же импортировать из ws2_32 -------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Не обращение едет только по индексу... Пришел к этому потому что хекс редактором скопировал таблицу импорта и потом обрабатывал текстовым редактором и функции идут как в оригинале а вот индексы что то не совпадают...
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
bass тебе что нужно перехватить? вызовы сокета? грузи в процесс свою дллку и делай патч импортов ехешника, самое простое и эффективное. -------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Сначало так и сделал.... Но есть три приложения которые надо слушать ..... В одном вызовы шли через длл пришлось править ее импорты..... Во втором вызовы идут уже из распределенного кода в памяти...... (И вот здеся тупик.....) даже не из модуля .... ПОходу при загрузке этот код распаковываеться....((( До третьего не добрался.... Вот и начал писать вайпер...... Сейчас засада в том что Билдер ну не как не реагирует на деф файл.....
Меняю цифорки местами после компиляции не какого результата.... Посмотрел PE Експлоером.... Фильтр драйвер засадно для этого писать.......(((((((( |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
значит надо идти другим путем, патч точку входа в процедуру в ws32 а не импорты и экспорты
-------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Пока желание идти до конца..... Должно же решиться.... Пробую скомпилить на вижуал студии но как то пока безуспешно... Еее вообще незнаю.... Скопмпилил длл при загрузке олька видает мессадж что точка входа хз. где... И не могу ей нати не одну функцию которую экспортировал
![]() ![]() ![]() |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
5 минутные раздумья )))
хукаем send в своем процессе, точно также хукаеться и в чужом из дллки
Это сообщение отредактировал(а) 500mhz - 6.4.2012, 11:46 -------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Иногда первые байты функции почему то не перезаписываються правда я пробовал копимемори и виртуалаллок..... Спайсингом не хочу я считаю что это криво......
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
ну правильно, обычно секция кода имеет read only атрибут, для этого я и делаю VirtualProtect что бы можно было писать туда. -------------------- |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Ой перепутал я тоже это делал но как то безуспешно...
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
Тут фигня вот в чем, мы инжектим дллку в процесс уже после его инициализации, процесс вполне могу получить адреса функ в ws32 и теперь ему совсем не нужны и иморты свои ни экспорты из ws32.
В таком случае сплайсинг наш друг ). -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |