Java:如何从其他程序中获取值?

时间:2015-04-17 11:13:38

标签: java

为了使问题更容易理解,有一个名为 CheatEngine 的软件,基本上它的作用是,它收集你正在尝试使用的软件的所有字节,你可以选择其中任何一个并更改值。

例如,您想要更改任何游戏的分数。您可以搜索当前分数的值,并将其更改为您想要的值。

现在的问题是,是否有可能使用java创建类似内容的东西,它将从内存中获取所有数据,即您试图“入侵”的软件使用?

请告诉我应该查找哪些来源。

P.S。如果帖子出现语法错误,我很抱歉。我来自俄罗斯,我不是最好的英语。

3 个答案:

答案 0 :(得分:4)

Java在直接内存访问方面受到很大限制(有充分理由),因此用Java完成这项工作的可能性很小。 JNI可以执行(托管或不安全)操作系统操作,因此您可以尝试调用在给定内存位置返回数据的任何C函数,但我想您最好先使用C(而不是Java),然后

答案 1 :(得分:1)

通过语言定义,java在JVM的沙箱中运行。因此,不可能访问其外部的内存中的其他位置。 Java也无法访问内存中的特定位置,也没有指针。

答案 2 :(得分:-1)

据我所知,java并没有提供直接访问内存的支持。如果您仍想访问内存,则必须使用JNI。但那也不是一个好选择。 所以我认为最好的方法就是为了你的目的而放弃Java并尝试使用C或C ++。 C#.NET也是可能的。

P.S 正如@PhilipWhitehouse建议的那样,有一种方法可以使用sun.misc.Unsafe包。尝试阅读http://mishadoff.com/blog/java-magic-part-4-sun-dot-misc-dot-unsafe/

相关问题