有没有办法加载加密文件(即jar文件),解密它(所以获取真正的字节数组)并使用它而不在文件系统上创建文件并启动它?
byte[] jarBytes=Decrypter.decrypt("my\\encrypted\\jar\\file");
//use jarBytes to execute an application without create a real File with this bytes...
答案 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);