前两篇文章分别讲了JNI和CE查找游戏基址,
这一篇就到了真正的主题。
注意:
开发这个项目,需要将项目的jdk修改为1.6版本,高于1.6会有问题。
右键你的项目→Build Path→Configure Build Path→Libraried→选中JRE→点击右边的Edit按钮→选择1.6的JDK版本,
当然你电脑上必须有1.6版本的JDK。
那么用java编写游戏修改器,需要以下几步:
-
获取进程令牌
GiveProcessPrivilege give = new GiveProcessPrivilege(); give.give(Kernel32_DLL.INSTANCE.GetCurrentProcess(), LookupPrivilegeValue.SeDebugPrivilege);
-
创建GUI界面
-
获取游戏窗口信息
String windowName = "Plants vs. Zombies GOTY "; HWND hwnd = User32.INSTANCE.FindWindow(null,windowName);
-
获取游戏PID
IntByReference dwPID = new IntByReference(); //dwPID 进程标识 int pid = User32.INSTANCE.GetWindowThreadProcessId(hwnd,dwPID);
-
通过OpenProcess打开游戏进程
Kernel32.INSTANCE.OpenProcess(OpenProcess.PROCESS_ALL_ACCESS, false, dwPID.getValue());
-
读取游戏内存信息
Kernel32_DLL.INSTANCE.VirtualQueryEx(hProcess, istartAddress, memoryInfo, size);
-
读取或者修改内存信息
//读取内存信息 Kernel32.INSTANCE.ReadProcessMemory(handle, firstAddress, firstBuffer, 4, intByReference) //修改内存信息 Kernel32.INSTANCE.WriteProcessMemory(handle, sunAddress, update, 4, intByReference)
-
释放资源
//释放内存 ReferenceFree.free(buffer); //释放资源 Kernel32.INSTANCE.CloseHandle(handle);
文章来源于互联网:JAVA开发外挂最终弹-JAVA植物大战僵尸阳光修改器
相关推荐: Proxmox VE同时配置NAT共享IP和独立IP虚拟机
说明 本文内容:配置桥接网卡,使Proxmox VE(PVE)可以同时创建NAT虚拟机和独立IP虚拟机,同时可以使用脚本映射NAT虚拟机的端口到外网 前言 有台5IP的机器,虽然配置不怎么样,但是也开了不少虚拟机,可用的4个IP挪来挪去着实不够用,遂产生了开N…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册