博弟弟丶 发表于 2021-10-16 19:40

学习C++第三十二天

#include <iostream>
#include<vector>
#include<Windows.h>
#include"Proc.h"
int main()
{
    DWORD procid = GetProdid(L"ac_client.exe");//封装的函数获取进程
    uintptr_t modulebase = GetModuleBaseAddress(procid,L"ac_client.exe");//封装的函数获取模块
    HANDLE process = 0;
    process = OpenProcess(PROCESS_ALL_ACCESS, NULL, procid);//打开进程
    uintptr_t dynamicptrBaseaddr = modulebase + 0x17E560;//本地exe地址
    std::cout << "dynamicptrBaseaddr = " << "0x" << std::hex << dynamicptrBaseaddr << std::endl;//获取地址
    std::vector<unsigned int>ammooffsets = { 0x364,0x14,0x0 };////本地的偏移
    uintptr_t ammoaddr = FindDMAAddy(process, dynamicptrBaseaddr, ammooffsets);//获取地址
    std::cout << "ammoaddr = " << "0x" << std::hex << ammoaddr << std::endl;//十进制输出
    int ammValue = 0;
    ReadProcessMemory(process, (BYTE*)ammoaddr, &ammValue, sizeof(ammValue), nullptr);//读取出子弹数量
    std::cout << "zidan = "<< std::dec << ammValue << std::endl;//输出子弹
    int newValue = 9999;//给他一个新的值
    WriteProcessMemory(process, (BYTE*)ammoaddr, &newValue, sizeof(newValue), nullptr);//写入内存
    ReadProcessMemory(process, (BYTE*)ammoaddr, &ammValue, sizeof(ammValue), nullptr);//读取他刚刚写入的新值
    std::cout << "xin zidan = " << std::dec << ammValue << std::endl;//然后输出一下
    getchar();//
    return 0;
}
我相信遍历进程模块 没人不会

明月照何处 发表于 2021-10-16 19:57

UP主 是看 视频学的吗

博弟弟丶 发表于 2021-10-16 19:59

明月照何处 发表于 2021-10-16 04:57
UP主 是看 视频学的吗

看视频是其次主要是思考他的思路和方法这才是关键

nanaqilin 发表于 2021-10-16 20:27

明月照何处 发表于 2021-10-16 19:57
UP主 是看 视频学的吗

编程语言这个东西,还是多上机练习才是最快的方式

erui 发表于 2021-10-16 20:27

这C++全部学会,需要多长时间呢?
还有,在哪可以看C++实例练习做应用程序编程呢?

timelessxp 发表于 2021-10-16 21:32

楼主,继续加油呀!

pengtusheng 发表于 2021-10-16 23:21

之前会哪种语言,PY还是JAVA

zhuyong770 发表于 2021-10-16 23:22

看和学 同时练习

bennyt 发表于 2021-10-16 23:58

好好学习daydayup

aswcy815174418 发表于 2021-10-17 09:01

建议增加相应的回车,显得代码不是太拥挤
页: [1] 2
查看完整版本: 学习C++第三十二天