BUUCTF reverse findKey

用ida32打开找到主要算法。发现无法F5进行反编译,选中代码后摁p键将代码解析成函数。

分析一波代码发现加密逻辑应该是str与SS先进行异或

之后是一个MD5的加密,在sub_40101E调用了md5的加密库函数。

说实话我也是第一次遇到这个东西,也是放放大佬告诉的,给大佬磕一个。

MD5加密之后又是一个异或,解出即为flag。

贴上脚本

 1 a='0kk`d1a`55k222k2a776jbfgd`06cjjb'
 2 b='SS'
 3 s=''
 4 flag=''
 5 for i in range(len(a)):
 6     s+=chr(ord(a[i])^ord(b[i%2]))
 7     print (s)
 8 b='123321'
 9 c=[0x57,0x5E,0x52,0x54,0x49,0x5F,0x1,0x6D,0x69,0x46,0x2,0x6E,0x5F,0x2,0x6C,0x57,0x5B,0x54,0x4C]
10 for i in range(len(c)):
11     flag+=chr(c[i]^ord(b[i%len(b)]))
12 print(flag)

flag{n0_Zu0_n0_die}

posted @ 2021-01-29 23:16  Sk2rw  阅读(110)  评论(0)    收藏  举报