我正在入侵游戏,并且正在使用Java JNA向游戏写入内存,我只能写字节数组,但我也需要写booleans(如果这很有意义).这就是我的写方法
I'm hacking a game and I'm using Java JNA to write memory to the game, I can only write byte arrays but I need to write booleans as well (if that makes sense). So this is my write methods
VKernel32.java
VKernel32.java
public abstract boolean WriteProcessMemory(Pointer paramPointer1, long paramLong, Pointer paramPointer2, int paramInt, IntByReference paramIntByReference);实际记忆写作:
public void writeMemory(int address, byte[] data) { int size = data.length; Memory toWrite = new Memory(size); for (int i = 0; i < size; i++) { toWrite.setByte(i, data[i]); } kernel32.WriteProcessMemory(process, address, toWrite, size, null); }在C ++中,我可以使用模板作这样的事情
In C++ I can use a template for-say to do something like this
template <class T> void Write(DWORD addr, T val) { WriteProcessMemory(_process, (LPVOID)addr, &val, sizeof(T), NULL); }推荐答案
内存由字节组成.如果要编写更高级"的内容(例如布尔值),则需要考虑如何将其表示为字节并以这种方式进行编码.如果您是黑客游戏,则此处的设计选择仅限于游戏认为布尔值在内存中的外观.
Memory consists of bytes. If you want to write something more "high-level" (such as a boolean) you need to think about how you want to represent that as bytes and encode it that way. If you are hacking a game, your design choices here are limited to what the game thinks a boolean should look like in memory.
更多推荐
Java JNA写入内存布尔值
发布评论