很遗憾没有进入复赛,不过还是记录一下自己做题的过程叭
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相关推荐

  1. 2019腾讯游戏安全技术竞赛移动端题目解析

    2019腾讯游戏安全技术竞赛移动端初赛题目解析 前言 前几天朋友发了腾讯游戏安全技术竞赛链接给我,看了看感觉自己挺适合这方面的比赛.我初三买了第一台安卓机子,从root到网络渗透,从美化系统到自制ro ...

  2. LOL代练检测——2019腾讯游戏安全技术竞赛初赛记录

    因为想要去腾讯实习,所以参加了今年的腾讯游戏安全技术竞赛,这个比赛赢了会有一个实习的绿色通道.选了数据分析方向里面的机器学习. 初赛题目很有趣,关于LOL(英雄联盟)的代练检测. Moba游戏常见的5 ...

  3. LOL代练检测——2019腾讯游戏安全技术竞赛决赛记录

    决赛去了深圳,过了几天吃喝全包的生活,感觉快爱上腾讯和深圳了.虽然最后没有拿到名词-- 进决赛的一共有20多个人,数据分析方向一共8个,其中机器学习仅有4个.我以为决赛会有一个不太一样的题目背景,后来 ...

  4. 2018腾讯游戏安全技术竞赛Android 组决赛第一轮

    本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途.转载请注明出处,禁止未经许可将本博客内所有内容转载.商用. "横看成岭侧成峰,远近高低各不同" ...

  5. 2018年腾讯游戏安全技术竞赛进阶版writeup

    本来去年对比赛印象不错,所以今年还是在一堆事情的情况下挤了点时间强行通宵做了一下,题目本身还行,不过题目各种出错,主办方反馈极度慢也是无话可说. 最后本来是打算等比赛结果公布后抽空好好整理下把 wri ...

  6. 2020腾讯游戏年度发布会

    这篇博客整理下6.27的腾讯游戏发布会: 这次的发布会,我也没有完全看,虽然发布会中有很多耳熟能详的游戏,但是鉴于之前网易游戏的发布会,这次我只是特地来看<鸿图之下>. 这次的发布会里面不 ...

  7. 如何打造高并发互动小程序,护航腾讯游戏年度发布会?

    导语 | 2020腾讯游戏年度发布会以线上直播的形式进行,区别于往年的线下toB模式,线上直播面对的是所有玩家,所以在直播内容.直播落地等方面,都要考虑如何做得更加toC.参与量如此大.互动如此多.内 ...

  8. 【竞赛方案】2020腾讯广告算法大赛:高分进阶

    写在前面 最近腾讯赛分享成为"Coggle数据科学"的主推文章,从筹备竞赛到逐步上分之路的分享,助力大家取得优异成绩.当然,这也将延续到大赛结束.持续关注Coggle,大家一起学起 ...

  9. 【竞赛经验分享】2020腾讯广告算法大赛:如何突破分数瓶颈?

    写在前面 期待已久的2020腾讯广告算法大赛终于开始了,本届赛题"广告受众基础属性预估".本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!! 报名链接:https ...

最新文章

  1. 水稻微生物组时间序列分析2b-散点图拟合
  2. android23 imei 权限,android------关于API 23的权限问题
  3. 动态可订制属性的 PropertyGrid(转载)
  4. Eclipse开发C/C++之使用技巧小结,写给新手
  5. 【自定义控件】c#winform自定义控件实现标签控件
  6. 求求你把输入法调小一点... | 今日最佳
  7. 三人表决器_数电小实验之三人表决器
  8. 大数据和BI商业智能有何区别?有何相关?
  9. Linux下Gcc生成和使用静态库和动态库详解(转)
  10. sampleFactory(女娲造人)
  11. Ubuntu16.04 安装Teamviewer
  12. JDK6中synchronized优化之自旋锁、锁擦除、锁粗化
  13. Activiti6自学之路(一)—— Activiti6介绍
  14. Graphene图数据建模工具
  15. 点云配准ICP算法推导,SVD分解
  16. 高德地图自定义镂空区域
  17. 微信小程序---倒计时
  18. 机器学习数据挖掘笔记_18(PGM练习二:贝叶斯网络在遗传图谱在的应用)
  19. 稀疏矩阵CSR存储的C++实现
  20. Nginx 从入门到实践,万字详解

热门文章

  1. MySQL分组后取每一组第N条数据
  2. 商品图片放大镜的前端案例
  3. 服务器三块硬盘raid0,存储入门三步曲1——容量之王RAID0
  4. 超图hypergraph
  5. JVM底层原理+四大垃圾回收算法详解-周阳老师
  6. linux看视频安装flash-解决慕课上播放时code7的问题
  7. Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation.MapperScan.factoryBe
  8. 四大内伤造就80后创业高失败率
  9. 免费SEO外链,轻松提升网站排名!
  10. 文件上传下载 Content-type 设置整理