[发明专利]一种防止源代码反编译的方法无效
申请号: | 201010134276.0 | 申请日: | 2010-03-29 |
公开(公告)号: | CN101807239A | 公开(公告)日: | 2010-08-18 |
发明(设计)人: | 刘正伟 | 申请(专利权)人: | 山东高效能服务器和存储研究院 |
主分类号: | G06F21/24 | 分类号: | G06F21/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 源代码 反编译 方法 | ||
1.一种防止源代码反编译的方法,其特征在于,在计算机系统中设置防止源代码反编译模块,包括:代码读取子模块、代码解析子模块、虚拟混淆子模块、数据存取子模块、混淆代码生成模块,其中:
代码读取子模块将一个文件集的代码全部读取到一个一维的字符串数组中,然后再对其进行分析,得到命名空间和类的信息;
代码解析子模块对于文件中的代码,进行如下处理:去除空行和前后空格和Tab符号、回车换行,去除调试信息,去除注释,合并跨行语句,通过代码读取子模块的预处理,让代码更易于被虚拟混淆子模块处理;
虚拟混淆子模块是由混淆模块接口模块、程序集混淆子模块、类混淆子模块、方法和属性混淆子模块组成,用于收集数据的程序集名称、属性、方法,然后将程序集名称、属性、方法作为独立的混淆单元,再将混淆后的程序集名称、属性、方法合成类,将类合成命名空间,最后将命名空间合成文件;
数据存取子模块根据数据程序集名称、方法、属性的定义,从预定义的数据混淆模块中读取混淆的格式方法,从而达到代码混淆的目的;
混淆代码生成模块根据虚拟混淆子模块和数据存取子模块将代码重新组成一个新的源代码文件,此源代码文件是经过混淆的,即使二进制文件被反汇编,看到的代码也是混淆过的非常难以理解逻辑比较复杂代码,代码比较多,基本上是没有可读性,从而达到代码保护的目的;
文件集中的代码经过预处理后,存放到一个一维字符串数组中,该数组的容量为所有代码的行数总和,一行代码放在数组中的一行,按代码的顺序存放;为每一个文件定义文件序列、Hash序列和字节序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东高效能服务器和存储研究院,未经山东高效能服务器和存储研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010134276.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种出水管口挡口装置
- 下一篇:一种座式抽水马桶