Как написать Proxy Dll?

Очень часто возникает необходимость расширить функционал EXE файла, исходники к которому давно утеряны. Для того что бы это сделать без долгого и нудного патча EXE файла на ассемблере, можно сделать Proxy Dll, которая в свою очередь написана на языке высокого уровня. Proxy Dll — это Dll файл который загружается в адресное пространство целевой программы и делает ее доступной для патча. Как правило, такая Dll имеет имя системной Dll из папки Windows или Windows32 и загружается целевой программой в любом случае для работы. Из-за особенностей Windows, которая ищет сначала нужные dll в папке программы, а только потом в папках Windows, мы имеем возможность сделать Proxy Dll, которая загрузит основную Dll и пропатчит программу для нужного нам функционала.

Для себя я давно написал программу на Delphi, которая делает нужную нам Proxy Dll (Windows 32), которую и предлагаю вам для скачивания:
=> Исходник <=
=> Откомпилированный EXE <=

Работа предельно проста, также как и сама программа, запускаете EXE, показываете где лежит dll, на выходе получаете fake.pas, в которой уже есть все необходимое для того что бы откомпилировать проксирующую dll:
=> Пример fake.pas для msimg32.dll <=

Подробную работу по дополнению функциональности программы написанной на VB через Proxy Dll я опишу в следующем посте.

Добавить комментарий

Ваш e-mail не будет опубликован.