51.通过获取数据快速实现一个辅助

上一个内容:50.破坏性更小的代码跳转功能完善(无敌+秒杀)

原理是:找一个现成的辅助,使用PCHunter工具看现成辅助对目标游戏做了那些hook操作,然后再使用Ollydbg.exe工具分析现成辅助为何这样做。

下图左边红框是PCHunter工具检测的钩子,也就是说只要辅助使用了钩子在下面就可以检测到,右边是辅助开启了穿墙功能,开启之后在左边红框就检测到了,即4328CB位置

如果使用Ollydbg.exe工具分析代码的话需要,右击属性如下图红框

然后在下图红框位置的数据换成游戏的pid(Windows任务管理器中可以看到pid)

通过PCHunter工具进程钩子分析出如下辅助功能

c/c++的代码实现:

#include<iostream>
#include <Windows.h>

int main() {
    std::cout << "请输入要作弊的游戏PID";
    unsigned Pid;
    std::cin >> Pid;
    HANDLE hGame = OpenProcess(PROCESS_ALL_ACCESS, FALSE, Pid);

    if (hGame) {
        char data0[]{ 0xEB };
        char data1[]{ 0xE9, 0xD3, 0x01, 0x00 };
        char data2[]{ 0x00 };
        char data3[]{ 0x75 };
        SIZE_T lwt;
        WriteProcessMemory(hGame, (LPVOID)0x4328CB, data0, sizeof(data0), &lwt); // 开启穿墙
        WriteProcessMemory(hGame, (LPVOID)0x43F21D, data0, sizeof(data0), &lwt); // 开启无敌
        WriteProcessMemory(hGame, (LPVOID)0x445A09, data0, sizeof(data0), &lwt); // 开启无敌
        WriteProcessMemory(hGame, (LPVOID)0x4328AE, data1, sizeof(data1), &lwt); // 穿泡
        WriteProcessMemory(hGame, (LPVOID)0x4476E3, data2, sizeof(data2), &lwt); // 无限泡泡
        WriteProcessMemory(hGame, (LPVOID)0x445D04, data3, sizeof(data3), &lwt); // 推墙
        std::cout << "Finsh!" << std::endl;
        system("pause");
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值