首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java运行JarInputStream

Java运行JarInputStream
EN

Stack Overflow用户
提问于 2012-07-26 02:19:51
回答 1查看 259关注 0票数 1

我已经找了几个小时了,没有找到任何关于这件事的东西。

我有一个jarinputstream,它读取一个加密的jar并解密它。

代码语言:javascript
复制
JarInputStream jin = new JarInputStream(new CipherInputStream(in, dcipher));

我得到了确认,因为当我这样做时,它会打印出类名。

代码语言:javascript
复制
while ((je = jin.getNextJarEntry()) != null) {
      jename = je.getName();

如果我打印出jename,它将打印出类名和路径,所以我知道它可以很好地解密。

但是现在,当我想运行Main.class的时候,我完全不知道该怎么做。我不想把文件保存到磁盘上,只想把它保存在内存中。

关于如何在内存中从jarinputstream创建和运行jar,有什么建议吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 22:12:39

您需要子类化ClassLoader并实现findClass(),以获得给定类的解密数据并将其发送到super.defineClass()

请参阅ClassLoader文档,或者您可以从the JarClassLoader tutorialhttp://www.javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html?page=2Loading Encrypted JarFile Via URLCassloader获得一些灵感

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11656095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档