Месячные архивы:: Январь 2012

Перехват вызова функций заменой байтов заголовка инструкциями JMP или CALL

В одной из предыдущих статей я описывал метод перехвата функций, используя таблицу импорта. Данный метод более универсален, так как дает возможность осуществлять перехват вызова функций, если известен только их адрес в памяти (ограничения приведены ниже). Однако он и более сложен, поскольку, как дальше будет показано, требует от кода модифицирования заголовка функции навыков дизассемблирования. Суть метода в

API DLL или COM объект? Создание COM объектов без регистрации

При создании многокомпонентных проектов одним из основных вопросов, стоящих перед проектировщиком, является вопрос о том, каким, собственно, образом компоненты будут взаимодействовать друг с другом. Если мы говорим о компонентах, экспортирующих некий набор функций (по сути, библиотеках), то механизмом взаимодействия может быть использование COM интерфейсов и традиционный импорт/экспорт функций и классов. Создание COM объектов «на лету»

Асинхронный COM под Windows Vista и Windows 7

Технология COM (Component Object Model) развивается уже почти двадцать лет. До сих пор на ней построена работа подавляющего числа компонентов системы. Думаю, что так и будет продолжаться в ближайшем будущем. Асинхронный COM — это вариант использования этой технологии. Некоторые приложения начала 2000-х использовали его для построения высоконагруженных серверов. Все не так безоблачно для Асинхронного COM.

Установка хука на вызов функции через таблицу импорта

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