[发明专利]一种Linux系统下软件代码保护方法有效
申请号: | 201310023581.6 | 申请日: | 2013-01-22 |
公开(公告)号: | CN103077333A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 朱瑞瑾;谭毓安;左伟欢;李元章;马忠梅;张全新 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种在Linux操作系统下代码保护方法,属于软件保护领域。其步骤为:①指定拟保护代码;定义一个数组,记录系统库函数地址;将拟保护代码编译为关键代码库文件;并将其分为m个部分加密后存储于m个数据文件中。②申请一个内存空间m1,并记录该内存空间中第一个完整的内存页的起始地址p。③将内存空间m1中的完整内存页的属性设置为可读并可写并可执行。④当主程序需要调用拟保护代码时,申请一个内存空间m2;读取拟保护代码的密文到内存空间m2,并解密到内存空间m1中以p开始的内存中;把系统库函数地址赋值给内存空间m1中的pF数组;修正内存空间m1中被调用函数的地址。此时主程序调用拟保护代码。本发明提出的方法具有更好的安全性。 | ||
搜索关键词: | 一种 linux 系统 软件 代码 保护 方法 | ||
【主权项】:
一种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系统下的代码保护。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310023581.6/,转载请声明来源钻瓜专利网。