首页> 外文期刊>Computers & Security >Compile-time code virtualization for android applications
【24h】

Compile-time code virtualization for android applications

机译:Android应用程序的编译时间代码虚拟化

获取原文
获取原文并翻译 | 示例
           

摘要

Infringing intellectual property by reverse analysis is a severe threat to Android applications. By replacing the program instructions with virtual instructions that an adversary is unfamiliar with, code obfuscation based on virtualization is a promising way of protecting Android applications against reverse engineering. However, the current code virtualization approaches for Android only target at the DEX bytecode level. The DEX file with the open file format and more semantic information makes the decode-dispatch pattern easier to expose, which has been identified as a severe vulnerability of security and can be exploited by various attacks. Further, decode-dispatch interpretation frequently uses indirect branches in this structure to introduce extra overhead. This paper presents a novel approach to transfer code virtualization from DEX level to native level, which possesses strong security strength and good stealth, with only modest cost. Our approach contains two components: pre-compilation and compile-time virtualization. Pre-compilation is designed for performance improvement by identifying and decompiling the critical functions which consume a significant fraction of execution time. Compile-time virtualization builds upon the widely used LLVM compiler framework. It automatically translates the DEX bytecode into the common LLVM intermediate representations where a unified code virtualization pass can be applied for DEX code. We have implemented a working prototype Dex2VM of our technique and applied it to eight representative Android applications. Our experimental results show that the proposed approach can effectively protect the target code against a state-of-the-art code reverse engineering tool that is specifically designed for code virtualization, and it achieves good stealth with only modest cost.
机译:通过反向分析侵犯知识产权是对Android应用程序的严重威胁。通过用虚拟指令替换程序指令,即基于虚拟化的代码混淆是保护Android应用于反向工程的有希望的方法。但是,当前代码虚拟化方法对于Android仅在DEX字节级级别的目标。具有开放文件格式和更多语义信息的DEX文件使得解码调度模式更容易公开,这已被识别为安全性的严重漏洞,并且可以通过各种攻击利用。此外,解码调度解释常常使用该结构中的间接分支来引入额外的开销。本文提出了一种新的方法,将代码虚拟化从DEX水平转移到原生水平,这具有强大的安全实力和良好的隐形,只有适度的成本。我们的方法包含两个组件:预编译和编译时间虚拟化。通过识别和分解消耗大部分执行时间的关键功能,设计了预编译以进行性能改进。编译时间虚拟化在广泛使用的LLVM编译器框架上构建。它自动将DEX字节码转换为常见的LLVM中间表示,其中可以应用统一代码虚拟化通行证以用于DEX代码。我们已经实现了我们技术的工作原型DEX2VM,并将其应用于八个代表性的Android应用程序。我们的实验结果表明,该方法可以有效地保护目标代码,用于针对专门为代码虚拟化设计的最先进的代码逆向工程工具,并且它仅实现了良好的秘密性。

著录项

  • 来源
    《Computers & Security》 |2020年第7期|101821.1-101821.16|共16页
  • 作者单位

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computer Science and Technology Northwest University Xi'an 710127 China;

    School of Computing University of Leeds. Leeds LS29JT U.K.;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    Android packer; Code virtualization; Compiler; LLVM;

    机译:Android Packer;代码虚拟化;编译器;llvm.;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号