
SpiderDemo第四题- WASM挑战
T4 WASM挑战
1、分析
点击题目后会直接跳转

新建一个页面,打上script的断点,断上所有

直接单步执行可以看到wasm_challenge.js文件

从页面打开的方式初步分析是location.href,直接js里搜索,并打上所有的_0x2ba6ea37断点,可以看到最后断住的位置


抠出来执行后可以看到它是拼接后的跳转

把代码全部抠出来分析,压缩全部视图

可以看到js是经过ob混淆的,同时函数名实际是没有混淆的。此时可以解混淆,直接将_0x2ba6ea51[0]这些值可以全部替换,但是我替换完也没感觉没有对结果有很大的影响,可读性也就是一般。
分析函数名,能看到debuggerCheckInterval,此函数是反调试检测,当然这是上帝视角来看的,后面我从hook一步一步讲。注释此函数后,网站就能正常访问了


2、hook找到检测点
hook找到函数检测,此处我选择的是anti_debugger的跳转通杀


可以看到跳转后直接断住,分析上面的堆栈能直接找到分析时的跳转位置

再向上找堆栈,能找到检测函数

3、加密函数分析

加密参数为wasm_auth,根据堆栈信息能定位到加密点

再往上能看到实际调用的是wasm.js里面的函数

而wasm_anti.js会加载wasm_anti_bg.wasm,简单说最终的函数会加载wasm生成,那么我们直接AI,把js和wasm都给到他,让他帮我们生成加密函数

1 | from Crypto.Cipher import AES |
测试


结果一致。
更多内容也在公众号更新:码字的秃猴

本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自码字的秃猴





