首页
社区
课程
招聘
[原创]南极动物厂 游戏高校竞赛决赛分析 之 Ring3
2020-4-13 11:40 4530

[原创]南极动物厂 游戏高校竞赛决赛分析 之 Ring3

2020-4-13 11:40
4530

0x01 前言

第一次参加CTF 感觉还行吧,一天半不到就撸完了。(不用infhook的话)

 

后面Ring0要完全得满分要上infhook是没想到的。研究infhook又花了时间,之前一直没看这个。

 

弄完infhook的时候 已经是过了交题半小时了。

0x02 ring3 程序分析

题目描述

winmine.exe是一个扫雷游戏程序,winmine.dmp是该程序的一份进程dump, 在这份dump中,有一个DLL作弊程序。

 

1, 请找到该作弊程序,给出模块名(1分)

 

2, 并分析它所包含的4个作弊功能,给出实现作弊功能的函数的偏移,并说明其作弊功能是什么(4分)

题目分析

定位并提取dump中的内存映像

使用工具:WinDbgStudy Pe+ x64

  1. windbg载入dump

    lm命令 查看模块 发现可疑模块 CheatTools.dll(作弊工具.dll)
    
  2. 通过.writemem C:\dump.bin 0x6e220000 L46000将作弊模块dump下来。

  1. 因为该DLL已在内存中展开 需要把Raw RawSize修正 才能被工具正常识别区段

    我们将Raw AddressVirtual Address弄成一样的就行啦。

IDA分析该程序

使用工具:IDA Pro v7.2PEEdit

  1. IDA载入后 发现有大量的MFC函数 此时用PEEdit看下窗体资源部分。

  2. 发现有四个功能

    1.暂停时间 2.遇雷不爆 3.一键游戏 4.地雷分布
    

    扫了一眼IDA分析出来的函数 发现有几个函数有读取游戏或修改游戏或调用游戏函数的行为
    结合CE分析 确定这四个函数 分别对应窗体上的四个功能 所以确定此模块为作弊模块





   1.2.均是在初赛时已经分析过的 
   为了节省时间 我百度找了下 扫雷的棋盘遍历

 

查看IDA反编译的结果 与分析的一致(IDA红箭头处)

下面给出CheatTools主要使用的游戏数据

1.暂停时间(改90 90 90 90 90)

   winmine.exe+2FF5(0x1002FF5) - FF 05 9C570001        - inc [winmine.exe+579C]

2.遇雷不爆(改EB 1D)

   winmine.exe+3591(0x1003591) - 6A 00                 - push 00

3.一键游戏

   MEMORY[0x1003512](1, 1) //点击call 参数 x y
   winmine.exe+3512 - 8B 44 24 08           - mov eax,[esp+08]
   winmine.exe+5334|winmine.exe+5338 //棋盘高宽(0x1005334,0x1005338)
   winmine.exe+546C //存放棋盘分布的buffer (0x100546C)

雷类型 = 0x8F 换行 = 0x10

 

遍历棋盘 不是雷 则调用点击call进行扫雷 达到一键游戏效果

 

4.地图分布
使用数据与3一致 遍历出棋盘的数据 然后输出呈现。

作弊模块

   dump ModuleBase:0x6E220000
   dump Name:CheatTools.dll

作弊功能函数偏移

   1.时间静止 sub_6E221660,Offset:1660
   2.遇雷不爆 sub_6E2216D0,Offset:16D0
   3.一键游戏 sub_6E221820,Offset:1820
   4.地图分布 sub_6E221AC0,Offset:1AC0

附录:修复节表后的CheatTools dump


[培训]《安卓高级研修班(网课)》月薪三万计划

最后于 2020-4-13 13:38 被淡然他徒弟编辑 ,原因:
上传的附件:
收藏
点赞3
打赏
分享
最新回复 (4)
雪    币: 4709
活跃值: (1524)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
如斯咩咩咩 2020-4-13 13:55
2
0
稳了稳了
雪    币: 83
活跃值: (1037)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
killpy 2 2020-4-13 22:01
3
0
666
雪    币: 330
活跃值: (640)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1earner 2021-3-4 15:10
4
0
请问这文中提到的PEEdit是哪个呢,想跟着做一下,装了一个网上的PeEdit,看不了MFC窗体资源部分
雪    币: 5802
活跃值: (4317)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 1 2021-3-6 05:57
5
0
1earner 请问这文中提到的PEEdit是哪个呢,想跟着做一下,装了一个网上的PeEdit,看不了MFC窗体资源部分

我也忘了 当时百度随便搜的 PE文件编辑器 名字应该就叫PEEdit

最后于 2021-3-6 05:59 被淡然他徒弟编辑 ,原因: 打错了
游客
登录 | 注册 方可回帖
返回