博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《游戏安全——手游安全技术入门》读后知识点提炼
阅读量:6103 次
发布时间:2019-06-20

本文共 1679 字,大约阅读时间需要 5 分钟。

  hot3.png

《游戏安全——手游安全技术入门》读后知识点提炼

@(读书)[外挂|手游]


[TOC]


前言

下文中有“[联想]”标志的,代表从知识点中的联想。

下文均为知识点提炼,所以不一定是书中原话。不提炼调试工具相关知识点。不提炼有关数据加密的知识点。至于Hook、游戏进程模块信息获取、反调试技术可以直接查书中相应的章节。

知识点

  • P3. 某飞机类游戏,删除一张敌机子弹资源图片,造成敌机无法发射子弹,从而实现了类似无敌的功能。
  • P4. 某跑酷游类戏,把简单关卡配置文件覆盖困难关卡配置文件实现游戏场景简单化。
  • P6. 在Android系统中,根据"/proc/<pid>/maps"文件遍历具有 r 标识的模块,然后通过读写"/proc/<pid>/mem"文件达到和注入式修改一样的效果。
  • P7. 服务端对接收数据没有处理好就直接转发给另一个客户端,很容易让恶意用户在协议中构造特殊数据,令其他客户端崩溃。[联想] 我能想到这么一种场景,服务端下发的数据中有其他客户端的IP,在这里将其他客户端称为目标客户端,恶意用户首先篡改发送给服务端的数据包,篡改后的数据包中的数据结构是客户端无法解析的非法数据,然后发送数据包时将发送IP更改为目标客户端的IP,那么服务端就会以为是目标客户端发送过来的请求,然后会将响应的数据发送给目标客户端,目标客户端接收到的数据中有恶意用户构造的非法数据,在解析非法数据时程序崩溃。
  • P17. 主流游戏加速器针对不同的引擎修改了不同Libc.so的相关函数,例如:gettimeofday、clock_getime。针对Libc.so模块的导出函数可以利用导入表Hook的方式。
  • P17. 按键精灵类:在Android上可通过Instrumentation接口的sendPointerSync函数实现;也可通过具备Root权限的驱动程序调用Runtime.getRuntime().exec()执行sendevent等命令。[联想] ,这篇文章介绍了Android自带的getevent工具,该工具可以监控触摸屏的事件,对应的还有一个sendevent工具。
  • P17~P18. Cocos2D游戏代码逻辑保存在so中;Unity 3D游戏的C#脚本保存在/assets/bin/Data/Managed/Assembly-CSharp.dll中,可以通过ildasm等工具转换为IL代码进行修改操作;iOS平台代码都在App的bin文件中。
  • P76. MMORPG游戏通常是强服务器逻辑。
  • P77. FPS类游戏需要实时性很强,不可避免地要把许多逻辑放到本地。
  • P78~P79. ARPG相对于MMORPG而言更强调实时性,由于对实时性要求更高,ARPG游戏难免会把碰撞检测、血量、伤害等重要逻辑放到本地,以达到“即时”“爽快”的效果。
  • P79. 卡牌类游戏,不排除制作团队奖逻辑实现于本地客户端的情况。
  • P80. RTS类游戏对实时性要求不高,但不排除有些团队将其做成强本地逻辑架构。
  • P80. 消除类游戏逻辑简单,不排除制作方把许多逻辑放在本地。
  • P81. MOBA类游戏对实时性要求很高,但更重要的是要有公平性。根据这样的要求,游戏务必做成强服务器逻辑,否则无论本地保护做得多好,都有被攻破的风险。
  • P82. 跑酷类游戏一大特点在于角色与障碍物碰撞,碰撞对实时性的要求很高,碰撞逻辑一般只能放在本地,因此对碰撞的检测需要做一些服务器校验。
  • P88. 一般游戏PVE模式是弱联网的,PVP模式是强联网的。
  • P92. FPS游戏中经常遇到的透视外挂,它和渲染引擎的相关性较大。该类型外挂的核心都是关闭引擎的z-buffer,导致在墙壁等阻碍物后面的人物也能被渲染出来,从而实现透视外挂的效果。
  • P100~P104. 手游风险。
  • P254. 图16.3,Android "/proc"文件系统的文件信息。
  • P279. C++游戏的逆向分析方法。

转载于:https://my.oschina.net/ibuwai/blog/708655

你可能感兴趣的文章
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
高利率时代的结局,任重道远,前途叵测
查看>>
Debian 6.05安装后乱码
查看>>
欢迎大家观看本人录制的51CTO精彩视频课程!
查看>>
IntelliJ IDEA中设置忽略@param注释中的参数与方法中的参数列表不一致的检查
查看>>
关于软件开发的一些感悟
查看>>
uva 10806
查看>>
纯CSS3绘制的黑色图标按钮组合
查看>>
Linux中环境变量文件及配置
查看>>
从0开始学Flutter
查看>>
mysql操作入门基础之对数据库和表的增删改查
查看>>
IIS负载均衡
查看>>
分布式事务,EventBus 解决方案:CAP【中文文档】
查看>>
Linux下的CPU性能瓶颈分析案例
查看>>
spring mvc入门
查看>>
2012在数据库技术会议上的讲话PPT打包
查看>>
【Android】 TextView设置个别字体样式
查看>>
python svn
查看>>
raise语句
查看>>
sequence2(高精度dp)
查看>>