游戏保护之扫雷分析

扫雷分析思路

1.    从界面入手,即从窗口回调函数开始分析(自上而下分析)
在窗口回调函数中对鼠标按下的消息设置断点,当断下之后,跟踪消息携带的坐标信息,直到找到扫雷数组为止。
或者对重新开始游戏的按钮设置断点,消息WM_COMMAND
2.    使用CE搜索值,定位地址
如果有多个值,就一一排除。在每个地址上,查看其访问该地址的代码,可以定位地址
3.    从API入手,栈回溯分析
时间相关:定时器函数
界面相关:改变界面的函数

   随机函数:rand

扫雷分析之数据分析

1、雷数所对应高

2、雷数所对应宽

3、雷数所对应地址

总结

绿色的称为基址(有随机基址时,基址变,偏移不变)==》在文件中能够可以找到偏移 
高度:10056a8  1005338===》可以保存脚本
宽度  1005334  10056ac     
雷数:10056a4  1005330  1005194点击==》基地址和偏移1000000

扫雷游戏之代码分析

1、spy++找到窗口的回调函数

      回调函数地址:1001bc9

2、ida和OllyDBG双剑合璧(静态与动态分析)

2、1005340数组基地址写10  548 0f变10

    8f==>雷 刷新一下会变  点到雷户cc  每一行占32个字节

扫雷游戏之编写脚本

1、宽度14 高度8===》看到边界了    数字41 42 43 写一个遍历所有8f的vs代码写dll简单(若不写则readprocMemony远程线程)


2、内存中变化


3、内存中值与游戏界面对比

8F代表雷数,红色代表雷地图


4、ida分析



5、dll注入


6、vs编写dll注入


7、运行结果

先打开 MFCInject.exe===》刷新===》打开扫雷软件          打开debugview 在扫雷上f5===》debugview会出来遍遍历




猜你喜欢

转载自blog.csdn.net/qq_40720008/article/details/80771032