arrow
返回

Compile-time code virtualization for android applications

delete2020-07-01
delete3
delete
OA
AI
Y
Yujie Zhao
Z
Zhanyong Tang *
G
Guixin Ye
D
Dongxu Peng
D
Dingyi Fang
X
Xiaojiang Chen
Z
Zheng Wang
DOI:10.1016/j.cose.2020.101821delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
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. (C) 2020 Elsevier Ltd. All rights reserved.
Keyword:
Android packer
Code virtualization
Compiler
LLVM
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

C
Computers and Security
IF:
5.4
论文数:
4.6K
被引数:
1.4W

机构

N
northwest university xi'an
学者数:
1.8W
论文数: 1.2W
被引数: 22
U
university of leeds
学者数:
3.6W
论文数: 3.3W
被引数: 45
引用论文

引用论文

err分享
err收藏
err分享
err收藏
The Common Representative Intermediates Mechanism Version 2 in the United Kingdom Chemistry and Aerosols Model
err2021-05-07
err0
errOAAI
errS. Archer‐Nicholls; N. L. Abraham; Y. M. Shin; J. Weber; M. R. Russo; D. Lowe; S. R. Utembe; F. M. O'Connor; B. Kerridge; B. Latter; R. Siddans; M. Jenkin; O. Wild; A. T. Archibald
err分享
err收藏
Contribution of different regions of the prefrontal cortex and lesion laterality to deficit of decision-making on the Iowa Gambling Task
err2017-02-01
err0
PREAI
errRiadh Ouerchefani; Naoufel Ouerchefani; Philippe Allain; Mohamed Riadh Ben Rejeb; Didier Le Gall
err分享
err收藏
Exploiting Binary-Level Code Virtualization to Protect Android Applications Against App Repackaging利用二进制级代码虚拟化保护Android应用程序免受应用程序重新打包
err2019-01-01
err4
PREAI
errHe, Zhongkai; Ye, Guixin; Yuan, Lu; Tang, Zhanyong; Wang, Xiaofeng; Ren, Jie; Wang, Wei; Yang, Jianfeng; Fang, Dingy; Wang, Zheng
err分享
err收藏
Invalidating Analysis Knowledge for Code Virtualization Protection Through Partition Diversity
err2019-01-01
err1
PREAI
errWang, Wei; Li, Meng; Tang, Zhanyong; Wang, Huanting; Ye, Guixin; Wang, Fuwei; Ren, Jie; Gong, Xiaoqing; Fang, Dingyi; Wang, Zheng
err分享
err收藏
没有更多内容