当前位置:首页 > 报告详情

A3--陈立平--基于逆向Hook的终端质量能力建设.pdf

上传人: 张** 编号:181275 2024-10-01 46页 8.29MB

1、基于逆向Hook的终端质量能力建设陈立平阿里巴巴测试开发专家陈立平阿里巴巴 测试开发专家l 1688终端质量负责人l 负责1688终端质量保障平台建设l 负责终端全链路质量能力建设 目录C O N T E N T S01.议题背景02.解决思路03.关键技术方案04.技术创新点05.价值和收益06.未来展望07.总结议题背景0101.议题背景一线测试工程师视角下的App状态01.议题背景主要的测试手段01.议题背景能不能做 可测性问题?UI层业务层基础层展示与交互业务API业务逻辑容器图片文件网络数据缓存 日志统计安全路由做得快不快 效率问题?01.议题背景统一导航库有个大升级!01.议题背景

2、做个埋点自动化验证的功能,客户端能不能配合改造一下?我很想帮你,但是这样会影响原有埋点上报基础功能,风险太大了!01.议题背景客户端API怎么做异常测试?数据如何注入?解决思路0202.解决思路统一导航升级(基础库)可以调用客户端内部API埋点自动验证可以拦截客户端内部API的调用,获取入参和结果异常测试可以修改客户端内部API的调用高效使用成本低无侵入性客户端逆向Hook工具02.解决思路1、可以监控API函数调用过程,入参、出参、堆栈 运行时监控(埋点验证)2、修改入参,调用函数,观察结果 API测试3、修改函数调用返回值 异常mock 测试一个强大的逆向动态(运行时)分析工具,无代码入侵

3、、使用外部动态注入方式、同时支持Android 和 iOS02.解决思路 Hook 函数 修改函数参数 调用函数02.解决思路关键技术方案0303.关键技术方案 测试工程方案设计03.关键技术方案 注入式(Injected)-设备需要Root或越狱,直接注入脚本 集成式(Embedded)-无需越狱,但需要在App集成 frida-gadget 共享库 预加载式(Preloaded)-在集成式的基础上,App预加载注入的脚本,成本更高测试包构建方案选型03.关键技术方案 集成式构建方案03.关键技术方案 构建流程AndroidiOS03.关键技术方案 测试工程方案设计03.关键技术方案 Pyt

4、hon API,but JavaScript debugging测试工程方案设计 语言Frida 的核心是用 C 编写的,并将QuickJS注入目标进程 JS 可以完全访问内存、挂接函数甚至调用进程内的函数Python和目标进程内运行的 JS 之间的可以通过消息(双向)通信运用 Python 和 JS 可以调用无风险的 API 进行快速开发目标进程Frida-coreQuickJSJS HOOK Pythonmsg03.关键技术方案 测试工程方案设计 Hook 函数 修改函数参数 调用函数session.create_script()函数的入参可以是一个文件路径,可以将JS脚本分离出来frid

5、a-compile src/index.ios.ts-o./agent_ios.js-c03.关键技术方案 Android 调用函数举例https:/frida.re/docs/javascript-api/#java03.关键技术方案 iOS 调用函数举例https:/frida.re/docs/javascript-api/#objc03.关键技术方案 多设备连接03.关键技术方案 测试工程方案设计03.关键技术方案 统一导航库有个大升级!Hook 导航修改的底层方法API,使其可被测试脚本调用 使用自动化流程,快速验证03.关键技术方案 做个埋点自动化验证的功能,客户端能不能配合改造一下

6、?无需客户端改造 拿到埋点信息进行自动化校验03.关键技术方案 客户端API怎么做异常测试?数据如何注入?录制请求 数据变异 注入回放03.关键技术方案 平台化方案设计技术创新点04l采用逆向hook的思路解决质量问题l解决了终端底层基础库能力校验的可测性和效率问题l无代码侵入,复用性强 l操作细节上兼容UI操作、系统API、App API操作,整体操作性更加灵活多变,支持更加深入的场景模拟和校验能力04.技术创新点价值和收益0505.价值和收益1)接口异常自动注入稳定性回归

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了基于逆向Hook的终端质量能力建设。作者陈立平是阿里巴巴的测试开发专家,负责1688终端质量保障平台建设。文章首先讨论了当前终端质量测试中存在的问题,如测试手段的限制和埋点自动化验证的功能改造风险。接着提出了基于逆向Hook的解决思路,包括运行时监控、API测试和异常mock测试等。关键技术方案包括注入式、集成式和预加载式测试工程方案设计,以及Python API和JavaScript debugging的使用。这些技术方案可以提高测试的效率和稳定性,减少线上crash率,提升性能和埋点检测能力。未来的展望包括构建更加深入全面的测试体系,以及客户端侧故障演练工程。总结来说,本文提出了一种基于逆向Hook的终端质量测试方法,具有无代码侵入、操作灵活和复用性强的特点,能够显著提升终端质量测试的效率和稳定性。
"逆向Hook技术在终端质量保障中的应用有哪些优势?" "如何通过技术创新提高终端全链路质量能力?" "逆向Hook技术如何帮助解决客户端API的异常测试问题?"
客服
商务合作
小程序
服务号
折叠