Abstract
Code virtualization, also called virtualization obfuscation, is a code obfuscation technique that protects software from malicious analysis. Unlike code packing or code encryption techniques, code virtualization does not restore the original code on the memory. However, because basic components of the structure are simple, if a virtualization structure is revealed statically, there is a limitation in that the analysis process is somewhat constant. In this paper, we propose Virtual Code Folding (VCF) as a new code virtualization technique. The proposed method reduces the amount of virtual code that is statically revealed by folding the virtual code inside a virtualization structure and enables the virtual code to be decoded by generating multiple diversified dispatchers. The folded virtual code is restored by the random key, and then fetched and decoded by the diversified dispatcher. This process makes it possible for VCF to effectively obfuscate correspondence between virtual code and handler code (i.e., code that performs real functionality) without significant performance overhead or strong assumptions.
Original language | English |
---|---|
Article number | 9151995 |
Pages (from-to) | 139161-139175 |
Number of pages | 15 |
Journal | IEEE Access |
Volume | 8 |
DOIs | |
Publication status | Published - 2020 |
Bibliographical note
Funding Information:This work was supported in part by the Samsung Research, Samsung Electronics.
Publisher Copyright:
© 2013 IEEE.
Keywords
- Code obfuscation
- code virtualization
- program diversity
- software protection
- virtualization obfuscation
ASJC Scopus subject areas
- General Computer Science
- General Materials Science
- General Engineering