[UTCTF2020]babymips 题解

简介: [UTCTF2020]babymips 题解

可以看出将输入字符串进行异或加密之后,判断前5位,就是“flag{”,然后进入  sub_4007F0(v5)

进行移位加密后判断五位之后的字符

跟进,加密后的字符串

爆破脚本

data=[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]
print("flag{",end='')
for i in range(len(data)):
    if i%2==0:
        data[i]=(data[i]&0x3f)<<2|(data[i]&0xc0)>>6
        print(chr(data[i]^0x20-i-5),end="")
    else:
        data[i]=(data[i]&0xfc)>>2|(data[i]&0x3)<<6
        print(chr(data[i]^0x20-i-5), end="")
目录
打赏
0
1
1
0
4
分享
相关文章
题解 Sticks 小木棍
这篇文章提供了一个C++程序的题解,使用深度优先搜索(DFS)和剪枝技术来解决如何将不同长度的小木棍拼接成若干根长度相等的木棍的问题,以求得拼接长度的最小值。