Хз насколько актуален С4, однако переделать импорты или генерить импорты в инсталлере не проблема.
Кроме того используемый метод импорта и перехвата не совершенен, в идеале инсталлер должен анализировать клиент и настраивать (генерить) под него дллку.
Перенос под делфи делается так:
Импортируются функции, статически или динамически.
Т.к. делфи не поддерживает __thiscall , под каждую функцию пишется асм-переходник который либо записывает в ecx адрес глобального объекта, либо записывает в ecx 1й аргумент и перестраивает стек.
В 1м случае (с глобальными адресами) - функции вызываются как обычные stdcall, во 2м либо как объекты (нужно описать соотв классы) либо как простые функции.
ЗЫ: как это ни странно, переносить под С++ сложнее чем под делфи изза идиотской строгой типизации, через жопу реализованного импорта, кривого манглинга, и прочих радостей %) Вобщем хотел изначально переписать на сях, пока не получилось.
Последний раз редактировалось GoldFinch, 11.11.2008 в 20:00.
|