houdini编译机制探索.pdf

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Houdini编译机制探索 腾讯互娱 张玉璞 团队及个人介绍 腾讯互娱游戏安全团队,通过十余年游戏安全对抗经验积累,创建了覆盖游戏全场景、全周期、全 链路的游戏安全产品体系Anti-Cheat Expert (简称ACE),在外挂对抗、内容安全、反打金、账 号安全、黑产管控等领域建立起了专业的技术运营体系,为全部腾讯游戏保驾护航。 张玉璞,腾讯IEG业务安全部手游对抗负责人,腾讯安全技术专家。曾在盛大,淘宝等多家企业长期 从事游戏开发及二进制安全相关工作。2012年加入腾讯业务安全中心,2013年开始负责手游客户端 安全对抗的方案建设及团队管理工作,主导创建了手游客户端安全对抗团队及手游核心对抗方案。 从一次模拟器上的外挂对抗谈起 1 模拟器外挂的出现 Android游戏进程 1)模拟器上早期的外挂,与移动端外挂类似 2)模拟器外挂的出现,开始修改转译后的x86代码 ARM代 游戏数 码 据 2 安全方案如何应对? 1)模拟器上套用PC方案可行吗? Houdini 映射 2)模拟器中的移动端方案能够感知到x86代码吗? PC进程 X86代 游戏数 码 据 X86代码被Houdini映射进Android进程空间 以移动端方案校验X86代码成为可能 篡改 Houdini的前生今世 Houdini的设计目的是什么? 支持android应用在Intel CPU的手机上无缝应用 Houdini当前的应用 使用Intel CPU的移动端Android系统设备 当前各种主流模拟器 Houdini的技术特点 一切都是为了效率,尽可能只生成必要内容 Houdini作为一项Intel未公开发布的技术,基本对外没有相关技术资料 后续的Houdini技术分析全部基于Houdini 4版本 逆向分析的实例 校验模拟器的x86代码遇到的问题 1)飘忽不定的地址 2)时有时无的代码片段 3)不断变化的代码细节 猜想 飘忽不定的地址 猜想: JIT生成的形式 代码块间的跳转如何实现?直接彼此跳转?存在统一的管理? 时有时无的代码片段 猜想: 不是以函数为单位进行转译,转译代码块的划分原则又是什么? 不断变化的代码细节 猜想:X86寄存器为什么会变换?代码块以什么形式访问ARM寄存器内容 是否还有其他随机生成内容? 还有哪些未知内容? 猜想:如何判断未执行到的代码是哪部分?后续以何种机制生成? 未执行代码的生成是在原已生成代码块后拼接,还是独立生成? 分析的目标与方法 分析的目标:能够明确区分出Houdini执行环境,实现代码正确性比对 分析的方向: 1 基础的内存布局情况 2 代码块划分规则 3 Houdini代码块管理机制 4 控制流的机制 5 明确代码块结束位置 6 理清代码块内指令细节 分析Houdi

文档评论(0)

优选文档 + 关注
实名认证
内容提供者

专注于发布优质文档,喜欢的可以关注一下哦~

1亿VIP精品文档

相关文档