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

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

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

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

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

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

Динамическая модификация кода — самомодифицирующиеся программы

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