[发明专利]基于自动化编译JavaScript代码的智能混淆方法在审
申请号: | 201711365855.4 | 申请日: | 2017-12-18 |
公开(公告)号: | CN107861727A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 孔祥明;林悦洁 | 申请(专利权)人: | 广东广业开元科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/72;G06F21/14 |
代理公司: | 北京科家知识产权代理事务所(普通合伙)11427 | 代理人: | 陈娟 |
地址: | 510070 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自动化 编译 javascript 代码 智能 混淆 方法 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于自动化编译JavaScript代码的智能混淆方法。
背景技术
现代各种互联网的应用程序已经成为生活中不可缺少的部分,如各种网站、手机应用等等。互联网的应用程序给人们生活带来便利的同时,在背后也是隐藏着的是用户数据信息的安全、个人隐私等等问题。作为程序的开发者,基本的职业操守是需要对用户的信息安全做好把关,以防一些别有用心的人通过非法的技术手段去获取用户数据或者破坏程序。因此,对公众开放的程序采取保护措施是一个很有必要的研究。通过一些技术手段,如代码混淆加密,代码转译等等方式,可以提高程序的破译的难度,增强程序的健壮性。
近几年来html5的广泛应用,JavaScript的标准也得到各大浏览器的支持,但是针对JavaScript的代码安全研究并不是很多。目前主流的前端JavaScript安全方式是通过代码混淆的方式实现,但是由于前端JavaScript代码混淆的盖面没有得到很好的推广以及应用,导致目前仍然有很多网站、混合式开发的手机应用的前端JavaScript代码都是源代码状态,直接将代码暴露出来,很容易给别有用心的人去编译、破解等。而目前现有的代码混淆的研究,主要针对的是服务器端场景,也就是常说的后端,相对而言在客户端的JavaScript代码混淆研究比较少。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于自动化编译JavaScript代码的智能混淆方法,可以达到代码只能被计算机执行而不能被正常阅读,可以加强了前端代码的安全性的同时不会影响代码的正常执行。本技术在实际应用中可以结合工具库使用,方便开发人员应用在前端开发场景中。
为实现上述目的,本发明提供了一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于,包括以下步骤:
步骤一:常规的源码开发;
步骤二:代码开发完成,并引用代码规范校验工具进行代码校验,例如JSHint等代码校验工具进行校验;
步骤三:通过代码校验,配置代码重构的规则;
步骤四:根据配置好的加密方式,引用对应的工具库,执行自动化构建,对代码文件进行重构编写;
步骤五:输出加密的安全代码。
上述的一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于:所述步骤二引用代码规范校验工具进行代码校验具体为:用不限于JSHint的代码校验工具进行校验。
上述的一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于:所述步骤四引用对应的工具库包括但不限于uglifyjs.js、rewritejs.js。
上述的一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于:所述步骤四对代码文件进行重构编写为:利用少量字符构造精简的匿名函数对字符串进行编码。
上述的一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于:所述少量字符包括但不限于“!”“+”“(”“)”“[”“]”。
本发明的有益效果是:
本发明运用了JavaScript语言中可以利用少量字符构造精简的匿名函数方法对于字符串进行编码的方式,其中少量字符包括“!”“+”“(”“)”“[”“]”,只用这些字符就能够完成任意字符串的编码,采取了保护代码的逻辑不被他人理解的方法,对JavaScript代码进行混淆,达到了有效保护JavaScript代码的目的,同时防止JavaScript代码被盗用,加强了前端代码的安全性的同时不会影响代码的正常执行。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的流程图。
具体实施方式
如图1所示,一种基于自动化编译JavaScript代码的智能混淆方法,其特征在于,包括以下步骤:
步骤一:常规的源码开发;
步骤二:代码开发完成,并引用代码规范校验工具进行代码校验,例如JSHint等代码校验工具进行校验。因为代码编写重构对源码质量有依赖,源码质量越高,重构出错的概率就越低,为了保证输出,所以代码校验这一个步骤需要增加。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东广业开元科技有限公司,未经广东广业开元科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711365855.4/2.html,转载请声明来源钻瓜专利网。