北京航空航天大学学报 ›› 2006, Vol. 32 ›› Issue (06): 721-724.

• 论文 • 上一篇    下一篇

基于加密和即时解密的软件保护

刘志成, 周伯生   

  1. 北京航空航天大学 计算机学院, 北京 100083
  • 收稿日期:2004-04-15 出版日期:2006-06-30 发布日期:2010-09-20
  • 作者简介:刘志成(1978-),男,河北景县人,博士生, lzc@buaa.edu.cn.

Software encryption and just-in-time decryption for software protection

Liu Zhicheng, Zhou Bosheng   

  1. School of Computer Science and Technology, Beijing University of Aeronautics and Astronautics, Beijing 100083, China
  • Received:2004-04-15 Online:2006-06-30 Published:2010-09-20

摘要: 通过加密来保护软件,是防止盗版者通过逆向工程理解程序的一种有效方式.传统加密保护方式,运行时解密开销大,又由于采用一次性解密方式,易受到攻击而直接从存储器中获得解密后的程序映像.提出了即时解密技术,摒弃了传统的一步解密的方式,在运行时通过即时解码器以函数为单位一步步揭开隐藏在软件中的秘密.仅对一次运行中必须的部分解密,使得攻击者难以获得完整的解密后程序,难以篡改并绕过未解密部分中的软件保护功能,增强了抗攻击性.在运行效果上,由于解密分散进行,就解决了启动延时长的问题.用基于一次一密加密技术,与对称密钥加密算法相比,进一步减少了运行时开销,使得该技术在目前处理器上可以流畅运行.该方法增强了基于加密的软件保护的实用性,增大了破解的难度.

Abstract: Software protection via encryption is an effective way to prevent software pirate from understanding the program by means of reverse engineering. Traditional software protection method via encryption has obvious runtime overhead and start up delay because of its one-time decryption prior to execution. Moreover, fully decrypted code can easily be obtained from memory. A novel approach, called just-in-time(JIT) decryption, was proposed. JIT decryption differs from traditional decryption method in that it decrypts only one function in a time and reveal the secret of the software step by step. The runtime JIT decipherator only decrypts called functions in a certain run of the program. The uncalled functions remain a secret for an attacker, where self-checking code can be hidden. So it is hard for an attacker to understand the entire program and thus hard to remove all the protecting code. Because decryption is scattered, the start up delay no longer exists. One-time pad based cipher further reduce the runtime overhead as compared with symmetric algorithms. JIT decryption makes encryption based software protection more applicable in practice and harder to attack.

中图分类号: 


版权所有 © 《北京航空航天大学学报》编辑部
通讯地址:北京市海淀区学院路37号 北京航空航天大学学报编辑部 邮编:100191 E-mail:jbuaa@buaa.edu.cn
本系统由北京玛格泰克科技发展有限公司设计开发