一.re3
1.查壳。无壳,64位。
2.IDA反编译。
分析逻辑:执行循环将v17进行累加(最后一位是flag),得到v16,v16在与0xffff比较
(如果v16在累加过程中大于0xffff,执行第二个循环)。
由于flag是加的最后一位数,可以动调得到前几位加完后的v16值。
运行后v16==0xE560
只需要是flag+0xE560==0xFFFF就可以。得到flag==0x1A9F
3.get flag
flag{1a9f}
二.签退。
1..pyc文件
反编译(python反编译 - 在线工具)
分析逻辑:两部分加密,第一部分为base64(换表),第二部分为凯撒加密(位移为2)
第一部分:表为:
2.解密
3.get flag
flag{c_t_f_s_h_0_w_!}