14 Янв 2012
API DLL или COM объект? Создание COM объектов без регистрации
При создании многокомпонентных проектов одним из основных вопросов, стоящих перед проектировщиком, является вопрос о том, каким, собственно, образом компоненты будут взаимодействовать друг с другом. Если мы говорим о компонентах, экспортирующих некий набор функций (по сути, библиотеках), то механизмом взаимодействия может быть использование COM интерфейсов и традиционный импорт/экспорт функций и классов. Создание COM объектов «на лету»
13 Янв 2012
Асинхронный COM под Windows Vista и Windows 7
Технология COM (Component Object Model) развивается уже почти двадцать лет. До сих пор на ней построена работа подавляющего числа компонентов системы. Думаю, что так и будет продолжаться в ближайшем будущем. Асинхронный COM — это вариант использования этой технологии. Некоторые приложения начала 2000-х использовали его для построения высоконагруженных серверов. Все не так безоблачно для Асинхронного COM.
12 Янв 2012
Установка хука на вызов функции через таблицу импорта
При написании крупных проектов случаются ситуации, когда необходимо подправить работу одного или более компонентов сторонних производителей (например, библиотек в составе приложения). В этих случаях исходный код редко бывает доступен и приходится использовать подходы из арсенала хакера. В данной статье я собираюсь рассмотреть один из наиболее простых подходов в реализации перехвата вызова функций — перехват вызовов
08 Янв 2012
Динамическая модификация кода — самомодифицирующиеся программы
Вероятно, многие считают, что самомодифицирующийся код (динамическая модификация кода программы) нужен только вирусам и троянам для того, чтобы затруднить распознавание антивирусными программами. Однако это далеко не так, и, как показывает практика, вынуждает нас этим заниматься сама великая и могучая корпорация — Microsoft. Почему? — спросите Вы. Да очень просто. Каждая новая операционная система делает доступным