发明名称 一种在软件保护装置中实现软件保护的方法与装置
摘要 本发明公开一种在软件保护装置中实现软件保护的方法,用于已实现X86虚拟机的软件保护装置,包括:在有待保护的程序的可执行文件中挑选部分指令段;将该指令段中使用的存储单元名称转换为软件保护装置虚拟机的存储单元名称;将转换后的指令段写入软件保护装置中,同时去除原被选中指令段,并写入通讯指令;运行被保护的程序时,当运行到写入软件保护装置的指令段时,进行下列步骤:将写入软件保护装置指令段涉及的存储单元内容,从主机映射到软件保护装置虚拟机对应的存储单元;软件保护装置虚拟机运行该指令段;运行后,软件保护装置虚拟机将存储单元中的内容反映射到主机中对应的存储单元。本发明同时公开一种实现该方法的装置。
申请公布号 CN100461200C 申请公布日期 2009.02.11
申请号 CN200610169582.1 申请日期 2006.12.22
申请人 北京飞天诚信科技有限公司 发明人 陆舟;于华章
分类号 G06F21/22(2006.01) 主分类号 G06F21/22(2006.01)
代理机构 北京集佳知识产权代理有限公司 代理人 孙长龙
主权项 1.一种在软件保护装置中实现软件保护的方法,用于已实现X86虚拟机的软件保护装置;其特征在于,包括:在有待保护的程序的可执行文件中挑选部分指令段,作为写入软件保护装置的指令段;将被挑选的指令段中使用的主机内存地址、寄存器名、堆栈地址转换为软件保护装置虚拟机的内存地址、寄存器名、堆栈地址;将转换后的指令段写入所述软件保护装置中,同时在所述有待保护的程序的可执行文件中去除被挑选的指令段,并写入通讯程序;运行所述有待保护的程序的可执行文件时,当运行到写入软件保护装置的指令段时,在所述通讯程序的控制下进行下列步骤:将所述写入软件保护装置的指令段涉及的内存、寄存器、堆栈的内容,从主机映射到所述软件保护装置虚拟机对应的内存、寄存器、堆栈;所述软件保护装置虚拟机运行该指令段;运行完毕后,软件保护装置虚拟机将上述内存、寄存器、堆栈中的内容反映射到主机中对应的内存、寄存器、堆栈。
地址 100083北京市海淀区学院路40号研7A楼5层