腾讯游戏安全实习总结与感悟

Posted by Qfrost on 2021-09-10
Estimated Reading Time 4 Minutes
Words 1.3k In Total
Viewed Times

时光荏苒,7月13日入职,9月10日离职,入职之时宛若昨日。

先说说总体感受吧。说实话,我是带着批判的偏见和苦修的决心来到这边的,因为来之前,听到了大量有关腾讯游戏安全的负面消息:加班严重、天天日VMP、当工具人、没入职就被分配任务、实习生也有OKR等等… 但是来了之后才发现,原来这么轻松啊(× 每天九点半上班,晚上吃完饭了基本就不会干活了,混到8点领个夜宵券就下班,日VMP倒是确实,但是日了才知道,日VMP就这啊、这不是有手就行(×,OKR就这么点这不是随便搞完(×。逆向逆不出了,会有导师们提供思路;代码写不出了,会有导师们教;甚至代码写错了自己找不到错在哪,都会有师傅手把手教你debug。 在饮食上有免费咖啡牛奶雪糕,晚餐也都是免费的牛排牛蛙火锅烤鱼。 反正总而言之,过的还是很轻松很快乐的,大把大把的时间都在自己学习,嗯嗯,就是带薪学习带薪养猪。

下面来分点说说这边的具体感受

  1. 重培养。从宏观上来说,很多地方招实习生都是招很多很多实习生然后没几个hc,硬养蛊,当廉价劳动力,但这边实习生招的很少,我们两个组算上我就两个实习生,而转正比例很大。从工作内容上来说,也不是作为廉价劳动力的工具人。第一个月的主要工作是外挂分析并提出对抗意见,分析了一段时间后才发现,交给实习生分析的这些外挂其实都是已经能被反作弊系统覆盖到的,Leader Mentor都非常清楚这些外挂攻击的点和实现原理,而交给我们分析唯一的目的就是培养,降维一下,我们产出的工作成果对部门几乎没有收益,这些任务单纯的只是培养实习生罢了。
  2. 重效率。其实这点在哪都一样,而在腾讯这边的体现就是弹性工作时间。大致就是下班时间自己定,只要完成当日特别紧急的任务后就可以下班,而上班期间如果有什么事情群里说一声就可以随时离开。这就出现了技术好的人每天只需要花比较少的时间就可以完成工作然后做自己的事情或者下班,而能力较弱的就需要加班熬夜来勉强完成工作这种情况。不过这种情况在哪都是一样,就好比小时候成绩好的孩子白天就能完成家庭作业晚上回去玩或者学其他的东西,而成绩一般的同学则需要投入整个晚上或者熬夜才能勉强完成作业。
  3. 重方法论。在入职沟通的时候,总监曾问我来实习的主要目的是什么。我给出的回答是随着学习深度的提升,自学碰壁绕弯越来越多,希望来这边能学习更多技术、了解一线工作,帮助我对这一行业更加了解。总监则希望我要更重视认知上的提升,不为学技术而学技术,而是找到自己与一线大牛的差距,着重聚焦个人能力与视野比重视技术能力更可贵。而在平时的工作中,Leader也经常与我强调要注意认知上的问题,思考 what、why、how

然后来说说实习期间学到了什么

  1. 不一样的逆向思路与方法。之前的逆向经历基本都是CTF,CTF的逆向有个特点,就是程序小,所见即所得,基本需要从头到尾将程序完整看一遍且看懂才能解得flag。而来到这边分析的大量的外挂,外挂通常都是拉满混淆拉满强壳的,只能从关键点入手分析,和CTF的逆向分析相差较大。
  2. 游戏引擎学习与逆向。之前分析游戏基本是野路子,CE搜搜搜,然后回溯,然后写出偏移表达式。但是来了这边学了很多引擎层面的分析方法,比如U3D的Mono Dump、Il2cpp Dump,UE4的反射。从引擎的角度可以高效率的定位到关键变量函数。
  3. 游戏保护与其分析方法。在这边接触到了很多游戏的安全方案,也学习了很多隔壁产商的游戏保护,同时也在大家的指导下自己劫持剥离了某家游戏保护。
  4. 开发能力提高。来这边有很多的空余时间,敲了很多代码,尤其是Windows驱动,也学了些C++高级特性、Go语言等。

最后贴个个人整理的技能树
技能树.png

两个月宛如做了一场梦,习惯了打工的生活,醒来之时,仍身在校园