buuoj-[FlareOn4]IgniteMe
1.32bit无壳
2.找到函数start,看着很乱,其实都点开看看很简单的
3.加密函数
倒着往前异或
第一个v4是这个:v4 = sub_401000();
点进去:
逻辑左移4次之后,向右移动一位
算不出来的v4
解决方法1:用同态调试去看看v4初始值是多少
解决放法2:计算出
这里找了一下大佬的博客
data=[0x0D, 0x26, 0x49, 0x45, 0x2A, 0x17, 0x78, 0x44, 0x2B, 0x6C,
0x5D, 0x5E, 0x45, 0x12, 0x2F, 0x17, 0x2B, 0x44, 0x6F, 0x6E,
0x56, 0x09, 0x5F, 0x45, 0x47, 0x73, 0x26, 0x0A, 0x0D, 0x13,
0x17, 0x48, 0x42, 0x01, 0x40, 0x4D, 0x0C, 0x02, 0x69]
data.reverse()
tem=4
flag=''
print(len(data))
for i in range(len(data)):
flag+=chr(data[i]^tem)
tem=data[i]^tem
print(flag[::-1])
得到flag{R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com}