第三方库 (JAR) 在调试模式 (Java) 下不起作用



在我的Java项目中,我使用第三方库(jar(并在开始时调用该库的函数。

public static void main(String args[]) {
   long handle = Library.method(params);
   if (0 == handle) {
      // error
   }
}

使用日食进行开发。问题是,当我在 RUN 模式下运行项目(调用主(时,我得到了句柄。但是当我使用 DEBUG 模式(未附加任何断点(调用时,我没有得到句柄。(运行/调试设置相同,没有其他 VM 或程序参数(

问题:

  • 库如何检测它在调试模式下被调用,以及阻止归还手柄?
  • 如何调试此项目(我需要一些调试(

库如何检测它在调试模式下被调用并阻止返回句柄?

有几种方法,例如:

如何确定是否启用了"调试模式">

但肯定不可能汇集完整的可能性列表。

如何调试此项目(我需要一些调试(

您要么需要找到一个可调试的版本(也许可以从库的开发人员那里获得额外费用?(要么克服保护。

例如,一个人知道谁不是我,首先会尝试拆卸库,以了解它实际上是如何受到保护的。如果拆卸成功,那么甚至可以移除保护。

最新更新