0

我正在尝试制作一个可以轻松适应各种游戏的自定义系统,目的是在您的 HP 达到一定标记时治愈您的角色。这将很有用,因为它允许用户在有死亡危险时使用药水或治疗法术来治愈自己。到目前为止,我已经在天际中对其进行了测试,并且我已经让它运行得很好,但我想让这个游戏在 java 代码而不是 Visual Basic 上运行。所以基本上我只需要一些帮助,将我读取内存的一小部分 VB 代码转换为 Java 代码。此外,我希望我必须使用 JNI,但还没有做那么多 JNI,所以请不要直接将我引导到 api。

    DWORD HpPointer = 0x007C5710; //example pointer
DWORD HpPointed;
WORD HpOffset = 0x07B4; //example offset
int CurrentHp = 0;      //variable that stores the integer value returned

ReadProcessMemory(hProc,(LPCVOID)(HpPointer), &HpPointed, 4, NULL);
ReadProcessMemory(hProc,(LPCVOID)(HpPointed+HpOffset), &CurrentHp, 4, NULL);
//end of hp section
return (CurrentHp);

谢谢

4

1 回答 1

1

您需要使用以下内容:

public class Game {

    public native byte[] readMemory(int offset);

}

你会用

javah Game

创建标题

然后你会创建你的 C++ 类并在你的程序中包含头文件

要加载 Game 类,您需要使用 System.loadLibrary() 或使用 -D 命令行参数。注意: System.loadLibrary 取决于您运行的操作系统。因此,如果您在 Windows 下编译,它将是一个 .dll 文件。对于 linux 将是一个 .so 而对于 mac 它将是一个 .jnilib 扩展名

于 2013-03-01T21:25:06.463 回答