[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="")
相关文章
|
5月前
|
存储
leetcode2题解
Leetcode2两数相加的题解
25 2
|
5月前
leetcode3题解
leetcode3的题解
22 1
|
5月前
leetcode209题解
leetcode209题解
32 0
|
5月前
|
算法
leetcode4题解
leetcode4题解
26 0
Leetcode contests 93 题解
870. Advantage Shuffle 起始就是hdoj 1502田忌赛马,但要求的结果不一样而已。这里我用了个pair来记录B中每个数字对应的位置。
45 0
|
数据安全/隐私保护
[FlareOn5]FLEGGO 题解
[FlareOn5]FLEGGO 题解
54 1
|
数据安全/隐私保护
CrackRTF 题解
CrackRTF 题解
62 0
|
数据安全/隐私保护
[FlareOn6]Overlong 题解
[FlareOn6]Overlong 题解
91 0
Leetcode contests 95 题解
用容斥原理可以计算出一个数字Num之下有多少个A或B的倍数cnt,我们从最大值二分这个数字Num,拿cnt和N做比较来决定二分的走向,最终l和r肯定会收敛到一起,这就是我们要的结果了。 这道题的数值范围不是特别大 ,用long就可以完全满足需求了。
24 0