-
-
[原创]2019CTF晋级赛Q1第一题流浪者分析
-
2019-3-14 16:25 2302
-
打不动了,来补齐wp。
第一题很简单的。
试运行
看到这样的提示错误,作为一个混迹在看雪的咸鱼,立马应该想到MessaggeBox,找到主流程!
静态分析
看看导入表,找到MessageBox:
然后看那个函数调用了它:
然后进入到那个函数:
往上几层就到了主逻辑:
Str即为flag,然后根据flag的范围做变形处理,然后进入sub_0x4017f0
然后sub_0x4017f0做的是查表置换之后与目标字符串比较,一致则打印成功:
Keygen
因此,提取出目标字符串KanXueCTF2019JustForhappy,再来个反查表,就可以得到传入sub_0x4017f0的参数,然后再根据范围来个反处理。即可得到flag:
goal="KanXueCTF2019JustForhappy" table="abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ" idx=[] for i in goal: idx.append(table.index(i)) for i in idx: if i>35 and i <62: print chr(i+29), elif i>9 and i<36: print chr(i+87), elif i>-1 and i <10: print chr(i+48),
赞赏
他的文章
看原图