1.查壳,一开始以为没有壳,反编译之后发现没有什么函数推测可能有压缩壳。
2.OD脱壳。
f7步过后找到oep。
右键脱壳
3.IDA反编译。
关键函数sub_40108C,sub_401041,sub_4010C3,sub_40101E
分别跟进并分析可知前三个都是不同的异或操作,最后的sub_40101E是拼接操作
sprintf(a1,a2,a3):是把a3的值以a2的形式存入a1中。
sub_40108C
sub_401041
sub_4010C3
4.exp
5.get flag
flag{2378b077-7d6e-4564-bdca-7eec8eede9a2}