【2020腾讯游戏安全技术竞赛】PC方向初赛 WriteUp
很遗憾没有进入复赛,不过还是记录一下自己做题的过程叭
PC方向的初赛题目有2道,一道Ring0一道Ring3,由于技术不到位 我只做了简单的Ring3,无缘复赛QAQ
RIng0的题目为:给了一个加了vmp壳的驱动,该驱动无法正常加载,要求在不修改驱动文件的情况下尝试让驱动成功加载,并设法让驱动成功执行print
Ring3的题目为:给了一个扫雷exe和一份dmp文件,要求通过分析得出外挂修改了程序的哪些地方、实现了什么功能
首先拿到winmine.exe于winmine.dmp
尝试windbg加载dmp文件,指定image file为exe,输入指令 !analyze -v ,分析得到结果,崩溃是由int3指令产生(不过这并不重要,重要的是内存转储文件中的程序数据)
使用exepeinfo查看该exe的pe结构,找到text段偏移和大小
使用winhex打开exe文件,将其text段裁剪下来,在这里我采用了text段偏移的基础上再加0x1d4的偏移,故裁剪后得到的文件大小为0x3a2c字节
再使用winhex打开dmp文件,根据特征码搜索定位到text段被映射到的地址偏移,采用同样的方法将0x3a2c大小的块裁剪下来
分析比对2个裁剪后的文件的不同
可以发现,有6个字节的代码被填充为了nop,在IDA上找到该处代码
可以发现,该外挂将inc dword_100579c这条命令跳过了
在Windows消息循环中有一个sub_1002fe0函数,这条被nop的命令就在该函数中,该函数会将dword_100579c与999进行比较,如果小于999,则自增dword_100579c
根据进一步调试,我确定了这是与计时有关的函数,恰好扫雷的时间显示框只能容纳3位数(最高表示数999),自增命令被nop后扫雷的计时功能将停止,数字不会随着时间递增,时间会永远显示为001
第二个被修改的指令为push 0,被修改后的代码为jmp short loc_10035b0,也就是直接跳转至函数尾
正常的执行流程为
而修改后代码的第18行的call sub_100347c(0)没有被执行,该函数的作用是点到雷后的逻辑操作,不执行该函数相当于点到雷以后游戏并不会结束,依然可以继续扫雷
综上所述,该外挂通过patch了2处代码实现了如下功能:
(1)时间锁定为001
FF 05 9C 57 00 01 → 90 90 90 90 90 90
(2)点到雷以后游戏并不会结束
6A 00 → EB 1D
不敢说这是正确答案,只能说是我的解题报告,不足之处还望各位师傅斧正
【2020腾讯游戏安全技术竞赛】PC方向初赛 WriteUp相关推荐
- 2019腾讯游戏安全技术竞赛移动端题目解析
2019腾讯游戏安全技术竞赛移动端初赛题目解析 前言 前几天朋友发了腾讯游戏安全技术竞赛链接给我,看了看感觉自己挺适合这方面的比赛.我初三买了第一台安卓机子,从root到网络渗透,从美化系统到自制ro ...
- LOL代练检测——2019腾讯游戏安全技术竞赛初赛记录
因为想要去腾讯实习,所以参加了今年的腾讯游戏安全技术竞赛,这个比赛赢了会有一个实习的绿色通道.选了数据分析方向里面的机器学习. 初赛题目很有趣,关于LOL(英雄联盟)的代练检测. Moba游戏常见的5 ...
- LOL代练检测——2019腾讯游戏安全技术竞赛决赛记录
决赛去了深圳,过了几天吃喝全包的生活,感觉快爱上腾讯和深圳了.虽然最后没有拿到名词-- 进决赛的一共有20多个人,数据分析方向一共8个,其中机器学习仅有4个.我以为决赛会有一个不太一样的题目背景,后来 ...
- 2018腾讯游戏安全技术竞赛Android 组决赛第一轮
本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途.转载请注明出处,禁止未经许可将本博客内所有内容转载.商用. "横看成岭侧成峰,远近高低各不同" ...
- 2018年腾讯游戏安全技术竞赛进阶版writeup
本来去年对比赛印象不错,所以今年还是在一堆事情的情况下挤了点时间强行通宵做了一下,题目本身还行,不过题目各种出错,主办方反馈极度慢也是无话可说. 最后本来是打算等比赛结果公布后抽空好好整理下把 wri ...
- 2020腾讯游戏年度发布会
这篇博客整理下6.27的腾讯游戏发布会: 这次的发布会,我也没有完全看,虽然发布会中有很多耳熟能详的游戏,但是鉴于之前网易游戏的发布会,这次我只是特地来看<鸿图之下>. 这次的发布会里面不 ...
- 如何打造高并发互动小程序,护航腾讯游戏年度发布会?
导语 | 2020腾讯游戏年度发布会以线上直播的形式进行,区别于往年的线下toB模式,线上直播面对的是所有玩家,所以在直播内容.直播落地等方面,都要考虑如何做得更加toC.参与量如此大.互动如此多.内 ...
- 【竞赛方案】2020腾讯广告算法大赛:高分进阶
写在前面 最近腾讯赛分享成为"Coggle数据科学"的主推文章,从筹备竞赛到逐步上分之路的分享,助力大家取得优异成绩.当然,这也将延续到大赛结束.持续关注Coggle,大家一起学起 ...
- 【竞赛经验分享】2020腾讯广告算法大赛:如何突破分数瓶颈?
写在前面 期待已久的2020腾讯广告算法大赛终于开始了,本届赛题"广告受众基础属性预估".本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!! 报名链接:https ...
最新文章
- 水稻微生物组时间序列分析2b-散点图拟合
- android23 imei 权限,android------关于API 23的权限问题
- 动态可订制属性的 PropertyGrid(转载)
- Eclipse开发C/C++之使用技巧小结,写给新手
- 【自定义控件】c#winform自定义控件实现标签控件
- 求求你把输入法调小一点... | 今日最佳
- 三人表决器_数电小实验之三人表决器
- 大数据和BI商业智能有何区别?有何相关?
- Linux下Gcc生成和使用静态库和动态库详解(转)
- sampleFactory(女娲造人)
- Ubuntu16.04 安装Teamviewer
- JDK6中synchronized优化之自旋锁、锁擦除、锁粗化
- Activiti6自学之路(一)—— Activiti6介绍
- Graphene图数据建模工具
- 点云配准ICP算法推导,SVD分解
- 高德地图自定义镂空区域
- 微信小程序---倒计时
- 机器学习数据挖掘笔记_18(PGM练习二:贝叶斯网络在遗传图谱在的应用)
- 稀疏矩阵CSR存储的C++实现
- Nginx 从入门到实践,万字详解
热门文章
- MySQL分组后取每一组第N条数据
- 商品图片放大镜的前端案例
- 服务器三块硬盘raid0,存储入门三步曲1——容量之王RAID0
- 超图hypergraph
- JVM底层原理+四大垃圾回收算法详解-周阳老师
- linux看视频安装flash-解决慕课上播放时code7的问题
- Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation.MapperScan.factoryBe
- 四大内伤造就80后创业高失败率
- 免费SEO外链,轻松提升网站排名!
- 文件上传下载 Content-type 设置整理