下载Java类文件和运行?

Ver*_*ard 1 java

好的,我正在尝试为我的Java类文件添加安全性.我不希望它被反编译.所以我所做的就是创建一个登录系统,java应用程序通过Web请求对其进行检查.如果登录信息正确,那么它将运行脚本.但是,我想进一步提高安全性并在线托管类文件.

如何下载并运行在线托管文件?

此外,当app /脚本停止运行或关闭时,将删除.class文件.

我更喜欢它没有下载文件的地方,只需从在线服务器获取并编译/运行.

Ste*_*n C 5

让我们来看看你做过的事情,以及你提出要做的事情,看看它们是否真的有效:

  • 要求输入密码.这很容易打败:
    1. 捕获类文件.
    2. 反编译.
    3. 确定远程调用进行登录检查的位置,并检查响应.
    4. 修改字节码以删除所有这些.
  • 而不是安装类文件,按需下载并在完成后将其删除.也很容易打败.
    1. 捕获下载文件的网络请求.
    2. 使用(例如)重播请求curlwget捕获下载的类文件.
    3. 按上述步骤进行.

变化也相对容易失败:

  • 通过手动反编译和/或使用调试器运行字节码,最终可以最终消除模糊处理.
  • 使用一次性密钥或其他东西下载可以通过逆向工程程序并在使用之前提取一次性密钥来解决.
  • 加密字节码可能会失败,因为JVM必须在某些时候以解密的形式提供字节码.因此,字节码的解密方法必须嵌入代码中......可以进行逆向工程.

最重要的是,不可能阻止技术熟练和坚定的人击败依赖于控制他/她自己的执行平台的用户保密的安全方案.

你可以希望做的最好的事情就是阻止低技能的攻击者,并减缓熟练的攻击者.你需要问问自己......真的值得付出努力吗?

(注意:无论您使用何种实现语言,都会遇到同样的问题.)