作者L4ys (Lays)
看板C_and_CPP
標題Re: [問題] 請問C程式的反組譯問題
時間Thu May 5 16:53:10 2016
這一題如果光看 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}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.65.207
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1462438396.A.A4D.html
1F:推 HowLeeHi: 感謝說明,因為我前面那一段mov沒搞懂在搬什麼鬼 05/05 17:17
2F:→ HowLeeHi: 導致後面理解錯誤... 05/05 17:19
3F:推 TobyH4cker: 推大大 05/05 17:19
4F:推 x000032001: lays大神 未看先推 05/05 18:13
5F:推 tjjh89017: 朝聖推 05/05 18:14
6F:推 iGene: 朝聖推 05/05 18:15
7F:推 winken2004: wow 05/05 18:19
8F:推 tuyutd0505: 是 lays 我學長我驕傲 推 XDDDD 05/05 19:22
9F:推 ddaa: 真不愧是 meh 與他的快樂夥伴 <(_ _)> 05/05 21:02
10F:推 alice1993613: 朝聖推 05/05 21:06
11F:推 Caesar08: 聽說是大神,趕快拜一下 05/05 21:07
12F:推 scwuaptx: 已跪 <(_ _)> 05/05 21:09
13F:→ wtchen: 板工跪迎 <(_ _)> 05/05 22:48
14F:推 mabinogi805: 大大降臨,推上! 05/06 18:07
15F:推 HolyBugTw: 會反組譯的一律要拜... 05/09 17:35