【发布时间】:2012-04-06 08:09:49
【问题描述】:
目标:
保护我的 Java 应用程序免受逆向工程。
想法:
- 将程序分成两半(加载程序和程序)
- loader 将是一个普通的 jar
- 程序将是一个加密的 jar 文件(bouncycastle、AES?)
- 加载程序向安全服务器 (https) 请求解码程序的密钥
- loader 然后解码程序并加载它的类
问题:
5号有可能吗?
这里有人做过吗?
你知道任何图书馆已经可用吗?
你能发现主要的缺陷/你会采取不同的做法吗?
额外
我知道阻止代码的完全逆向工程是不可能的。
我只是想让它更难、更可追溯。
【问题讨论】:
-
似乎应该是可能的。不过我认为破解它不会太难,只需等待加载程序解密程序并将其保存到磁盘...
-
对常规jar进行逆向工程,将程序解码并保存到类文件中,然后再次进行逆向工程
-
@Bwmat,“程序”将仅在内存中。从不在磁盘上。
-
您无法阻止对您的应用程序进行逆向工程。你只能让它变得更加困难(放慢这个过程)。
-
在这种情况下,您的时间/精力/金钱最好花在确保对该服务器的适当物理访问控制到位(作为您的 colo 协议的一部分)以及操作系统和其他逻辑at 的接入点已正确锁定、配置和监控。这些步骤的投资回报率远远高于尝试在实际应用中实施反 RE。
标签: java security encryption reverse-engineering bouncycastle