信息网络安全 ›› 2017, Vol. 17 ›› Issue (2): 22-28.doi: 10.3969/j.issn.1671-1122.2017.02.004

• • 上一篇    下一篇

一种基于指令虚拟化的代码保护模型

杜春来1,2, 孔丹丹1(), 王景中1, 谭兴邦1   

  1. 1.北方工业大学信息安全实验室,北京100144
    2.中国科学院计算技术研究所,北京 100190
  • 收稿日期:2016-12-02 出版日期:2017-02-20 发布日期:2020-05-12
  • 作者简介:

    作者简介: 杜春来(1975—),男,河北,讲师,博士,主要研究方向为信息安全;孔丹丹(1990—),女,河南,硕士研究生,主要研究方向为信息安全;王景中(1962—),男,内蒙古,教授,硕士,主要研究方向为信息安全;谭兴邦(1995—),男,内蒙古,硕士研究生,主要研究方向为信息安全。

  • 基金资助:
    国家自然科学基金[61371142];计算机科学与技术学院学科建设优势学科培育项目[XN078]

A Code Protection Model Based on Instruction Virtualization

Chunlai DU1,2, Dandan KONG1(), Jingzhong WANG1, Xingbang TAN1   

  1. 1. Information Security Lab, North China University of Technology, Beijing 100144, China
    2. Institute of Computing Technology, Chinese Academy of Science, Beijing 100191, China
  • Received:2016-12-02 Online:2017-02-20 Published:2020-05-12

摘要:

当前软件的破解与盗版不仅给使用者带来巨大安全隐患,同时也给软件开发者造成巨大损失。为了对抗逆向工程对软件进行分析、破解,增加攻击者对代码的逆向分析难度,需要一种有效的方法对代码进行保护。指令虚拟化是使用自定义的虚拟指令集替换原生指令集以达到软件保护目的的技术。针对目前的软件保护问题,文章提出一种基于指令虚拟化的代码防护模型,使用自定义的虚拟指令集替换受保护的原生指令,虚拟重构解释执行原关键代码,剥离原生指令与上下文环境之间的显式关联。实验表明,该模型能够有效对抗逆向分析,达到保护软件代码的目的。

关键词: 软件保护, 指令虚拟化, 逆向分析

Abstract:

Currently, software cracking and piracy not only brings great hidden troubles for user's safety, but also brings huge losses for software developers. In order to resist the reverse engineering to analyze and crack the software and increase the difficulty of attackers’ reverse analysis to the codes, an effective method to protect the code instructions is needed. Instruction virtualization technology achieves the purpose of software protection by using custom virtual instruction set to replace the native instruction set. According to the present software protection problems, this paper puts forward a code protection model based on the instruction virtualization, using custom virtual instruction set to replace the protected native instructions, reconstructing virtual environment to implement the original key codes by interpretation, and stripping out the explicit association between native instructions and context. Experimental tests show that the model can effectively resist the reverse analysis and achieve the purpose of protecting the software codes.

Key words: software protection, instruction virtualization, reverse analysis

中图分类号: