使用JNI读取带有偏移量的内存
Reading memory with offsets using JNI
我正在尝试创造一个自定义系统,能够轻松地适应各种游戏,当你的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);
谢谢
您需要使用以下内容:
public class Game {
public native byte[] readMemory(int offset);
}
你会用
javah Game
创建标题
然后创建c++类并在程序中包含头文件
要加载Game类,您需要使用System.loadLibrary()或使用-D命令行参数。注意:系统。loadLibrary取决于你运行的操作系统。所以如果你在Windows下编译,它将是一个。dll文件。对于linux,它将是。so,对于mac,它将是。jilib扩展名
相关文章:
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 通过指针偏移量访问结构变量值
- 以线程安全的方式转换 C/C++ 中时区名称字符串的时区偏移量
- librdkafka:rd_kafka_assignment 返回分配分区的偏移量 -1001
- 是否通过向封闭对象的地址添加字节偏移量来访问子对象
- 向指针地址添加 20 个字节偏移量
- glMapBufferRange(..) 中的偏移量关系和 glDrawArraysInstanced(..) 中的第一
- 是否有与 C# Structs/StructLayout 等效的功能,C++中的字段偏移量?
- 我的 sumASCII 函数中的此偏移量是多少?
- boost::序列化中的派生类偏移量计算.有效吗?
- c++ 读取进程内存基址 + 偏移量不起作用
- 具有多个偏移量的写入进程内存C++
- C++如何使用读取进程内存查找进程内存中使用的最后一个(偏移量 - 地址)
- 对相同基类的引用在内存中必须具有单独的偏移量
- C++ 读取内存地址/指针和偏移量
- 如何在C/C++中从运行时卸载内存偏移量计算
- 内存复制导致偏移量
- c++内存地址和偏移量写/读
- c++用指针+偏移量读内存地址
- 使用JNI读取带有偏移量的内存