1.检查函数并且去花指令
根据提示我们可以知道是花指令?
程序的逻辑是非常的清晰明了的,就是将我们输入的buf进行加密最后与b1进行比较
根据这个jz jmp我们很容易知道这是一个花指令我们选择直接nop掉
重定义函数发现没反应?
按C强制转化为代码,重新在函数头p重定义函数
F5进行反编译
于是我们进入了decode()函数
发现有错误?但是很影响我们看这个函数大意
换种方式把这改成nop一样的操作都是
2.查看decode函数并且进行RC4解密
keyinit 和d 这两个函数都用到了s点进去看看?
发现是典型的RC4加密
而这就是我们的密钥了,但是要注意大小端?
然后提取b1的数据
进行解密
sictf{y0u_ar3_r3@11y_Kn0w_Rc4}