[SICTF]stream
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}

浙公网安备 33010602011771号