[发明专利]一种基于静态分析获取HbuilderApp调用图的方法在审
| 申请号: | 201710621763.1 | 申请日: | 2017-07-26 |
| 公开(公告)号: | CN107301347A | 公开(公告)日: | 2017-10-27 |
| 发明(设计)人: | 张卫丰;汤健;周国强 | 申请(专利权)人: | 南京邮电大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 南京知识律师事务所32207 | 代理人: | 高娇阳 |
| 地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 静态 分析 获取 hbuilderapp 调用 方法 | ||
1.一种基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述方法基于静态分析、自动获取Hbuilder App的每一条完整的调用链路信息,首先使用编写Java代码,自动执行命令调用相关的反编译工具将APK解压反编译,根据应用应有的特征筛选出相应的Hbuilder App;然后使用WALA对Java部分和JavaScript部分的处理使其分别生成Native部分控制流图和Webview部分的控制流图;然后通过exec()方法的执行建立JavaScript-to-Java链路,同时模拟原来的接口生成全新的跨语言调用接口,找到回调函数的位置,建立Java-to-JavaScript链路,生成完整的Hbuilder App调用链路图。
2.根据权利要求1所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,包括如下步骤:
(1)获取Hbuilder App:将Hybrid App从APK格式转化为.rar格式并进行解压,通过AXMLPrinter2.jar包反编译AndroidManifest.xml,根据反编译后AndroidManifest.xml中的关键词区分,找到Hbuilder App;
(2)分析Hbuilder App的Native部分,生成Java部分的控制流图;
(3)分析Hbuilder App的Webview部分,生成JavaScript部分的控制流图;
(4)结合Hbuilder App的Webview部分和Native部分的控制流图生成完整的调用图。
3.根据权利要求2所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述步骤(2)分析Hbuilder App的Native部分,生成Java部分的控制流图,首先使用makeJavaBinaryAnalysisScope()方法将java代码转为二进制形式存储到内存中,并解析一些基本的数据类型;再用ClassHierarchy里面的make()方法进行层次结构分析,在eclipse上生成可视化的类型层次结构,将程序所有的入口点带入AnalysisOptions()方法,经过makeZeroCFABuilder()和makeCallGraph()方法生成应用软件最终的Native部分有关Java代码的控制流图。
4.根据权利要求2所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述步骤(3)分析Hbuilder App的Webview部分,生成JavaScript部分的控制流图,首先处理JavaScript代码生成更加符合规则的JavaScript子集,然后调用common包里的Ast.js进行操作生成抽象语法树,最后调用cfg.js,调用抽象语法树的根节点作为入口参数生成控制流图。
5.根据权利要求2所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述步骤(4)结合Hbuilder App的Webview部分和Native部分的控制流图生成完整的调用图,首先JavaScript部分通过执行exec()方法传递流到Java部分的Excute()方法,当请求本地资源被执行后,Java部分调用的经过exec()方法的两个回调函数success和fail中的一个,然后转移流到JavaScript部分,生成完整的JavaScript-to-Java-to-JavaScript调用图。
6.根据权利要求2所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述步骤(1)将Hybrid App从APK格式转化为.rar格式并进行解压后根据是否含有html页面循环判断是否为Hybrid App,是则继续下一步,不是则丢弃。
7.根据权利要求2所述基于静态分析获取Hbuilder App调用图的方法,其特征在于,所述步骤(1)反编译过程中还使用dex2jar,将APK里面的classes.dex文件转化为classes.jar包,并使用jd-gui查看生成的classes.jar包里面的Java代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710621763.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种触摸屏解锁方法
- 下一篇:一种微电路IC读头射频系统





