当前位置: 首页 > 面试题库 >

如何加密.jar文件

尹弘壮
2023-03-14
问题内容

我在一个需要加密.jar文件的项目中工作,因此没有人可以访问jar文件中的.class文件…。是否有任何Java编码可以帮助我加密.jar文件?


问题答案:

即使您加密了jar文件,也必须在JVM能够运行它之前对其进行解密,因此您将需要另一个jar文件,其中包含解密并在JVM中加载的类。

由于第二个jar文件本身不能被加密,因此想要查看您的类文件的恶意用户可以查看第二个jar文件中的类,然后解密您的超级秘密jar文件并对其进行访问。

也许您可以使用混淆器来提高代码的安全性,但是它最终将保护(更难但并非不可能)使类文件反编译(而不是被使用)。

如果混淆还不够,您可以考虑将jar文件编译为Windows的DLL或unix /
linux的SO,这将使反编译变得更加困难,但并非总是能够正确地将其反编译,并且通常是PITA。GCJ能够以某种方式执行此操作,并且还有其他商业产品实际上可以将.cl​​ass
/ .jar直接编译为机器代码。

但是,请考虑它的安全性无关紧要,因为客户端计算机必须能够执行它,它必须能够读取它,所以无论您公开什么代码,都只能使它成为可能。更难。

如果您确实有一个如此秘密的算法,那么无论如何都不想透露它,可以考虑将其转换为Web服务,将其托管在服务器上,这样就不必将实际代码发送到客户端计算机,并且通过检查对应用程序重要部分的访问,还可以更好地防止未经授权的应用程序副本。



 类似资料:
  • 我开发了一个简单的java项目。现在的要求是将jar文件转换为EXE。这样就没有人可以提取类文件并反编译它们。我用过: Launch4J(http://launch4j.sourceforge.net/)。 http://jsmooth.sourceforge.net/。 但这两者都只是包装jar文件。生成的EXE文件可以在winrar中打开。从而暴露了我的类文件。 我又遇到了一个工具,即 Jar

  • 问题内容: 我正在使用JConsole访问我的应用程序MBean,并且使用了password.properties文件。但是根据Sun的规范,此文件仅包含明文格式的密码。 现在,我想对密码进行加密并将其用于JConsole的JMX用户身份验证(“远程”部分中的“用户名”和“密码”字段)。我可以使用任何预定义的加密逻辑或自己的加密算法。 是否有人知道将这种纯文本密码更改为加密密码,这样JMX Fra

  • 本文向大家介绍如何用Python 加密文件,包括了如何用Python 加密文件的使用技巧和注意事项,需要的朋友参考一下 生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库。 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。 基础知识 在 Python 中异或操作符为:^,也可以记作

  • 问题内容: 我正在写某种生成加密日志文件的记录器。不幸的是,密码学不是我的强项。现在,我可以向文件写入几条消息,然后关闭文件。然后我可以打开它,附加一些消息,再次关闭,解密后,我在文件中间看到填充字节。有什么方法可以处理加密文件,而不必每次我想添加一些消息时都对其解密? 编辑 :更多细节。当前实现使用CipherOutputStream。据我了解,没有办法 寻求 使用它。如果我将控制输出数据大小可

  • 问题内容: 我想用Java加密和解密文件,我已经阅读了这个URL http://www- users.york.ac.uk/~mal503/lore/pkencryption.htm ,我得到了两个文件,即公共安全证书和私有安全证书文件和private.pem文件,我将这些文件复制并粘贴到当前目录中,并按如下所示编写Java代码,当我运行此文件时,未执行任何加密或解密操作,请查看并告诉我我哪里出了

  • 问题内容: 我想将先前从其他文件(已经完成)中提取的一系列文件添加到jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快。谢谢! 问题答案: 请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。