gpt4 book ai didi

java - Custom ClassLoader使用秘钥解密预加密类文件(已经用秘钥加密)

转载 作者:行者123 更新时间:2023-12-03 10:48:19 25 4
gpt4 key购买 nike

How can you protect/encrypt your Java classes?

我一直在阅读一些关于 java.lang.ClassLoader 的文章和一篇 PDF 文章 Understanding the Java ClassLoader建议我可以使用自定义类加载器来动态解密一些加密的类文件。在那里我发现了另一篇文章,认为使用自定义类加载器来保护您的代码毫无意义。关键是它最终必须调用 defineClass 方法。

也许这是我的无知,但如果我
1. 用 key 加密我的类(class)
2. 我的应用程序启动器接受用户的密码(密码是 key )
3. 我的应用程序启动器调用我的自定义类加载器
4. 然后我的自定义类加载器使用密码( key )解密加密文件
5.然后整个事情开始运行


这不是成功地保护了类文件不被反编译吗?

附言
我这样做只是为了好玩。

最佳答案

您已经回答了自己的问题:

您的解密类加载器仍然必须调用 defineClass。任何人都可以在他们自己的类加载器中启动您的应用程序启动器,只需向您的应用程序启动器提供一个 java.lang.ClassLoader 版本,它会写出传递给 defineClass 的任何内容。

没有办法围绕 defineClass(我想除了 native 代码)。

如果您非常担心您的类被反编译,您最好使用混淆器(ProGuard 或类似工具)可能是提前的 native 编译器(GCJ、Jet)。

关于java - Custom ClassLoader使用秘钥解密预加密类文件(已经用秘钥加密),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com