欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

攻防世界 reverse之 elrond32

程序员文章站 2022-05-15 11:51:31
...

elrond32

难度系数: 1

题目来源: tinyctf-2014

思路:

因为题目很简单直接放进IDA32里面
攻防世界 reverse之 elrond32
进入sub_8048414函数瞅瞅
攻防世界 reverse之 elrond32
攻防世界 reverse之 elrond32
分析出题目的大致思路就是验证key然后打印flag
重点在如何确定key,通过分析,key是根据a2再在case里确定,所以先确定a2.
攻防世界 reverse之 elrond32
由于case只有12345679,其余的就defult,return1,所以a2有10个值,
再看flah输出函数,可以看到,只需要前8个,所以我们手动根据case找到前八个,
攻防世界 reverse之 elrond32

攻防世界 reverse之 elrond32
直接写出对应的python代码即可

key=[105,115,101,110,103,97,114,100]
v2=[0x0F,0x1F,0x04,0x09,0x1C,0x12,0x42,0x09,0x0C,0x44,0x0D,0x07,0x09,0x06,0x2D,0x37,0x59,0x1E,0x00,0x59,0x0F,0x08,0x1C,0x23,0x36,0x07,0x55,0x02,0x0C,0x08,0x41,0x0A,0x14]
a=''
for i in range(33):
    a+=chr(v2[i]^key[(i%8)])
print(a)

得到flag
flag{s0me7hing_S0me7hinG_t0lki3n}

相关标签: reverse