Java,加载jar字节并使用它

时间:2011-11-02 22:58:41

标签: java jar

有没有办法加载加密文件(即jar文件),解密它(所以获取真正的字节数组)并使用它而不在文件系统上创建文件并启动它?

byte[] jarBytes=Decrypter.decrypt("my\\encrypted\\jar\\file");
//use jarBytes to execute an application without create a real File with this bytes...

2 个答案:

答案 0 :(得分:1)

不确定

输入流可以来自资源(即,在类路径上)。可以根据需要操作字节。

有关从目录加载jar的示例,请参阅this post。您的版本几乎完全相同,除了字节来自最初的位置,以及额外的转换步骤。

如果有人对您的代码感兴趣,他们或者只是a)对您的类加载器进行反向工程,或者b)只是按原样使用类加载器而不用担心对加密代码进行逆向工程......但是祝你好运:)

答案 1 :(得分:0)

喜欢这个吗?

       Cipher c = Cipher.getInstance(ALGORITHM);
       c.init(Cipher.DECRYPT_MODE, key);
       byte[] decValue = c.doFinal(data);