楼主:
L4ys (Lays)
2016-05-05 16:53:10这一题如果光看 disassembly 会非常痛苦
如果有 IDA Decompiler 会轻松许多
整个判断过程翻译回 C 大概是这样:
https://gist.github.com/L4ys/5b53d094f3ac66825a9e7afca30a258b
你看到的部分只是第一个 check,而总共必须通过 51 次 check
这题考的是如何利用 constraint solver 去推算出符合条件的 input
最简单的方法是透过 z3 (https://github.com/Z3Prover/z3) 来求解
附上我比赛时写的 solution:
https://gist.github.com/L4ys/9d4af3f76add2eb111a9c5623ef8f67b
FLAG: CTF{0The1Quick2Brown3Fox4Jumped5Over6The7Lazy8Fox9}
作者:
HowLeeHi (处处留心皆正妹)
2016-05-05 17:17:00感谢说明,因为我前面那一段mov没搞懂在搬什么鬼导致后面理解错误...
作者:
iGene (iGene)
2016-05-05 18:15:00朝圣推
作者: tuyutd0505 (Huang Jason) 2016-05-05 19:22:00
是 lays 我学长我骄傲 推 XDDDD
作者: ddaa (ddaa) 2016-05-05 21:02:00
真不愧是 meh 与他的快乐伙伴 <(_ _)>
作者: alice1993613 (meh) 2016-05-05 21:06:00
朝圣推
作者:
Caesar08 (Caesar)
2016-05-05 21:07:00听说是大神,赶快拜一下
作者: scwuaptx (Angel) 2016-05-05 21:09:00
已跪 <(_ _)>
作者:
wtchen (没有存在感的人)
2016-05-05 22:48:00板工跪迎 <(_ _)>