Месячные архивы:: Январь 2012
В одной из предыдущих статей я описывал метод перехвата функций, используя таблицу импорта. Данный метод более универсален, так как дает возможность осуществлять перехват вызова функций, если известен только их адрес в памяти (ограничения приведены ниже). Однако он и более сложен, поскольку, как дальше будет показано, требует от кода модифицирования заголовка функции навыков дизассемблирования. Суть метода в
При создании многокомпонентных проектов одним из основных вопросов, стоящих перед проектировщиком, является вопрос о том, каким, собственно, образом компоненты будут взаимодействовать друг с другом. Если мы говорим о компонентах, экспортирующих некий набор функций (по сути, библиотеках), то механизмом взаимодействия может быть использование COM интерфейсов и традиционный импорт/экспорт функций и классов. Создание COM объектов «на лету»
Технология COM (Component Object Model) развивается уже почти двадцать лет. До сих пор на ней построена работа подавляющего числа компонентов системы. Думаю, что так и будет продолжаться в ближайшем будущем. Асинхронный COM — это вариант использования этой технологии. Некоторые приложения начала 2000-х использовали его для построения высоконагруженных серверов. Все не так безоблачно для Асинхронного COM.
При написании крупных проектов случаются ситуации, когда необходимо подправить работу одного или более компонентов сторонних производителей (например, библиотек в составе приложения). В этих случаях исходный код редко бывает доступен и приходится использовать подходы из арсенала хакера. В данной статье я собираюсь рассмотреть один из наиболее простых подходов в реализации перехвата вызова функций — перехват вызовов