[发明专利]软件保护方法和软件保护装置有效
申请号: | 201710639745.6 | 申请日: | 2017-07-31 |
公开(公告)号: | CN107423586B | 公开(公告)日: | 2018-11-20 |
发明(设计)人: | 孙吉平;张伟双 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京金信知识产权代理有限公司 11225 | 代理人: | 黄威;董领逊 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 保护 方法 保护装置 | ||
1.一种软件保护方法,包括:
解析.NET可执行程序,识别所述.NET可执行程序中的元数据目录;
将所述元数据目录中的内容用预定方式隐藏,将所述元数据目录中的内容存储至所述.NET可执行程序中的预定位置,并清除所述元数据目录中的内容,使得.NET可执行程序中的对应的元数据目录的相对虚拟地址项和大小项均设定为0值;
将所述.NET可执行程序的程序入口修改为指向预定代码,得到受保护的.NET可执行程序,所述预定代码用于恢复所述元数据目录。
2.根据权利要求1所述的方法,其中,将所述元数据目录中的内容用预定方式隐藏包括,将所述元数据目录中的内容用预定加密算法加密。
3.根据权利要求1所述的方法,其中,将所述元数据目录中的内容用预定方式隐藏包括,将所述元数据目录中的内容加密后,将加密内容存储至所述.NET可执行程序中的预定位置。
4.根据权利要求1所述的方法,其中,将所述.NET可执行程序的程序入口修改为指向预定代码包括:修改所述.NET可执行程序的入口地址为新入口地址;在所述新入口地址之后插入所述预定代码。
5.根据权利要求1所述的方法,其中,所述预定代码中包括:对隐藏的元数据目录中的内容进行恢复的代码;用于重建所述.NET可执行程序的本地文件和内存映像的代码;当所述.NET可执行程序被操作系统访问时,触发挂钩程序的代码。
6.根据权利要求5所述的方法,其中,所述挂钩程序配置为通知操作系统当前执行的程序为.NET程序和恢复后的元数据的存储目录的位置。
7.一种软件保护装置,包括存储有指令的存储器和与所述存储器耦合的至少一个处理器,当所述指令由所述至少一个处理器加载并执行时使所述至少一个处理器执行以下操作:
解析.NET可执行程序,识别所述.NET可执行程序中的元数据目录;
将所述元数据目录中的内容用预定方式隐藏,将所述元数据目录中的内容存储至所述.NET可执行程序中的预定位置,并清除所述元数据目录中的内容,使得.NET可执行程序中的对应的元数据目录的相对虚拟地址项和大小项均设定为0值;
将所述.NET可执行程序的程序入口修改为指向预定代码,得到受保护的.NET可执行程序,所述预定代码用于恢复所述元数据目录。
8.根据权利要求7所述的装置,其中,将所述元数据目录中的内容用预定方式隐藏包括,将所述元数据目录中的内容用预定加密算法加密。
9.根据权利要求7所述的装置,其中,将所述元数据目录中的内容用预定方式隐藏包括,将所述元数据目录中的内容加密后,将加密内容存储至所述.NET可执行程序中的预定位置。
10.根据权利要求7所述的装置,其中,将所述.NET可执行程序的程序入口修改为指向预定代码包括:修改所述.NET可执行程序的入口地址为新入口地址;在所述新入口地址之后插入所述预定代码。
11.根据权利要求7所述的装置,其中,所述预定代码中包括:对隐藏的元数据目录中的内容进行恢复的代码;用于重建所述.NET可执行程序的本地文件和内存映像的代码;当所述.NET可执行程序被操作系统访问时,触发挂钩程序的代码。
12.根据权利要求11所述的装置,其中,所述挂钩程序配置为通知操作系统当前执行的程序为.NET程序和恢复后的元数据的存储目录的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710639745.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种远光灯透镜结构
- 下一篇:一种LED装饰投光灯