[发明专利]一种Linux系统下软件代码保护方法有效
申请号: | 201310023581.6 | 申请日: | 2013-01-22 |
公开(公告)号: | CN103077333A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 朱瑞瑾;谭毓安;左伟欢;李元章;马忠梅;张全新 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 软件 代码 保护 方法 | ||
1.一种Linux系统下软件代码保护方法,其特征在于:其操作过程为:
步骤一、加密和存储拟保护代码,具体为:
第1.1步:在被调用函数中指定拟保护代码,拟保护代码是以函数为单位的;
第1.2步:为拟保护代码定义一个数组,用符号pF表示,数组pF中的每个元素分别用来记录拟保护代码用到的一个系统库函数地址;将数组pF中元素的初始值设置为空;然后将拟保护代码用到的系统库函数的地址替换为数组pF中对应的元素值;
第1.3步:将拟保护代码编译为关键代码库文件;
第1.4步:将关键代码库文件分为m个部分,m大于等于1;再对m个部分加密后,分别存储于m个数据文件中;
步骤二、通过主程序申请一个内存空间,用符号m1表示,并记录该内存空间中第一个完整的内存页的起始地址,用符号p表示;
步骤三、将步骤二申请的内存空间m1中的全部完整的内存页的属性设置为可读并可写并可执行;所述内存页的属性包括:可读、可写、可执行或者无访问权限中的一种或几种;
步骤四、当主程序需要调用拟保护代码时,其操作过程为:
第4.1步:通过主程序申请一个内存空间,用符号m2表示;从步骤一中所述m个数据文件中读取拟保护代码的密文到内存空间m2;
第4.2步:对第4.1步中所述拟保护代码的密文进行解密,并将解密后的内容拷贝到步骤二中所述的内存空间m1中以p开始的内存中;
第4.3步:把关键代码库文件中用到的系统库函数地址赋值给内存空间m1中的pF数组;
第4.4步:修正内存空间m1中被调用函数的地址,即将当前的被调用函数地址加上p的值;
第4.5步:主程序调用拟保护代码;
经过上述步骤,即可实现Linux系统下的代码保护。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310023581.6/1.html,转载请声明来源钻瓜专利网。