0x00 前言

借机学学wasm逆向

0x01 解

直接将.wasm文件拖入JEB(安卓逆向用的那个),选择wasmbc

直接去main函数,找到调用了函数f7

双击进去右键反编译

还算清晰,就是一个循环异或,最后一位明文由第一位密文加密,密文就在&aEBPGRM_VER9B_Q5S里面

附个脚本

1
2
3
4
5
6
7
enc = 'EBPGRM|VE9B]Q5Sb4vJ^2|ZoU[t?SiDf9Cx'
enc=list(enc)
flag = ''
for i in range(len(enc)-1,-1,-1):
enc[i]=chr(ord(enc[i]) ^ (ord(enc[(i+1)%len(enc)]) & 0xf))
print(''.join(enc))
# DASCTF{WA4M_R3Ve7sE_1s_eZ_t0_lEa7N}

真不难,但是没做过所以一窍不通,借此也是学习了JEB在解析wasm的用处了,比搜到的又是编译又是头文件的简单很多

后面查到还有IDA解析wasm项目,不过插件已经变为归档了,而且好像只能用python2来编译,不如JEB了