java - 如何检查正在运行的 JAR 存档内有什么内容?

标签 java

我似乎只能获取 jar 的文件夹,而不能获取其中的内容。

基本上有人破解了我的程序,他们将一个文件放入程序加载的 JAR 中,我想在 API 中添加一些偷偷摸摸的检查,我用它来检查内部是否有额外的文件,如果有则禁用该产品。

那么 - 如何检查 JAR 文件内的任何 .json 或 .file 文件?我看了这个,Viewing contents of a .jar file ,但没有得到我想要的答案。

谢谢。

最佳答案

为了验证 jar 未被更改,对 jar 进行签名或使用 SHA256 等校验和更为常见和可靠。

在你的 jar 上签名就像一个密封,如果 jar 被打开,密封就会破裂。对 jar 进行签名需要金钱和时间,因此它通常仅用于生产型软件。

将根据所有二进制和其他内容计算校验和。如果内容改变,校验和也会改变。使用 SHA256 校验和将导致几乎不可能出现重复的哈希,尤其是对于工作代码。

关于java - 如何检查正在运行的 JAR 存档内有什么内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43547022/

相关文章:

java - 如何像在 Google Oauth Playground 中一样向 Google API 发送 HTTP 请求?

Java代码更改csv格式文件中每一行的特定值

java - 我虽然我知道关于 Enum 的一切,但是它是如何工作的

java - DynamicJasper - 如何将子报表添加为列?

java - 是否可以使用 Spring Data 和 MongoDB 的索引功能从子类中索引父类(super class)的公共(public)字段?

java - 从 Eclipse 使用资源文件夹部署 AWS Lambda 函数时出现问题

java - Camel Rest DSL 响应编码

java - 支柱 1.3 : How to set a default Locale in a web app?

java - 设置和显示名称和电子邮件 Java 对象类

java - 注入(inject)静态字段 Kotlin/Spring Boot