[发明专利]一种使用软件保护装置存储程序代码实现软件保护的方法有效
申请号: | 200810103665.X | 申请日: | 2008-04-10 |
公开(公告)号: | CN101261664A | 公开(公告)日: | 2008-09-10 |
发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思洛克数据保护中心 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100086北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 软件 保护装置 存储 程序代码 实现 保护 方法 | ||
1、一种使用软件保护装置存储程序代码实现软件保护的方法,其特征在于,该方法包括步骤:
A、将受保护软件的可执行程序的若干段代码段数据和起始地址存储到软件保护装置中;
B、在受保护软件中擦除上述代码段数据;
C、在代码段起始位置处写入调用软件保护装置的指令;
D、当软件运行到某个已转移存储到软件保护装置中的被保护代码段时,将所述代码段的起始地址发送给软件保护装置;
E、软件保护装置返回相应的代码段数据;
F、软件将代码段数据存储到内存中,并执行该代码段数据。
2、根据权利要求1所述的方法,其特征在于,在步骤F之后还包括步骤:
G、执行完成后擦除内存中所述代码段数据。
3、根据权利要求1所述的方法,其特征在于,在步骤D中还包括:通过执行预先写入的调用软件保护装置的指令,计算被保护代码段的起始地址,然后将其发送到软件保护装置中。
4、根据权利要求1所述的方法,其特征在于,在步骤E中还包括:软件保护装置根据被保护代码段的起始地址找到已存储的代码段数据,返回给软件。
5、根据权利要求1所述的方法,其特征在于,在步骤F中还包括:软件首先分配一块内存,然后将软件保护装置返回的代码段数据存储到所述内存中。
6、根据权利要求1-5所述的任一方法,其特征在于,被存储的代码段数据以密文形式从软件保护装置发送到软件,须解密后才可被软件执行。
7、根据权利要求6所述的方法,其特征在于,解密密钥是软件与软件保护装置协商建立的动态会话密钥。
8、根据权利要求6所述的方法,其特征在于,被存储的代码段数据中包含对软件保护装置的再次调用。
9、根据权利要求8所述的方法,其特征在于,软件正常运行时,首先从软件保护装置中读取被存储的代码段数据,在执行所述代码段数据时再次调用软件保护装置的功能。
10、根据权利要求9所述的方法,其特征在于,在上述二次调用软件保护装置的功能时,传入参数由软件保护装置在返回所述代码段数据时动态生成。
11、根据权利要求10所述的方法,其特征在于,软件保护装置在处理上述二次调用时,检查传入参数的合法性。
12、根据权利要求5所述的方法,其特征在于,在上述步骤A中还包括:由软件开发商选取受保护软件的若干段代码,标记代码段的起始和结束位置并计算其长度,将代码段数据和起始地址存储到软件保护装置中。
13、根据权利要求12所述的方法,其特征在于,还包括:软件开发商将上述受保护软件和软件保护装置发布给授权的软件用户。
14、根据权利要求12所述的方法,其特征在于,还包括:软件调用解密后的代码段中的功能函数,执行完功能函数后擦除内存数据并释放内存。
15、根据权利要求14所述的方法,其特征在于,还包括:功能函数中包含对软件保护装置的进一步调用,同时调用的参数是由软件保护装置在返回被存储的代码段数据时动态设定的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克数据保护中心,未经北京深思洛克数据保护中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810103665.X/1.html,转载请声明来源钻瓜专利网。