实战地址:
http://match.yuanrenxue.com/match/1
打开f12 随即出现了无限debugger反调试
在debugger所在右击出现的菜单栏点击never pause here 去掉断点
之后清空控制面板。 开始抓包分析,发现只有一个加密参数m
全局搜索m=,m: 发现结果 有点多。也没发现什么。。。
最后通过ajax请求的回调栈找了线索
复制出来格式化此处代码
看到这问题范围就缩小了。。。可以明确oo0O0 函数 和 window.f是关键
扣出这部分代码放到node js 中运行。
然后本着缺啥补啥的原则继续补下去
缺失的东西可以去控制台找譬如 document.f 值应为多少
因为不停的打印永不言弃。。。淹没自己的运行结果。。。所以我直接在那句话打了断点。防止干扰视线。
继续分析oo0O0 函数,发现最后有个eval
而且函数最后也只是返回了空
可以到控制台或者node中输出一下
atob(window['b']) , J('0x0', ']dQW'), J('0x1', 'GTu!') , '\x27' + mw + '\x27')
格式化分析atob(window['b']) 返回的代码发现了window.f的藏身之地。。哈哈哈,
再次回看刚刚输出的。replace mwqqppz 等关键字。。。嗯。。
window.f的值为hex_md5(mwqqppz), 而mwqqppz被replace成了oo0O0
函数传入的时间戳字符串参数,到此即可修改代码为
最后放到一个js文件中供调用(直接用字符串传入出现了编码错误。换成文件调用成功了)。成品如下
成功!