re | [ACTF新生賽2020]SoulLike


這是一道x64的elf逆向。

代碼簡潔明了,直接上圖:

先檢測前幾位,然后測5, 11位;這里進一個叫sub_83A的函數,這個函數太大了導致沒辦法反編譯,大概看了一下匯編,是一個對后面的加密操作,然后對比,驚喜的是,它會給我們報錯,告訴我們錯在哪一位:

啊這么玩兒的話我肯定選擇爆破了,直接上pwntool,干就完了,丟腳本了:

 1 from pwn import *
 2 import re
 3 
 4 flag = "actf{"
 5 # context.log_level="debug"
 6 
 7 k = 0
 8 while True:
 9     for i in range(33,127):
10         p = process('./SoulLike')
11         _flag = flag + chr(i)
12         print _flag
13         p.sendline(_flag)
14         s = p.recvline()
15         r = re.findall("on #(.*?)\n", s)[0]
16         r = int(r)
17         if r == k:
18             print 'no'
19             print k
20         elif r == k + 1:
21             print s
22             flag += chr(i)
23             k += 1
24             p.close()
25         p.close()
26     if k > 11:
27         break
28 print flag

等報錯把最后一條拿出來加個'}',搞定!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM