· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Все уехали а я остался ((

Посл.отвђт Сообщенiе


Дата: Июн 15, 2004 04:47:14 · Поправил: MHz

пытаюсь перехватывать функцию Api через патчинг импорта,
зашел в тупик , уже руки опускаются . Посоветуйте куда
копать дальше . Вот описание проблемы -

- через локальный хук внедряю Dll, которая при активизации
ищет адреса нужных функций в секции импорта модуля-жертвы
и правит их на свои адреса . (все это несложно и много
раз тут обсуждалось). Вобщем линки я исправляю успешно,
но подопытной проге начхать на мои извраты, как работала ,
так и работает дальше, игнорируя мои функции (под win98).
Под XP процесс вообще слетает не объясняя причин.

Думал ошибок наделал в коде - стал хучить все что было на
рабочем столе - соотношение 1/2 . то есть половина прог
нормально воспринимает изменение ссылок на адреса и вызывает
мои функции. вторая половина забила на них - большой болт.

Сорцы слишком банальны чтобы их показывать да и работают они
без проблем . ошибка в стратегии. что я не предусмотрел?

PS я понимаю что она может работать через LoadLibrary/GetProcAddress
но процедуры реально присутствуют в импорте.

Еще приходит в голову что прога может проверять
принадлежность адреса к диапазону адресов реального Dll,
но больно мудрено да и как обходить в этом случае - хз.


Дата: Июн 15, 2004 14:44:10

Detours, ваше призвание - Detours!


Дата: Июн 16, 2004 01:54:10

для меня это новая тема и я в ней путаюсь,
буду благодарен если кто-то по существу ответит.


Дата: Июн 16, 2004 03:46:01

Тебе ж сказали - утилита Detours от MS. Лежит или в инструментах на сайте, или на research.microsoft.com


Дата: Июн 16, 2004 04:52:05

тогда спасибо обоим :) иду смотреть


Дата: Июн 17, 2004 14:53:44

Если ты внедряешь свою DLL в уже запущенный процесс, то к моменту ее внедрения прога могла успеть скопировать нужные ей адреса функций из импорта куда-то в другое место. Кстати, если прога "зловердная", то она вполне может держать список функций в импорте просто для отвода глаз, а пользоваться GetProcAddress или даже "ручным" парсингом таблиц экспорта нужных модулей.

Далее, как мне кажется (сам не пробовал ни того, ни другого :( ), куда более надежно править не таблицу импорта жертва, а таблицы экспорта ее библиотек - от GetProcAddress и ее аналогов это спасет.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.054