У меня есть библиотека C++ (myLibraryMd.lib/myLibraryMt.lib) и заголовочный файл myClass.h, который содержит объявление API, которые вызываются в классе/объекте myClass. Опубликованы и другие заголовки/API. Назовите их myClass2.h и т. д.
Я пытаюсь создать приложение Java и иметь возможность вызывать эти API C++ (включая создание экземпляров объектов myClass/myClass2).
У меня есть изучил решение JNI для этого, но не знал, как защитить библиотеки DLL. Я хотел бы предотвратить сценарий, при котором DLL может быть заменена или подделаны API.
Я рассмотрел возможность подписания dll и проверки ее хеша (жестко запрограммированного в интерфейсе) в Java интерфейс, однако они не являются надежными, поскольку файлы Java могут быть восстановлены из приложения Java, и как только хэш определен, игра окончена.
Как я могу реализовать безопасное решение, где Я гарантирую, что приложение вызывает правильные библиотеки DLL?
Я являюсь частью команды, которая разрабатывает библиотеку/API C++, и мы публикуем ее для групп разработчиков приложений. Поэтому функцию безопасности придется интегрировать в интерфейсы/dll, опубликованные нашей командой.
Подробнее здесь: https://stackoverflow.com/questions/792 ... pplication
Как безопасно вызывать API C++ из приложения Java? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение