参赛网址:
参考网址:
复赛ring3题目:(本题共5分)
winmine.exe是一个扫雷游戏程序,winmine.dmp是该程序的一份进程dump, 在这份dump中,有一个DLL作弊程序。
1, 请找到该作弊程序,给出模块名;(1分)
2, 并分析它所包含的4个作弊功能,给出实现作弊功能的函数的偏移,并说明其作弊功能是什么。(4分)
预备知识:
未加载内存.text是在0x400处存放
加载到内存.text是在0x11000处存放
内存转文件修复方法:
1、将内存中数据的重新拷贝到文件(麻烦)
2、将文件偏移跟大小改成内存的(省事)
1、找到作弊模块名
0:004> lm
start end module name
6e220000 6e266000 CheatTools (no symbols)
使用.writemem C:\CheatTools.bin 0x6e220000 L46000 dump
2、收集模块信息
DLL已经内存展开,我们要修复下Raw RawSize
通过ResourceHacker分析资源文件我们得到它的四个功能
3、分析作弊模块
通过前面的作弊功能找到切入点VirtualProtect:
作弊功能1:无限时间
作弊功能2:屏蔽失败流程
作弊功能3:
作弊引擎IDA地址 | 作弊功能 |
0x6E221820 | 一键开雷(地雷被pass掉了) |
原厂IDA地址 | 函数介绍 |
0x1003512 | 双击开雷的call |
0x1005330 | 地图地雷个数 |
0x1005334 | 地图列数(简单模式9*9) |
0x1005338 | 地图行数(简单模式9*9) |
0x1005340 | 地图起始偏移 |
我们选择的是9*9难度,地图是被0x10包围着的,每一行都在内存中都空着一行,地雷是0x8F
遇到雷pass掉,然后一键调用开雷的函数实现自动化
作弊功能4:
作弊引擎IDA地址 | 作弊功能 |
0x6E221AC0 | 透视 |