01.png (55.16 KB, 下载次数: 0)
下载附件
01
2023-2-23 12:27 上传
2. 发现其中的逻辑都在 sign 方法中, 在 function sign 那里下断点,果然运行到返回数据的网址时被断住了。所以,加密逻辑就在这儿
02.png (36.53 KB, 下载次数: 0)
下载附件
02
2023-2-23 12:27 上传
3. 所以,直接运行 sign 方法,本着缺啥补啥的原则。补充完确实的方法之后,发现程序报错了
03.png (31.73 KB, 下载次数: 0)
下载附件
03
2023-2-23 12:28 上传
04.png (12.95 KB, 下载次数: 0)
下载附件
04
2023-2-23 12:28 上传
4. 经过调查,发现是有地方打乱了原始数据的顺序
05.png (31.03 KB, 下载次数: 0)
下载附件
05
2023-2-23 12:30 上传
5. 把这个自执行方法加进去,本以为一切ok,运行时,发现程序卡死了
6. 分析这个自执行代码,看出来,是因为没有 parse_int_default 这个方法。在控制台打开看,发现这个方法的方绘制竟然是内置的 parseInt 方法。为了不破坏其独立性,我们直接重构一下
parse_int_default方法
06.png (62.46 KB, 下载次数: 0)
下载附件
06
2023-2-23 12:32 上传
7. 重构parse_int_default方法之后运行,程序还是报错
07.png (64.15 KB, 下载次数: 0)
下载附件
07
2023-2-23 13:44 上传
8. 报错的原因就是前后端环境校验。 补齐好环境之后,程序报错 MD5 找不到。经过测试,发现这个md5没有被魔改,所以可以直接用加密包
09.png (31.99 KB, 下载次数: 0)
下载附件
09
2023-2-23 13:46 上传
9. 解一下加密的算法,发现逻辑很简单,可以改写成下面的方法,运行后,就出值了。
10.png (21.6 KB, 下载次数: 0)
下载附件
10
2023-2-23 13:48 上传
08.png (12.65 KB, 下载次数: 0)
下载附件
08
2023-2-23 13:39 上传