摘要
提出了一种基于符号执行的控制流图提取方法,该方法为原生库中的函数提供了符号执行环境,对JNI函数调用进行模拟,用约束求解器对符号进行求解。实现了控制流图提取原型系统CFGNative。实验结果表明,CFGNative可准确识别样例中所有的JNI函数调用和原生方法,并能够在可接受的时间内达到较高的代码覆盖率。
A symbolic execution based method was proposed to automatically extract control flow graphs from native libraries of Android applications. The proposed method can provide execution environments for functions in native libraries, simulate JNI function call processes and solve symbols using constraint solver. A control flow graph extraction prototype system named CFGNative was implemented. The experiment results show that CFGNative can accurately distinguish all the JNI function calls and native methods of the representative example, and reach high code coverage within acceptable time.
作者
颜慧颖
周振吉
吴礼发
洪征
孙贺
YAN Hui-ying ZHOU Zhen-ji WU Li-fa HONG Zheng SUN He(Institute of Command Information System, PLA University of Science and Technology, Nanjing 210000, China)
出处
《网络与信息安全学报》
2017年第7期33-46,共14页
Chinese Journal of Network and Information Security
基金
国家重点研发计划基金资助项目(No.2017YFB0802900)
江苏省自然科学基金资助项目(No.BK20131069)~~