初探mips逆向

动调环境目前还没有搭起来
静态先走起把。。。
整了半天。。。

Xman-babymips

加密比较简单
retdec看起来还是比较难受的。。。
毕竟没有优化过,虽然说反编译的都是对的
1
可以看到一开始会对前5个字符进行验证
当然因为某些原因我搞了半天
比如说。。。优先级。。。
前五个是qctf{
然后进入下一步验证
2
有好多/ * 操作
其实就是左移和右移。。。
没有优化过看起来就是难受

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a = 'Q|j{g'
flag = ''
for i in range(len(a)):
flag += chr(ord(a[i])^32-i)
b = [0x52, 0xFD, 0x16, 0xA4, 0x89, 0xBD, 0x92, 0x80, 0x13, 0x41,
0x54, 0xA0, 0x8D, 0x45, 0x18, 0x81, 0xDE, 0xFC, 0x95, 0xF0,
0x16, 0x79, 0x1A, 0x15, 0x5B, 0x75, 0x1F]
x = 5
for i in range(len(b)):
for j in range(128):
temp = j
temp = temp^32-x
if x % 2 == 0:
temp = ((temp >> 6)&0xff)|((temp<<2)&0xff)
if x%2 != 0:
temp = ((temp << 6) & 0xff) | ((temp >> 2) & 0xff)
if temp == b[i]:
flag += chr(j)
x += 1
break
print flag
#qctf{ReA11y_4_B@89_mlp5_4_XmAn_}
文章目录
  1. 1. Xman-babymips
|