gpt4 book ai didi

Java:URLClassLoader 将加载的类保存在 Temp 目录中

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:54 27 4
gpt4 key购买 nike

我正在尝试使用 URLClassLoader 从 Web 加载 jar 文件,一切正常,但所有加载的类都保存在 Windows 临时目录中,并且可以复制以进行反混淆,直到我调用 classLoader.close(); 这反过来会导致程序 ClassNotFoundException

我可以在不保存到磁盘的情况下加载类吗?

(仅内存) 另一种解决方案是加密 jar 类,并编写自定义 ClassLoader 来解密类,但我没有找到任何示例。

我试图寻找关于这个主题的文档或文章,but found nothing :(

请告诉我是否可以实现以及我可以在哪里获取有关该主题的 Material ?谢谢!

最佳答案

您确实意识到,任何有权访问您正在运行代码的机器的人总能获得执行自定义类加载的代码,对吧?这意味着他们可以简单地反编译该类本身并使其写出解密的类,从而使整个练习变得毫无意义。诚然,大多数人不知道该怎么做,但这是可能的。

我的建议是混淆代码,如果你真的必须这样做的话。担心别人会控制你的库不会让你走得太远,因为你几乎无法保护它不被反编译,除非你使用混淆代码结构,这会混淆反编译器(或功能 jad 之类的不支持,因此导致它们产生严重损坏的反编译代码)。

任何具有足够知识和适当动机的人都会找到一种方法来做到这一点。

关于Java:URLClassLoader 将加载的类保存在 Temp 目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22611364/

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