发明名称 |
.Net程序保护方法及装置 |
摘要 |
本发明公开了一种.Net程序保护方法及装置,属于软件保护领域。所述方法包括:从编译好的.Net程序选取包含.Net中间语言指令的二进制代码段;对该二进制代码段进行变换,并从.Net程序中删除该二进制代码段;将经过变换后的二进制代码段写入.Net程序的外壳程序中,并将外壳程序调用指令写入.Net程序中;运行.Net程序,当.Net程序运行到外壳程序调用指令时,外壳程序调用.Net虚拟机,.Net虚拟机运行经过变换后的二进制代码段。所述装置包括:选取模块、变换删除模块、写入模块和运行模块。本发明可以不受限制地保护.Net程序,使运行在.Net平台上的程序只需进行简单的变换就可以实现.Net程序保护。 |
申请公布号 |
CN100474253C |
申请公布日期 |
2009.04.01 |
申请号 |
CN200710177937.6 |
申请日期 |
2007.11.22 |
申请人 |
北京飞天诚信科技有限公司 |
发明人 |
陆舟;于华章 |
分类号 |
G06F9/45(2006.01)I;G06F9/455(2006.01)I |
主分类号 |
G06F9/45(2006.01)I |
代理机构 |
北京三高永信知识产权代理有限责任公司 |
代理人 |
何文彬 |
主权项 |
1. 一种.Net程序保护方法,其特征在于,所述方法包括:步骤A:从编译好的.Net程序选取包含.Net中间语言指令的二进制代码段;步骤B:对所述二进制代码段进行变换,并从所述.Net程序中删除所述二进制代码段;步骤C:将经过变换后的二进制代码段写入所述.Net程序的外壳程序中,并将外壳程序调用指令写入所述.Net程序中;步骤D:运行所述.Net程序,当所述.Net程序运行到所述外壳程序调用指令时,所述外壳程序调用.Net虚拟机,所述.Net虚拟机运行经过变换后的二进制代码段;其中,所述步骤B中对所述二进制代码段进行变换的步骤具体为以下三种方式之一:方式一:对所述二进制代码段进行逻辑变换,并对经过逻辑变换的二进制代码段进行加密或压缩;方式二:对所述二进制代码段进行逻辑变换;方式三:对所述二进制代码段进行加密或压缩。 |
地址 |
100083北京市海淀区学院路40号研7楼5层 |