【24h】

ReDex: Unpacking Android Packed Apps by Executing Every Method

机译:redex:通过执行每个方法打开Android包装的应用程序

获取原文

摘要

In recent years, Android commercial packers have been widely used to encrypt dex files of apps, making analysts and malware detection solutions hard to obtain the actual dex files for further analysis. Therefore, we propose a novel unpacking system named ReDex. ReDex uses Java reflection to execute all methods with forged arguments and collects the original instructions when the method is executing. Although apps may crash due to forged arguments, ReDex can collect its original instructions released by the commercial packer before the crash. Also, we design an exception/crash handling module, which can avoid most of the crashes and restart the unpacking process at the next method after the crash. The comparison with 2 state-of-the-art unpackers on 100 packed apps with source code and 140 wild packed apps shows that ReDex can unpack more apps. Besides, we conduct an experiment with 1,801 real-world apps packed by 7 representative packers. Of 21 million methods, ReDex can extract 19,239,743 (90.30%) methods. The exception/crash handling module effectively reduces the crash rate to 2.31%. In these packed apps, we find 4 interesting packing techniques. ReDex can deal with these packing techniques while 2 state-of-the-art unpackers cannot.
机译:近年来,Android商业包装商已被广泛用于加密应用程序的DEX文件,使分析师和恶意软件检测解决方案难以获得实际的DEX文件进行进一步分析。因此,我们提出了一个名为Redex的新型解包系统。 Redex使用Java反射来执行具有伪造参数的所有方法,并在执行方法时收集原始指令。虽然应用程序可能由于伪造参数而崩溃,但Redex可以在崩溃之前收集商业包装机发布的原始指令。此外,我们设计了一个例外/崩溃处理模块,可以避免大部分崩溃并在崩溃后在下一个方法中重新启动解包过程。与源代码和140个包装应用程序的100个包含的Apps上的2个最先进的Unpackers的比较显示,Redex可以解压缩更多应用程序。此外,我们进行了一个由7个代表包装商包装的1,801个现实世界应用程序进行实验。 2100万种方法,Redex可以提取19,239,743(90.30%)方法。例外/崩溃处理模块有效地降低了崩溃率至2.31%。在这些包装的应用中,我们发现4种有趣的包装技术。 Redex可以处理这些包装技术,而2个最先进的Unpackers不能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号