学习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调试器
第六步 我们点击无线阳光神奇的一幕发生了因为这样不明显(我们点击阳光的时候可以在内存中查看变化很清晰的看到变化)
第七步 我们点击植物无冷却可以看到植物全部无冷却了 因为这样不明显(我们点击无冷却的时候可以在内存中查看变化很清晰的看到变化)
再见!!!!
上学时候就学C语言 到现在 不知道学C语言的编程环境从哪里下手 图形界面是咋做的,是用的外壳吗?{:1_904:}
15071719559 发表于 2021-11-16 02:41
图形界面是咋做的,是用的外壳吗?
C++自带的MFC jimk7908 发表于 2021-11-16 17:33
上学时候就学C语言 到现在 不知道学C语言的编程环境从哪里下手
VC 6.0或Dev c++ 学习了,优秀 15071719559 发表于 2021-11-16 17:47
VC 6.0或Dev c++
谢谢指点 我找找试试 先找找门{:1_893:} NB啊 自学还是跟看视频学的
视频分享下啊
页:
[1]