一种在软件保护装置中实现软件保护的方法与装置制造方法及图纸

技术编号:2841204 阅读:196 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种在软件保护装置中实现软件保护的方法,用于已实现X86虚拟机的软件保护装置,包括:在有待保护的程序的可执行文件中挑选部分指令段;将该指令段中使用的存储单元名称转换为软件保护装置虚拟机的存储单元名称;将转换后的指令段写入软件保护装置中,同时去除原被选中指令段,并写入通讯指令;运行被保护的程序时,当运行到写入软件保护装置的指令段时,进行下列步骤:将写入软件保护装置指令段涉及的存储单元内容,从主机映射到软件保护装置虚拟机对应的存储单元;软件保护装置虚拟机运行该指令段;运行后,软件保护装置虚拟机将存储单元中的内容反映射到主机中对应的存储单元。本发明专利技术同时公开一种实现该方法的装置。

【技术实现步骤摘要】

本专利技术涉及软件保护技术,具体地说涉及一种在软件保护装置中实现软件保护的方法。本专利技术同时提供一种实现该方法的装置。
技术介绍
现有的软件保护装置保护软件的原理是,将软件中的核心程序写入软件保护装置,并且不在主机上保留这一部分程序的副本。例如软件加密锁就是一种典型的软件保护装置,软件加密锁本身是一个具有程序处理和一定存储能力的硬件,并具有并口或者通用串行总线接口与主机相连接,其主要作用是用于软件的授权使用和防止被非法复制发行。但现有的软件加密锁等软件保护装置可以运行C51指令却不能够运行X86指令,所以在将运行在X86系列计算机上的程序写入软件保护装置时,需将程序的源代码在Keil C51开发环境下编译成.hex文件,再将.hex文件转换成bin文件,bin文件是包含C51指令的,从而可以直接将bin文件写入到软件保护装置。但是若源程序不是由C语言编写的,需要将源程序中这一部分程序先改写成C语言的程序,再按照上述步骤来完成。在源程序相应位置,需要开发人员编写一个与源代码同种编程语言的通讯,以便源程序运行到这一位置时,能够寻找到软件保护装置,调用软件保护装置中的程序,完成整个程本文档来自技高网...

【技术保护点】
一种在软件保护装置中实现软件保护的方法,用于已实现X86虚拟机的软件保护装置;其特征在于,包括:在有待保护的程序的可执行文件中挑选部分指令段,作为写入软件保护装置的指令段;将被挑选的指令段中使用的主机内存地址、寄存器名、堆栈 地址等转换为软件保护装置虚拟机的内存地址、寄存器名、堆栈地址;将转换后的指令段写入所述软件保护装置中,同时去除原被选中指令段,并写入通讯指令;运行所述被保护的程序时,当运行到写入软件保护装置的指令段时,进行下列步骤: 将所述写入软件保护装置指令段涉及的内存、寄存器、堆栈的内容,从主机映射到所述软件...

【技术特征摘要】
1.一种在软件保护装置中实现软件保护的方法,用于已实现X86虚拟机的软件保护装置;其特征在于,包括在有待保护的程序的可执行文件中挑选部分指令段,作为写入软件保护装置的指令段;将被挑选的指令段中使用的主机内存地址、寄存器名、堆栈地址等转换为软件保护装置虚拟机的内存地址、寄存器名、堆栈地址;将转换后的指令段写入所述软件保护装置中,同时去除原被选中指令段,并写入通讯指令;运行所述被保护的程序时,当运行到写入软件保护装置的指令段时,进行下列步骤将所述写入软件保护装置指令段涉及的内存、寄存器、堆栈的内容,从主机映射到所述软件保护装置虚拟机对应的内存、寄存器、堆栈;所述软件保护装置虚拟机运行该指令段;运行完毕后,软件保护装置虚拟机将上述内存、寄存器、堆栈中的内容反映射到主机中对应的内存、寄存器、堆栈。2.根据权利要求1所述的方法,其特征在于,所述通讯程序可以写在所述去除指令段的原位置。3.根据权利要求1所述的方法,其特征在于,在原去除指令段的位置处写入调用通讯程序的指令,该通讯程序写在被保护软件可执行文件的其他位置。4.根据权利要求1所述的方法,其特征在于,通讯程序写在被保护软件的起始地址处,调用时,通讯程序填充原删除指令段的位置。5.根据权利要求1-4任一项所述的方法,其特征在于,所述主机内存地址、寄存器名、堆栈地址转换为软件保护装置虚拟机中的内存地址、寄存器名、堆栈地址时,记录两者之间的对应关系;在所述通讯指令中,记录该对应关系。6.根据权利要求1-4任一项所述的方法,其特征在于,所述映射是将主机中内存、寄存器、堆栈的内容写入软件保护装置虚拟机对应的内存、寄存器、堆栈中,所述反映射则与上述过程相反。7.根据权利要求1-4任一项所述的方法,其特征在于,所述在有待保护的程序中挑选部分指令段的过程,由计算机根据程序段的重要性自动进行选择;或者由人工选择。8.根据权利要求1-4任一项所述的方法,其特征在于,所述软件保护装置虚拟机的寄存器名采用与主机相同的寄存器名,此时,只需将所挑选的程序段中的主机内存地址转换为软件保护装置虚拟机的内存地址。9.一种实现软件保护的装置,包括已实现X86虚拟机的软件保护装置,其特征在于,还包括选...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1