2022腾讯游戏安全初赛一题解析

WriteUp 3年前 (2022) admin
1,094 0 0

2022腾讯游戏安全初赛一题解析

本文为看雪论坛优秀文章
看雪论坛作者ID:PlaneJun



运行效果

2022腾讯游戏安全初赛一题解析
原程序运行后显示ACE,并且许秒后绘制消失。

原题则要求如下:
2022腾讯游戏安全初赛一题解析

详细分析及实现


首先创建了一个名为”avoid repeat open”的互斥体,保证程序的单例执行。
2022腾讯游戏安全初赛一题解析
然后开始创建窗口,并初始化D3D设备。
2022腾讯游戏安全初赛一题解析

2022腾讯游戏安全初赛一题解析

随后开始动态获取ZwAllocateVirtualMemory和ZwFreeVirtualMem的函数地址。

2022腾讯游戏安全初赛一题解析

调用ZwAllocateVirtualMemory申请一段可执行内存后,开始将两段shellcode写入。

2022腾讯游戏安全初赛一题解析

紧接着可以看到通过调用GetTickCount来判断运行时间是否超过4秒,若超过4秒则清空shellcode,即绘制消失。

2022腾讯游戏安全初赛一题解析

shellcode的入口为D3D的一些shader初始化。
2022腾讯游戏安全初赛一题解析

2022腾讯游戏安全初赛一题解析

动态编译shader完毕后开始执行虚拟机。
2022腾讯游戏安全初赛一题解析

2022腾讯游戏安全初赛一题解析


简单分析了之后,可知每个分支作用如下:

指令
作用
0
寄存器相加。eg:v1+=v2
1
两数相减。eg:v1-=v2
2
寄存器赋值。eg:v1=v2
3
立即数赋值。eg:v1=999
4
计算key。
5
绘制黄色小方块
6
绘制青色小方块
7
函数返回

由于绘制青色方块正常,黄色方块不正常,故猜测黄色方块数据存在污染。
进一步分析DrawFillRect函数,得知前四个参数中,第一第二个为坐标数据,第三第四个为Key。

并且在捕获绘制青色方块的数据时发现,第三和第四个参数在参与运算时结果始终为0,反之,黄色方块不为0。

2022腾讯游戏安全初赛一题解析

将指令集扣下后使用C++进行模拟流程,并输出操作流程。
2022腾讯游戏安全初赛一题解析
2022腾讯游戏安全初赛一题解析
经过对比,发现黄色方块在计算Decryp之后,将Table[6]与Table[7]的值进行了互换。直接通过判断互换流程将其修改为Table[3] = Table[1]禁止互换。

2022腾讯游戏安全初赛一题解析

2022腾讯游戏安全初赛一题解析

修改后发现仍然没有绘制黄色小方块,通过代码调试发现绘制时,Table[4]为负数,而Table[4] = (Table[0] – Table[1]) = 0x32 – 0x3E8。
2022腾讯游戏安全初赛一题解析
怀疑0x3E8为故意使坐标计算为负数,故将0x3E8修改为0x0后,黄色小方块显示。
2022腾讯游戏安全初赛一题解析
同理,第二个黄色方块的由于没有Key互换,但是对0x1F4计算,将0x1F4修改为0,后方块显示。
2022腾讯游戏安全初赛一题解析
经过手动修改后,发现存在0x3E8和0x1F4数据对黄色方块的坐标进行污染,将其修改0,并且禁止key互换后,旗帜显示。

2022腾讯游戏安全初赛一题解析

以下为C++修复表部分效果。

2022腾讯游戏安全初赛一题解析

修复完毕后会自动运行程序后执行修复表操作。
2022腾讯游戏安全初赛一题解析




2022腾讯游戏安全初赛一题解析


看雪ID:PlaneJun

https://bbs.pediy.com/user-home-826671.htm

*本文由看雪论坛 PlaneJun 原创,转载请注明来自看雪社区


2022腾讯游戏安全初赛一题解析


# 往期推荐

1.海莲花glitch样本去混淆

2.反射式DLL注入实现

3.angr符号变量转LLVM IR

4.记录一次对某CMS漏洞挖掘

5.Android APP漏洞之战—验证码漏洞挖掘详解

6.CTF 中 glibc堆利用及 IO_FILE 总结



2022腾讯游戏安全初赛一题解析



2022腾讯游戏安全初赛一题解析

球分享

2022腾讯游戏安全初赛一题解析

球点赞

2022腾讯游戏安全初赛一题解析

球在看



2022腾讯游戏安全初赛一题解析

点击“阅读原文”,了解更多!

原文始发于微信公众号(看雪学苑):2022腾讯游戏安全初赛一题解析

版权声明:admin 发表于 2022年5月29日 下午6:00。
转载请注明:2022腾讯游戏安全初赛一题解析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...