[发明专利]一种Flash函数加密的方法及装置有效
申请号: | 201710170783.1 | 申请日: | 2017-03-21 |
公开(公告)号: | CN107122169B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 周志刚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F21/14 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flash 函数 加密 方法 装置 | ||
本发明实施例公开了一种Flash函数加密的方法及装置。本发明实施例方法包括:获取Flash文件中编写的目标程序代码,在目标程序代码中查找函数名,对目标程序代码中的目标函数名计算目标哈希值,将目标函数名利用目标哈希值进行替换。本发明实施例中利用哈希值替换Flash文件中的函数名,避免了反编译工具从Flash文件中获取到函数的原始名字,提高了Flash文件的安全性,同时由于计算的哈希值是唯一的,不会导致重名的情况,所有函数名也可以保持同样的长度,方便了以后查找函数的校验。
技术领域
本发明涉及信息处理技术领域,特别涉及一种Flash函数加密的方法及装置。
背景技术
目前,Flash被广泛的用于网页设计和网页动画制作及网页视频播放等。大多数的视频网站包括直播网站都采用Flash做为其视频播放器,并且大多数的网页游戏、大多数的邮箱等网页应用程序都使用Flash来开发一些功能,Flash的具体使用文件是SWF(ShockWave Flash)文件。Flash的开发使用的是ActionScript脚本语言,其脚本语言通过编译器编译后变成可以执行的字节码,由于ActionScript语言的特性,其最终生成的SWF文件中会保存有ActionScript代码中使用的所有函数名,并且是原始的函数名,所以通过反编译工具可以从最终的SWF文件中获取到所有函数的原始名字,从而通过函数名非常容易弄懂其实现的逻辑,从而不利于软件权利的保护(例如对于函数名“DecodeData”,从名字可以知道该函数是用于解密数据的)。因此大多数的Flash也会采用部分核心功能通过C语言来开发,然后最终通过编译器编译成最终的SWF文件。而对于C语言开发其代码的安全性要比使用ActionScript开发的安全性要高,但是同样也存在函数名被反编译软件可以获取到原始的名字的问题。
发明内容
本发明实施例提供了一种Flash函数加密的方法及装置,提高了Flash文件的安全性,方便了以后查找函数的校验。
第一方面,本申请提供一种Flash函数加密的方法,所述方法包括:
获取Flash文件中编写的目标程序代码;
在所述目标程序代码中查找目标函数名,对所述目标程序代码中的目标函数名计算目标哈希值;
将所述目标函数名利用所述目标哈希值进行替换。
进一步的,所述获取Flash文件中编写的目标程序代码的步骤,包括:
获取Flash文件中利用C语言编写的第一程序代码;
所述在所述目标程序代码中查找目标函数名,对所述目标程序代码中的目标函数名计算目标哈希值的步骤包括:
在所述第一程序代码中查找第一函数名,对所述第一程序代码中的第一函数名计算第一哈希值;
所述将所述目标函数名利用所述目标哈希值进行替换的步骤,包括:
将所述第一函数名利用所述第一哈希值进行替换。
进一步的,所述对所述第一程序代码中的第一函数名计算第一哈希值的步骤,包括:
定义存储C语言函数名和哈希值管理的容器;
分别在所述容器中存储所述第一函数名,并生成对应的第一哈希值,建立所述第一函数名与所述第一哈希值对应关系。
进一步的,所述获取Flash文件中编写的目标程序代码的步骤,还包括:
获取Flash文件中利用ActionScript语言编写的第二程序代码;
所述在所述目标程序代码中查找目标函数名,对所述目标程序代码中的目标函数名计算目标哈希值的步骤还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710170783.1/2.html,转载请声明来源钻瓜专利网。