BUU-[SWPU2019]ReverseMe


yu遇到復雜的函數 不妨動態跟一下

 

 

 

 程序流程很清晰 

1.輸入 判斷是否為32位

2.與字符串 SWPU_2019_CTF 異或

3.maincode加密

4.對比

這里的加密函數極為復雜 我們用x32dbg跟一下 發現仍然是一個異或加密

 

 

 異或數據如下

 

 

直接異或解密得到flag

from pwn import *
mid1 = 'SWPU_2019_CTFSWPU_2019_CTFSWPU_2019_CTF'
mid2 = []
f = open('so.in')
for i in range(2):
    s = f.readline()
    for j in range(16):
        mid2.append(int(s[j*3:j*3+2],16))
end = ''
end += p32(0xF80F37B3)
end += p32(0x5DAEBCBC)
end += p32(0x864D5ABA)
end += p32(0xD3629744)
end += p32(0x1624BA4F)
end += p32(0x1A729F0B)
end += p32(0x266D6865)
end += p32(0x67C86BBA)
flag = ''
for i in range(32):
    flag += chr(ord(end[i]) ^ ord(mid1[i]) ^ mid2[i])
print flag




so.in
86 0C 3E CA 98 D7 AE 19 E2 77 6B A6 6A A1 77 B0
69 91 37 05 7A F9 7B 30 43 5A 4B 10 86 7D D4 28
View Code

 


免責聲明!

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



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