博弟弟丶 发表于 2021-11-16 17:15

学习C++第四十二天(外部功能完善)

本帖最后由 博弟弟丶 于 2021-11-16 02:16 编辑

第一步 我们需要获取到三处关键点的地址大部分获取办法都是exe+偏移这种没其他的办法了

第二步需要封装两个函数一个为操作内存字节的大部分都是用VirtualProtectEx(改变在特定进程中内存区域的保护属性。),WriteProcessMemory此函数能写入某一进程的内存区域(前提是必须能访问 所以我们要用到VirtualProtectEx(修改他的权限))
第二个函数就是Nop函数 不过多将完成之后 往下看

第三步就来到了我昨天所写的框架的地方 ( 阳光)我们直接调用Patchex函数   讲解一下第二个 (BYTE*)"\xB8\x99\x19\x00\x00" 因为他是BYTE* 所以我们要强制转换这句话是什么意思呢就比如是 原始字节 B8 19000000      更改之后B8 99190000   明白了嘛如果不明白 可以内存中尝试更改一下就知道了
如果选中等于假 我们就恢复原始字节B8 19000000

第四步还是一样来到昨天的框架的地方(植物全部无冷却)因为我们先nop然后在更改字节    所以先nop两个字节 然后更改一个字节   如果他为假就恢复 Patchex((BYTE*)(ModBase1), (BYTE*)"\x33\xc0", 2, Qx);先恢复这一句然后Patchex((BYTE*)ModBase2, (BYTE*)"\xC6\x43\x48\x00", 4, Qx);然后在恢复冷却

第五步我们点击本地Windows调试器

第六步 我们点击无线阳光神奇的一幕发生了因为这样不明显(我们点击阳光的时候可以在内存中查看变化很清晰的看到变化)

第七步 我们点击植物无冷却可以看到植物全部无冷却了      因为这样不明显(我们点击无冷却的时候可以在内存中查看变化很清晰的看到变化)

再见!!!!

jimk7908 发表于 2021-11-16 17:33

上学时候就学C语言 到现在 不知道学C语言的编程环境从哪里下手

15071719559 发表于 2021-11-16 17:41

图形界面是咋做的,是用的外壳吗?{:1_904:}

博弟弟丶 发表于 2021-11-16 17:43

15071719559 发表于 2021-11-16 02:41
图形界面是咋做的,是用的外壳吗?

C++自带的MFC

15071719559 发表于 2021-11-16 17:47

jimk7908 发表于 2021-11-16 17:33
上学时候就学C语言 到现在 不知道学C语言的编程环境从哪里下手

VC 6.0或Dev c++

向着那一片阳光 发表于 2021-11-16 19:18

学习了,优秀

tlf 发表于 2021-11-16 19:36

jimk7908 发表于 2021-11-17 08:55

15071719559 发表于 2021-11-16 17:47
VC 6.0或Dev c++

谢谢指点 我找找试试 先找找门{:1_893:}

wftvwu 发表于 2021-11-17 13:44

NB啊      自学还是跟看视频学的
    视频分享下啊
页: [1]
查看完整版本: 学习C++第四十二天(外部功能完善)