H5 加固介绍
2024.09.06 13:14:46
功能介绍
js代码控制流混淆
打乱函数执行流程,结合不透明表达式,引入多余控制流,插入无用代码、函数,同时进行扁平化处理,使得所有程序基本块看起来不能区分执行先后顺序,使JS代码可读性变差,进而达到防止代码被静态分析的目的。。
js禁止调试
基于调试器特征,易盾在被保护的JS代码内插入调试检测代码,一旦发现调试行为,将会阻止被调试的JS继续运行。
高强度js禁止调试
对于破解调试比较频繁的客户,可以配置高强度js禁止调试。
指定字符串加密
将代码中使用的字符串进行加密处理,运行时动态解密,防止攻击者直接获取、使用这些明文的字符串信息,增加分析难度。
域名锁定
将域名或子域名以规则形式写入代码中,在程序运行时,动态获取当前代码加载域名是否是预设定的来控制代码是否执行,防止代码盗用。
高强度字符串加密
个别游戏需要对全量的字符串加密,脚本内默认的加密为50%,开启后会将字符串加密的百分比调整到100%。
sourcemap生成
开启后,会对所有的js文件生成map文件,用于代码还原。
js文件vmp
将JS代码转换为易盾JS语言代码,只有易盾的保护程序才能够理解并运行,攻击者无法基于原先掌握的JS语言进行分析及攻击。
使用说明
该加固工具为jar包文件,适用于Windows、Linux以及Mac系统,以下均以Windows环境下描述,其他系统环境使用方法类似。下载地址点击下载。
使用方式
命令行模式(注意,第一次使用需要配置config.ini文件)
- 命令行模式参数,以.zip结尾的文件
java -jar NHPProtect.jar -h5protect -yunconfig -input target.zip
- 参数说明如下:
参数 | 说明 |
---|---|
-yunconfig | 必填项,表示自动从易盾后台获取加固参数,加固配置已经在后台部署,可以根据实际情况调整 。 |
-h5protect | 必填项,表示保护h5文件 |
-input | 必填项,参数后面跟待加固的文件的绝对路径 |
-output | 默认加固后的文件输出在原文件同路径,-output参数可以指定加固后文件的输出路径和文件名,示例:java -jar NHPProtect.jar -yunconfig -h5protect -output E:\enc\test_enc.zip -input E:\yiduntest\test.zip |
config.ini文件配置说明
默认config.ini必须要跟NHPProtect.jar在同一目录下,如果需要指定config文件,可以执行-config 命令参数来处理:
java -jar NHPProtect.jar -h5protect -yunconfig -config E:\\Desktop\\test\\config.ini -input E:\\yiduntest\\test.zip
设置appkey
用户需要将appkey填写在该配置文件中,格式如下所示。appkey请在官网登录账号后加固服务-服务管理获取。
[appkey]
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx