在我的java项目中,我使用第三方库(jar)并在开始时调用该库的函数。
public static void main(String args[]) {
long handle = Library.method(params);
if (0 == handle) {
// error
}
}
使用eclipse进行开发。问题是,当我在RUN模式下运行项目(调用main)时,我得到了句柄。但是当我调用DEBUG模式(没有附加任何断点)时,我没有得到句柄。 (运行/调试设置相同,没有其他VM或程序参数)
问题:
答案 0 :(得分:3)
库如何检测在调试模式下调用它并阻止返回句柄?
有很多方法,例如:
但肯定不可能收集完整的可能性清单。
如何调试此项目(我需要一些调试)
您是否需要找到可调试版本(可能从图书馆的开发者处获得额外费用?)或克服保护。
一个人 - 我知道谁是谁 - 例如,我会首先尝试反汇编库,以了解它是如何实际受到保护的。如果拆卸成功,那么甚至可以取消保护。