Java JNA写入内存布尔值

编程入门 行业动态 更新时间:2024-10-23 17:35:39
本文介绍了Java JNA写入内存布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在入侵游戏,并且正在使用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写入内存布尔值

本文发布于:2023-08-01 04:28:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1265215.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:内存   布尔值   Java   JNA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!