1.用ida载入,看出是MIPS程序

2.按f5键,不能进行反汇编

3.找关键代码,进入main函数,发现一个字符串,往下可以exit_funct和congratulations字符串,因此可以推出关键代码在exit_funct上面。


4.经过观察发现,有一个异或运算符,其它的没看到明显的,那么可能对字符串cbtcqLUBChERV[[Nh@_X^D]X_YPV[CJ进行异或操作。

5.接着写求flag的算法。
s='cbtcqLUBChERV[[Nh@_X^D]X_YPV[CJ'
xor=0x37
flag=''
for i in range(0,len(s)):
flag+=chr(ord(s[i])^xor)
print flag


本文介绍了一种MIPS程序的逆向工程方法,通过IDA加载并分析程序,定位到关键代码段,发现异或操作并推断其作用于特定字符串。最终,通过编写算法解密该字符串,成功获取Flag。
822

被折叠的 条评论
为什么被折叠?



