📌  相关文章
📜  pubg_mobile_memory_hacking_examples-master (1)

📅  最后修改于: 2023-12-03 15:33:48.712000             🧑  作者: Mango

PUBG Mobile Memory Hacking Examples

本项目是一个用于演示 PUBG Mobile 游戏内存修改的示例代码库,使用 C++ 语言编写。示例涵盖了常见的修改项目,如修改血量、子弹数量等。通过本项目,程序员可以快速上手 PUBG Mobile 游戏内存修改,并基于此进行二次开发。

安装与使用

使用本项目需使用 Visual Studio 2019 或以上版本打开,安装 Visual C++ 工作负载并将代码库克隆到本地。

首先,请确保手机和电脑在同一局域网环境下,并在手机上安装好 PUBG Mobile 游戏。然后,启动游戏进入战斗状态,保证游戏内存区块已加载。

接下来,使用 Visual Studio 打开 pubg_mobile_memory_hacking_examples.sln 文件,并运行 hack_memory.cpp 代码文件。代码会立即在控制台上输出可供修改的项目列表。

根据输出的列表,使用对应的项目编号进行内存修改(具体修改代码请参照代码注释)。

修改完成后,按 F5 暂停 hack_memory.cpp 程序运行,然后在手机上刷新游戏状态,即可查看修改结果。

示例项目列表

以下是本项目支持的内存修改项目列表:

修改血量

项目编号:1

代码片段:

// 查找血量指针
DWORD_PTR hp_base_address = dwGetModuleBaseAddress(pid, L"libUE4.so") + 0x00DDADA4;
...
// 修改 self 的血量
DWORD_PTR self_hp_address = hp_base_address + 0x20;
DWORD_PTR self_hp;
ReadProcessMemory(hProcess, (LPCVOID)self_hp_address, &self_hp, sizeof(DWORD_PTR), NULL);
self_hp = 300;
WriteProcessMemory(hProcess, (LPVOID)self_hp_address, &self_hp, sizeof(DWORD_PTR), NULL);
修改子弹数量

项目编号:2

代码片段:

// 获取当前自己手持的武器类型
DWORD_PTR curr_weapon_type_address = weapon_base_address + 0x200;
int curr_weapon_type;
ReadProcessMemory(hProcess, (LPCVOID)curr_weapon_type_address, &curr_weapon_type, sizeof(int), NULL);
...
// 修改当前武器的子弹数量
DWORD_PTR curr_weapon_ammo_address = weapon_base_address + 0x280;
int curr_weapon_ammo = 30;
WriteProcessMemory(hProcess, (LPVOID)curr_weapon_ammo_address, &curr_weapon_ammo, sizeof(int), NULL);
修改车辆速度

项目编号:3

代码片段:

// 获取当前所在车辆的速度指针
DWORD_PTR current_velocity_address = car_base_address + 0x58;
float current_velocity;
ReadProcessMemory(hProcess, (LPCVOID)current_velocity_address, &current_velocity, sizeof(float), NULL);
...
// 修改当前所在车辆的速度
float new_velocity = 300.0f;
WriteProcessMemory(hProcess, (LPVOID)current_velocity_address, &new_velocity, sizeof(float), NULL);
注意事项

本项目仅作为演示使用,未经授权的内存修改行为可能导致游戏账号被封禁。使用本代码库时请遵循当地相关法律法规,由此产生的风险和责任自行承担。