Показать сообщение отдельно
Старый 11.11.2008, 19:50   #10
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
GoldFinch пока неопределено
По умолчанию

Хз насколько актуален С4, однако переделать импорты или генерить импорты в инсталлере не проблема.
Кроме того используемый метод импорта и перехвата не совершенен, в идеале инсталлер должен анализировать клиент и настраивать (генерить) под него дллку.

Перенос под делфи делается так:
Импортируются функции, статически или динамически.
Т.к. делфи не поддерживает __thiscall , под каждую функцию пишется асм-переходник который либо записывает в ecx адрес глобального объекта, либо записывает в ecx 1й аргумент и перестраивает стек.
В 1м случае (с глобальными адресами) - функции вызываются как обычные stdcall, во 2м либо как объекты (нужно описать соотв классы) либо как простые функции.

ЗЫ: как это ни странно, переносить под С++ сложнее чем под делфи изза идиотской строгой типизации, через жопу реализованного импорта, кривого манглинга, и прочих радостей %) Вобщем хотел изначально переписать на сях, пока не получилось.

Последний раз редактировалось GoldFinch, 11.11.2008 в 20:00.
GoldFinch вне форума   Ответить с цитированием