[发明专利]一种Flash中防止代码被破解的方法及系统在审
申请号: | 201710198165.8 | 申请日: | 2017-03-29 |
公开(公告)号: | CN107085677A | 公开(公告)日: | 2017-08-22 |
发明(设计)人: | 周志刚;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F9/44 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙)42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flash 防止 代码 破解 方法 系统 | ||
技术领域
本发明涉及直播视频播放技术领域,具体涉及一种Flash中防止代码被破解的方法及系统。
背景技术
目前,Flash被广泛的用于网页设计和网页动画制作及网页视频播放等。大多数的视频网站包括直播网站都采用Flash做为其视频播放器,并且大多数的网页游戏也会使用Flash来开发。而SWF文件(SWF,全称shock wave flash,是Macromedia公司的动画设计软件Flash的专用格式,因此SWF文件通常也被称为Flash文件)其代码是使用ActionScript脚本语言来进行编写。ActionScript脚本语言很容易被反编译,并且反编译后代码和原始的代码差不多,从而非常容易弄清楚其中的实现逻辑。因此,需要对ActionScript的代码采取保护措施,以提高被黑客逆向破解的门槛或者时间。
现在常用的做法是对ActionScript代码中所使用的所有变量名和/或函数名进行混淆或者加密,然而仅仅加密函数名、变量名只是增加阅读代码的时间,其源代码的实现逻辑和执行流程并没有发生变化,并未实质提高代码被黑客逆向破解的门槛,采用修改变量名和/或函数名的做法并未起到很好的防止代码被破解的效果。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Flash中防止代码被破解的方法及系统,有效提高代码被黑客逆向破解的门槛,防止代码被破解。
为达到以上目的,本发明采取的技术方案是:一种Flash中防止代码被破解的方法:在程序中添加多条代码分支,在程序的开头添加一个分支判断变量作为判断执行哪条代码分支的条件,并在每条代码分支中添加一个分支比较变量作为该分支的执行条件,其中仅有一个分支的分支比较变量与分支判断变量相同;将程序原本的执行代码放到分支比较变量与分支判断变量一致的代码分支中;在分支比较变量与分支判断变量不一致的代码分支中添加无用代码。
在上述技术方案的基础上,对分支判断变量进行MD5计算得出分支判断变量的MD5值,并将分支判断变量的MD5值作为当前的分支判断变量;对各代码分支的分支比较变量分别进行MD5计算得出各分支比较变量的MD5值,并将各分支比较变量的MD5值分别作为该代码分支当前的分支判断变量。
在上述技术方案的基础上,所述无用代码为对程序原本的执行代码进行修改而生成的代码。
在上述技术方案的基础上,对程序原本的执行代码进行修改包括:减少或增加程序原本的执行代码的循环执行次数、修改程序原本的执行代码中使用的KEY值或将程序原本的执行代码进行加密操作的结果添加至程序原本的执行代码的最后。
在上述技术方案的基础上,所述分支判断变量为数值型变量。
本发明还公开了一种Flash中防止代码被破解的系统,其特征在于,包括:
分支创建模块,用于在程序中添加多条代码分支,在程序的开头添加一个分支判断变量作为判断执行哪条代码分支的条件,并在每条代码分支中添加一个分支比较变量作为该分支的执行条件,且其中仅有一分支的分支比较变量与分支判断变量相同;
代码转移模块,用于将程序原本的执行代码放到分支比较变量与分支判断变量一致的代码分支中;
代码添加模块,用于在分支比较变量与分支判断变量不一致的代码分支中添加无用代码。
在上述技术方案的基础上,所述Flash中防止代码被破解的系统还包括变量修改模块,所述变量修改模块用于对分支判断变量进行MD5计算得出分支判断变量的MD5值,并将分支判断变量的MD5值作为当前的分支判断变量;对各代码分支的分支比较变量分别进行MD5计算得出各分支比较变量的MD5值,并将各分支比较变量的MD5值分别作为该代码分支当前的分支判断变量。
在上述技术方案的基础上,所述无用代码为对程序原本的执行代码进行修改而生成的代码。
在上述技术方案的基础上,所述Flash中防止代码被破解的系统还包括无用代码生成模块,所述无用代码生成模块用于对程序原本的执行代码进行修改以生成无用代码。
在上述技术方案的基础上,对程序原本的执行代码进行修改包括:减少或增加程序原本的执行代码的循环执行次数、修改程序原本的执行代码中使用的KEY值或将程序原本的执行代码进行加密操作的结果添加至程序原本的执行代码的最后。
与现有技术相比,本发明的优点在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710198165.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可更换式刀具
- 下一篇:一种配备气动夹具的铣加工装置