第三方库是Android应用程序的重要组成部分.在对应用进行基于重打包技术的安全增强或分析时,往往需要定位第三方库中的一些特定函数,此时需要将第三方库源码中的函数映射到目标应用反汇编代码中,以找到其对应的位置.在实际工作中,很多应用经过了代码混淆,这给定位第三方库函数带来了挑战.在经过混淆处理的应用程序反汇编代码中,大部分可供定位的特征被消除,代码也变得晦涩、难以分析.在缺少线索的情况下,从庞大的代码空间中定位到一个特定的函数十分困难.目前对混淆后应用进行的分析仅仅关注识别应用程序中包含了哪些第三方库,而没有更细粒度的函数级别的识别.文中提出了一种在混淆后的应用代码中定位第三方库中特定函数的方法.首先,对应用所用到的混淆器和混淆参数进行识别,从而将第三方库源码处理成与 目标应用相同混淆方式的代码,即混淆对齐;在此基础上,通过静态插桩在待定位的函数中引入查找特征,并抽取其混淆后的结构特征来从目标应用中最终识别出待定位的函数位置.实验结果表明,所提方法能以较高的正确率识别出 目标应用所使用的混淆工具及混淆参数,且能准确定位流行的混淆闭源应用中感兴趣的第三方库函数.