java - 检测 Java 反射

标签 java reflection detection

如果我有一个游戏,我想检测是否有人在反射某些类中的字段,我该怎么做呢?我知道他们必须将字段设置为可访问。

有人告诉我,我无法检测是否有人加载了我的类并正在使用反射访问字段。

我想知道我是否可以创建一个线程来不断检查 someField.isAccessible() 是否返回 true。

这是一个好方法吗?它会工作吗?它在我自己的类中工作,但如果有人创建一个类来加载我的 jar 并获取字段,它会工作吗?他们必须将其设置为可访问,这就是为什么我要问这是否是一个好方法。

有什么想法或建议吗?

最佳答案

如果他们真的想做这些事情,您就无法阻止他们做这些事情。

即使您的方法有效,他们也可以反编译您的类,去掉麻烦的检查,然后编译他们自己的版本。

防止您的软件被“黑客攻击”的唯一方法是不分发它,而是在您自己的机器上运行它(“软件即服务”)。可能是“安全关键”部分的唯一选择。

关于java - 检测 Java 反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25416662/

相关文章:

ipad - what's the best way to programmatically detect the iPad 2's图形硬件?

javascript - 如何判断android用户是否来自主屏幕应用程序

opencv - 使用 opencv 和 c++ 同时搜索多种颜色

java - 如何在 netbeans 中为 GAE 配置 vosao cms

java - 在Java中从ArrayList中搜索包含特定字符串的一组字符串

go - 使用反射识别非内置类型

c# - 在不同的 AppDomain 中加载/卸载程序集

swift - 是否有与 C#'s ' nameof( )' function to get a variable or member' s name?

java - 在 Java 中使用 Joda 查找两个日期之间的差异

java - ArrayList 的排序顺序奇怪地丢失了,但为什么呢?