在网上很少看到对游戏安全的介绍,之前自己也并不清楚关于游戏安全的技能需求到底有哪些。
因为实习的原因,最近也逐渐的了解了一些有关游戏安全方面的知识,至今都还记得当时面试官问了我一个这样的问题:
能说说你对游戏安全的理解么?它和你学习的逆向有什么关系和区别?
呃,当时就愣住了,想了想觉得 游戏那块应该更看重HOOK技术,注入技术,外挂自身的隐藏技术,已经一些驱动保护方面的。应该是以逆向作为基础,但可能对游戏核心算法的逆向方式与常规的不一样吧。
的确当时这个问题回答的不是很好,因为一直认为自己分到了客户端安全那块,就没怎么准备游戏这块了。
后来拿到offer后,也开始接触到相关知识,慢慢了解到其中的不同。
首先在招聘中这样写到(公司和相应薪酬不便透露)
社会招聘
职位描述:
. 负责网络游戏安全技术评测;
. 负责网络游戏木马、外挂等安全问题技术分析;
. 负责网络游戏安全保护方案开发和维护。职位要求:
. 熟悉windows系统原理;
. 熟悉C/C++语言,有超过一年使用开发经验;
. 熟悉汇编语言,能够熟练阅读和理解反汇编代码;
. 熟悉OD/WINDBG/IDA等反编译或调试工具;
. 对网络游戏和Windows底层研究有浓厚兴趣;
. 有Windows木马、病毒或游戏外挂相关研究者优先。学历要求:本科(技术过硬可适当放宽要求)
实习生招聘
- 熟悉windows/安卓/IOS系统原理;
- 熟悉C/C ++语言,有超过一年使用开发经验;
- 熟悉汇编语言,能够熟练阅读和理解反汇编代码;
- 熟悉OD/WINDBG/IDA等反编译或调试工具;
- 对网络游戏和Windows底层研究有兴趣;
可以看到游戏安全这块确实确实以逆向为核心,但又不仅仅局限于逆向。
具体来讲:
- 游戏安全,目标是游戏,所以对游戏需要正向的了解。(设计模式、系统架构、网络模型、游戏引擎等)
- 游戏安全,做的是安全,相关的安全技术需要了解。(调试、逆向、hook、patch、异常机制等)
- 游戏安全,游戏运行在操作系统上。对应的操作系统也需要了解。(内核,驱动,底层等)
而从当时面试过程中,的确问了我很多关于上面的问题,其中感觉对异常,壳,反调试,底层都很看重,当然也问了关于设计模式,STL迭代的一些问题。
下面是面试总结的传送门
纯属个人观点,有不当地方还请各位指正!