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

JNA-获取基本地址

曾沛
2023-03-14
问题内容

最近,我一直在从事我的一个小项目,该项目是使用Java为本地游戏(C / C ++ / etc)进行内存读取/写入。

目前,我有一个可以读写游戏内存的基址,但是现在我需要一种方法来获取正在运行的应用程序的基址。例如:

我有使用作弊引擎及其指针搜索器收集的指针列表。这些是稳定的,并且在每次游戏重新加载时都能正常工作。

我现在面临的问题是,第一个指针使用程序的基址(每次重新启动程序时都会更改):“ ac_client.exe” + 000DF73C

我需要一种使用JNA获取“ ac_client.exe”基本值的方法。

我已经做了大量研究,发现了几种用C 进行处理的方法,但是我对C / C

的了解非常有限。我发现很难使用JNA将其转换为Java,我想在这里问一下,看看是否有人能够提供帮助或知道执行此壮举的其他方法。

谢谢您的提前帮助,Kaden。

[编辑]

阅读下面的解决方案!谢谢您的帮助。


问题答案:

在弄乱了Alex发布的内容之后,我开始工作了,并设法使其工作。

对于其他想要获得类似效果的人,请看一下Alex发布的那个项目,您会看到所需的必修课。然后我就用这个:

public int getBaseAddress() {
        try {
                Pointer hProcess = gethProcess();
                List<Module> hModules = PsapiHandler.getInstance().EnumProcessModules(hProcess);

                for(Module m: hModules){
                        if(m.getFileName().contains(exeName)){
                                misc.log(m.getFileName() + ": 0x" + Long.toHexString(Pointer.nativeValue(m.getEntryPoint())));
                                return Integer.valueOf("" + Pointer.nativeValue(m.getLpBaseOfDll()));
                        }
                }
        } catch (Exception e) {  e.printStackTrace(); }
        return -1;
}


 类似资料:
  • 问题内容: 我的机器上运行了一个简单的node.js程序,我想获取运行该程序的PC的本地IP地址。如何使用node.js获得它? 问题答案:

  • 我检查了下面的代码以获取ipv6地址,这段代码返回了全局单播地址,比如“2001:x:x…”。但我想获得链接本地地址,比如“fe80:…”。如何使用以下代码获取链接本地地址?

  • 问题内容: 我想获取计算机的IP地址。我使用了下面的代码,但是返回了。 我想获取IP地址(例如),而不是回送地址。 问题答案: 您需要遍历所有网络接口 播放(取自util / helper.go)

  • 问题内容: 我不是指 127.0.0.1 而是其他计算机将用来访问该计算机的计算机,例如 192.168.1.6 问题答案: http://nodejs.org/api/os.html#os_os_networkinterfaces

  • 基本信息 Path: /api/project/get Method: GET 接口描述: 请求参数 Query 参数名称 是否必须 示例 备注 token 是 项目token

  • 问题内容: 获取我的本地主机IP地址。但这给了我答案。如果我知道的话。 我需要我的“真实” IP地址(例如192.168.xx)来修改配置文件。我怎么能得到? 问题答案: 我通常使用以下代码: 我不知道它的起源,但是它可以在Linux / Windows上运行。