LINUX.ORG.RU

Вызов функции из 32-bit DLL

 ,


0

1

Есть 32-разрядная DLL, ничего не импортирующая, но экспортирующая пару нужных функций (вычисление некоторого хеша). Алгоритм закрыт и возможно обфусцирован, но хеш надо как-то считать в программе для Linux. Знаю, что некоторые программы умеют работать с вендовыми VST-плагинами (dll) вроде бы через winelib, в моем случае даже не требуется даже реализация win API, нужен просто вызов экспортируемой функции (из 32/64 разрядного окружения). Какие существуют способы реализации задуманного?

★★★★★

ничего не импортирующая

Вроде, ещё возможны забавы с coff objcopy.

anonymous ()
Ответ на: комментарий от AnDoR

Ты правильно думаешь, теперь гугли.

Я не имею привычки задавать вопросы до попытки найти ответ самому. Результаты гугления в основном приводят к совету «посмотри как это сделано в mplayer», что конечно хорошо, но сильно понятнее тему не делает.

m0rph ★★★★★ ()

В mplayer кусок модифицированного Wine, натурально. «Win32 binary loader interface Copyright 2000 Eugene Kuznetsov (divx@euro.ru) Shamelessly stolen from Wine project».

Здесь http://wine-wiki.org/index.php/WineLib#Calling_a_Native_Windows_dll_from_Linux тоже какие-то странные предложения.

Вам производительность насколько критична? Самый простой способ, наверное, написать враппер (win32 executable), который будет RPC(в какой-то сетевой форме)-сервером. Этот враппер запускать в вайне или в живом/виртуализированном Windows, а из Linux программы уже его дергать

Deleted ()
Ответ на: комментарий от Deleted

Вам производительность насколько критична?

Совершенно не критична

Самый простой способ, наверное, написать враппер (win32 executable), который будет RPC(в какой-то сетевой форме)-сервером.

Думал об этом варианте, вполне возможно на нем и остановлюсь, просто хочется сделать поизящнее что ли.

m0rph ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.