底图解密
由于底图是乱序的。所以要先找到还原位置。
这里直接看插装日志
具体如何实现看一眼日志就知道了
1 | |

C 函数解密
如下图


断点定位

继续
1 | |
找到C的

简单看下流程


经过验证。可知 IV是固定。
key为动态值。

如图所值。 key 是分割而来 40位
分析得知为sha1。
===>
值由来如下图

然后经过一层 AES.
key为动态值,IV写死。
得到最终的 C值。
AES加密前的值为
===>
如下图所示

值为一个一个跳出。
可以看到
有个特殊值。 MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJKL。应该是修改了base64的码表

经过分析。可知每次码表都不一样。
规则如下
这里我们先来了解下 何为base64,AI简单概括几句话
1、分组基础: Base64 将输入数据按每 3 个字节(共 24 位二进制)进行一组处理。
2、重新划分: 将这 24 位二进制流重新划分为 4 组,每组 6 位。
3、查表映射: 每组 6 位(数值范围 $0-63$)作为索引,去查 Base64 专用的 64 字符表,得到一个可见字符。
4、数据比例: 最终,每 3 个输入字节对应 4 个输出字符,因此编码后的数据体积增大 $1/3$。
5、末尾填充: 如果输入数据不足 3 个字节,则在二进制末尾补零,并在 Base64 字符串末尾使用一个或两个 = 符号进行占位填充。

具体不多说了。
最后看结果。

页面也不校验,成功率也低。可以当个练练手的项目