[发明专利]对可执行文件源代码保护的方法及装置有效
申请号: | 201110060458.2 | 申请日: | 2011-03-14 |
公开(公告)号: | CN102136053A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 王宇 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F21/24 | 分类号: | G06F21/24 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可执行文件 源代码 保护 方法 装置 | ||
技术领域
本发明涉及文件加密技术领域,尤其涉及一种对可执行文件源代码保护的方法及装置。
背景技术
众所周知,软件防盗版、防修改一直是计算机安全领域的一个重要课题。在众多的软件保护技术中,软件加壳技术是软件保护的重要手段,但当前互联网上很多黑客工具仍能够破解软件,因此拥有一个独特的加壳程序很有必要。
现有的软件加壳技术通常使用较多的是嵌入方式。该方式是向目标可执行文件ELF(Executable and Linkable Format,可执行链接格式)中直接注入一段二进制代码,再将程序的入口地址改为这段被插入的二进制代码的地址,在其后才跳转到程序原始的入口地址,执行真正的程序部分。注入的这一段二进制代码是该方法的核心,一般含有解密或解压缩程序,花指令代码和一些反动态跟踪的代码。这种方法可以有效地防止静态分析,但其反动态跟踪的能力一般。
发明内容
本发明的主要目的在于提供一种对可执行文件源代码保护的方法及装置,旨在提高反动态跟踪能力。
为了实现发明目的,本发明提供一种对可执行文件源代码保护的方法,包括以下步骤:
获取需要加壳的目标可执行链接格式ELF文件;
提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、对栈段及动态链接表;
创建新的ELF文件框架;
将目标ELF文件的核心部分和加壳部分整合;
将整合结果按ELF结构填入到新的ELF文件框架中;
完成重构新的ELF文件并设置其属性为可执行。
优选地,所述将目标文件的核心部分和加壳部分整合包括:
分别计算出加壳部分和目标文件核心部分所占物理文件的大小和所占内存的大小;
将目标文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
优选地,所述创建新的ELF文件框架包括:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
优选地,所述将整合结果按ELF结构填入到新的ELF文件框架中包括:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
优选地,所述将目标文件的核心部分和加壳部分整合还包括:
当将目标文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
本发明还提供一种对可执行文件源代码保护的装置,包括:
文件获取单元,用于获取需要加壳的目标可执行链接格式ELF文件;
核心部分提取单元,用于提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、对栈段及动态链接表;
文件框架创建单元,用于创建新的ELF文件框架;
加密单元,用于将目标ELF文件的核心部分和加壳部分整合;
整合结果读写单元,用于将整合结果按ELF结构填入到新的ELF文件框架中;
属性设置单元,用于完成重构新的ELF文件并设置其属性为可执行。
优选地,所述加密单元包括:
运算模块,用于分别计算出加壳部分和目标文件核心部分所占物理文件的大小和所占内存的大小;
续写模块,用于将目标文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
参数设置模块,用于将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
优选地,所述文件框架创建单元具体用于:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
优选地,所述整合结果读写单元具体用于:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
优选地,所述加密单元还包括:
删除模块,用于当将目标文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110060458.2/2.html,转载请声明来源钻瓜专利网。