猿人学第5题-js 混淆-乱码增强-补环境-atob

This commit is contained in:
luzhisheng 2023-03-09 11:38:41 +08:00
parent ac0d00d79b
commit 883e2168da

View File

@ -6,23 +6,23 @@
直接说明了主要破解cookie中的`m=``RM4hZBv0dDon443M=` 直接说明了主要破解cookie中的`m=``RM4hZBv0dDon443M=`
![图片](../img/1.png) ![图片](./img/1.png)
油猴插件`hook cookie` 油猴插件`hook cookie`
![图片](../img/2.png) ![图片](./img/2.png)
很容易就找到`RM4hZBv0dDon443M=`加密点 很容易就找到`RM4hZBv0dDon443M=`加密点
![图片](../img/3.png) ![图片](./img/3.png)
调试内存栈,就会发现`_0x4e96b4['_$ss']`是加密位置 调试内存栈,就会发现`_0x4e96b4['_$ss']`是加密位置
![图片](../img/4.png) ![图片](./img/4.png)
全局搜索`_0x4e96b4['_$`找到赋值位置 全局搜索`_0x4e96b4['_$`找到赋值位置
![图片](../img/5.png) ![图片](./img/5.png)
仔细观察这断代码是不是`crypto-js`加密mode是`ECB`padding是`Pkcs7` 仔细观察这断代码是不是`crypto-js`加密mode是`ECB`padding是`Pkcs7`
@ -33,31 +33,31 @@
}), }),
_0x4e96b4['_$' + _$UH[0x348][0x1] + _$UH[0x353][0x1]] = _0x29dd83[_$UH[0x1f]](); _0x4e96b4['_$' + _$UH[0x348][0x1] + _$UH[0x353][0x1]] = _0x29dd83[_$UH[0x1f]]();
![图片](../img/6.png) ![图片](./img/6.png)
通过上面的代码就需要找到`_0x4e96b4['_$pr']``_0x4e96b4[_0xc77418('0x6', 'OCbs')]` 通过上面的代码就需要找到`_0x4e96b4['_$pr']``_0x4e96b4[_0xc77418('0x6', 'OCbs')]`
这里的`_0x4e96b4[_0xc77418('0x6', 'OCbs')]`改写成`_0x4e96b4["_$qF"]` 这里的`_0x4e96b4[_0xc77418('0x6', 'OCbs')]`改写成`_0x4e96b4["_$qF"]`
![图片](../img/9.png) ![图片](./img/9.png)
全局搜索找到`_0x4e96b4['_$qF']`这样能确定的是CryptoJS加密密钥是时间戳 全局搜索找到`_0x4e96b4['_$qF']`这样能确定的是CryptoJS加密密钥是时间戳
![图片](../img/10.png) ![图片](./img/10.png)
在看看`_0x4e96b4['_$pr']`加密值,是数组 在看看`_0x4e96b4['_$pr']`加密值,是数组
![图片](../img/11.png) ![图片](./img/11.png)
尝试写死2个参数一点点扣代码改写 尝试写死2个参数一点点扣代码改写
![图片](../img/7.png) ![图片](./img/7.png)
其中`btoa``atob`是需要自己补的node中没有`btoa``atob`函数 其中`btoa``atob`是需要自己补的node中没有`btoa``atob`函数
结果输出 结果输出
![图片](../img/8.png) ![图片](./img/8.png)
pr = [ pr = [
"b2148c31fb09c98f90ce78424d6cdd58", "b2148c31fb09c98f90ce78424d6cdd58",