защита кода dll и exp и lib файлы
Для линковки в большинстве случаев должно хватить lib-файла. Некоторые языки позволяют даже их не использовать (тупо в коде прописываются используемые функции). Но такой-же lib-файл можно самостоятельно создать при сборке дллки любого содержания с таким-же интерфейсом (имя дллки, имена, порядок следования экспортируемых функций и их calling conversions). Во всяком случае, я так делал, когда мне нужно было из-под фортрановского кода заюзать дллку собранную в delphi.
про exp и lib файлы на msdn почитал, осознал мало.lib файл содержит весь твой код (верно только для статических либ так что его отдавать не стоит, exp — только заголовки функций. Для этого достаточно кода.
Протектор обсидиум довольно сложный, но тоже снимается.
lib файл содержит весь твой кодразве для динамических библиотек это справедливо?
Пример: libeay32.lib для статической линковки занимает почти 4Мб, для динамической - менее 700Кб.
Вопрос: я правильно понимаю, что они ему помогли бы только с "чистой dll"?Думаю неправильно. С другой стороны, если ты отдаешь lib файл, то защищать dll смысла нет, как тут уже отметили.
Вопрос топикстартера совершенно про другое - про import libraries. В них нет кода, только сигнатуры функций, экспортируемых соответствующей DLL.
если ты отдаешь lib файл, то защищать dll смысла нет, как тут уже отметилибред
на платформе windows "lib" - это не только static library, но ещё и import library.
от топикстартера просят именно import library, очевидно
P.S. а вот зачем просят exp файл - не понятно
а вот зачем просят exp файл - не понятноможет для непосредственного использования при сборке взаимозависимых библиотек?
Но тут только ТС знает, от чего зависит его библиотека.
Да, заодно, взгляд эксперта на обсидиум:
очень слабая ВМ
на 24, кажется, хендлера
инструкция Jcc эмулится явно
что есть большой недостаток
эмулятся только 32-битные инструкции
50 - 90%% кода будет неизменённый код, копируемый во время выполнения и исполняемый как есть
может для непосредственного использования при сборке взаимозависимых библиотек?Вот это хорошее объяснение,
действительно есть зависимости от некоторых общих классов, которые потом теоретически могут меняться.
Я вот на сами размеры файлов смотрю lib- 2кб, exp - 1кб (dll - 70кб там вроде кроме "заголовков" ничего и содержаться не может.
Да, заодно, взгляд эксперта на обсидиум:
А что посоветуешь? Задача была - отбить желание модифицировать код.
По сути программа точно считает для одного набора входных данных и не очень точно для другого - хотелось бы, чтобы так и осталось.
Оставить комментарий
yur-kh
Постановка:Есть некая dll, собранная в vs2005. После этого она пропущена через обфускатор и программу, которая умеет работать с лицензиями (obsidium).
Заказчик просит прислать ему exp и lib файлы, полученные при компиляции, чтобы "иметь возможность работать с ней в других будущих версиях Visual Studio".
Вопрос: я правильно понимаю, что они ему помогли бы только с "чистой dll"?
* про exp и lib файлы на msdn почитал, осознал мало.