实验吧 转瞬即逝

 

题目链接: http://ctf5.shiyanbar.com/re/rev1  

 

我就想知道为啥叫转瞬即逝。。。

用IDA看到主函数就是关键代码,直接看逻辑

 

关键是循环,先给s赋值,计算s长度,申请s那么长的空间给ptr,把相同位置的s异或一下位置值,得到flag

 

我用python解了一下

 

s = 'tikp[luX|aoTjaoh'
v3 = len(s)
ptr = []
for x in range(0,v3):
    ptr.append(x)

for i in range(0,v3):
    ptr[i] = ord(s[i]) ^ i
    # ptr[i] = 0
print(ptr)
flag = ''
for i in ptr:
    flag = flag + chr(i)
print(flag)

 

本来我还用c复现一下这个题,但是结果不尽人意(有乱码),逆向回去也和这题不一样,哎。。。。

 

 这是c的结果:(

posted @ 2017-07-06 15:21  时光不改  阅读(251)  评论(0编辑  收藏  举报