如何转储加载到内存中的类?爪哇

2023-12-06

我正在尝试访问加载到内存中的 java 包并将其转储到文件中。安全性的工作原理如下:有一个用 Themida 打包的 exe,其中包含要加载的 java 主类代码。在运行时,Themida exe 将干净的主类 java 代码加载到内存中。该软件的结构是加载程序包含在 exe 中,但多个外部库可以访问 exe 中包含的包。因此,exe 包含 com.mysoft.mainloader。但是干净的jar库Mylib.jar可以调用com.mysoft.mainloader中的函数。如何将 com.mysoft.mainloader 转储到 jar 文件?我可以修改 Mylib.jar 以转储它,因为它在加载后也可以访问该包吗?


没有受支持的 Java SE 机制来读取/检索已由类加载器加载的“.class”。所以你的选择是:

  • 修改您用来在类加载器调用之前(或之后)捕获“.class”的自定义类加载器defineClass.

  • 深入研究 JVM 数据结构,尝试找出整个“.class”流是否在某处捕获,然后检索它。

  • 修改JVM...

任何这些could是可行的。全部will会比较困难。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何转储加载到内存中的类?爪哇 的相关文章

随机推荐