【技术实现步骤摘要】
防止H5源码泄漏的方法、计算机设备和存储介质
本专利技术涉及计算机
,尤其涉及的是防止H5源码泄漏的方法、计算机设备和存储介质。
技术介绍
在web应用与移动端h5应用中,由于JavaScript解析器直接对JavaScript源码解析,导致web端和移动端JavaScript代码以源码的形式展现,程序源码泄露,核心业务逻辑暴露,给程序带了很大的安全隐患,源代码被窃取,导致开发者无法有效的保护自己的知识产权不被滥用。为了保护软件核心功能、程序安全和知识产权,需要一种防护技术,防止H5源码泄露。尽管市场上有一些H5压缩、混淆技术,其解决方案也是对JavaScript源码中的函数名、变量名进行变换,使其在关键字上难于阅读,但是源码逻辑和对象属性的API调用却是显而易见。又譬如,对JavaScript代码进行AES、DES等算法对其加密,将解密秘钥嵌入源码中,但是攻击者只要找到解密秘钥,也能轻易将加密的JavaScript源码通过秘钥得到原始的代码。因此,现有技术还有待于改进和发展。
技术实现思路
基于此,有必要针对上述技术问题,提供一种防止H5源码泄漏的方法、计算机 ...
【技术保护点】
1.一种防止H5源码泄漏的方法,其特征在于,所述方法包括步骤:A、初始化模板对象,定义一全局函数,并在所述全局函数中返回一全局对象;B、对源码进行词法分析与语法分析,并将源码中的函数、字符串、表达式与常数进行加密处理;C、将加密后的源码进行加壳加密,并生成一解密函数;D、解密函数解密加壳代码,解密出加密代码,加载解密对象并执行加密代码,将解密对象动态解密为明文密码,并执行明文密码。
【技术特征摘要】
1.一种防止H5源码泄漏的方法,其特征在于,所述方法包括步骤:A、初始化模板对象,定义一全局函数,并在所述全局函数中返回一全局对象;B、对源码进行词法分析与语法分析,并将源码中的函数、字符串、表达式与常数进行加密处理;C、将加密后的源码进行加壳加密,并生成一解密函数;D、解密函数解密加壳代码,解密出加密代码,加载解密对象并执行加密代码,将解密对象动态解密为明文密码,并执行明文密码。2.根据权利要求书1所述的防止H5源码泄漏的方法,其特征在于,所述步骤A还包括:A1、将所述全局对象的名称随机化处理并特殊标识,且每次加密的全局对象的名称不同且唯一;其中,所述全局对象中具有多种Key-Value形式,并且每次初始化时Key值随机化,且Key值唯一;所述Value的类型包括:字符串交互模板、表达式交互模板、多个常数与多个判断函数。3.根据权利要求书2所述的防止H5源码泄漏的方法,其特征在于,所述字符串交互模板包括两个字符串交互函数与一个字符串交互函数;其中,所述两个字符串交互函数中,其中一个函数是解码源码中函数控制流扁平化中switch结构中case的值,另一个函数是解码源码中所有字符串;在所述一个字符串交互函数中,该函数将预先设置的域名编码字符串进行解码。4.根据权利要求书1所述的防止H5源码泄漏的方法,其特征在于,所述步骤C具体包括:C1、将加密后的源码进行去空格与去注释处理,并将加密后的源码进行随机加密;C2、生成加密后的字符串组数组、替换的位置、解密函数必要的变量和解密函数相关的必要判断条件;C3、生成一解密函数,并将处理的源码的结果作为解密函数的参数。5.根据权利要求书1所述的防止H5源码泄漏的方法,其特征在于,所述步骤C还包括:C4、通过编码一段反调试代码为加密字符串,将这段反调试代码嵌入到解密函数中,当代码执行时,则执行到这段反...
【专利技术属性】
技术研发人员:冉辽,廖兴龙,
申请(专利权)人:北京智游网安科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。