攻防世界-Reverse-666(图解详细)
自述
這道題對于新手來說還是比較經(jīng)典的,把逆向與python腳本的編寫聯(lián)系了起來;因?yàn)閯傞_始我沒有學(xué)python,一遇到腳本什么的就很懵,學(xué)了半個(gè)月python后,我對做題有個(gè)更深的認(rèn)識(shí),記錄一下;
解題
把文件放入IDA
找到main函數(shù), 這一段很短卻提供了很多的信息;
意思是:輸入一串字符,進(jìn)入encode(點(diǎn)進(jìn)去發(fā)現(xiàn)是一個(gè)加密函數(shù))
再往下走,長度與key相比較,要求長度等于key,再往下走,把加密后的字符與enflag相比較,兩者相等
**一.**先點(diǎn)進(jìn)key看看;
有兩個(gè)信息 1. key的長度是12h 需要注意12h是十六進(jìn)制,將其轉(zhuǎn)換成10進(jìn)制(轉(zhuǎn)換時(shí)不要帶h哦!我就因?yàn)閹Я死速M(fèi)我一些時(shí)間)是18
2.enflag的值為izwhroz"“w"v.k”.Ni,放到ASCII碼在線解密網(wǎng)站
ASCII碼轉(zhuǎn)換:傳送門:Killer Queen
進(jìn)制轉(zhuǎn)換網(wǎng)站你們自己找吧 -.-
接著再點(diǎn)進(jìn)去encode這個(gè)函數(shù);把輸入的字符串長度分為3個(gè)為一組,再進(jìn)行加密運(yùn)算
接下來編寫python腳本,把這個(gè)加密腳本逆著寫,flag就出來了;
腳本如下:
enflag=[105, 122, 119, 104, 114, 111, 122, 34, 34, 119, 34, 118, 46, 75, 34, 46, 78, 105, 0] flag='' for i in range(0,18,3):flag+=chr((18^enflag[i])-6)flag+=chr((18^enflag[i+1])+6)flag+=chr(18^enflag[i+2]^6) print(flag)對腳本中函數(shù)有不了解的同學(xué)請看我的另一篇文章Jojo~
總結(jié)
以上是生活随笔為你收集整理的攻防世界-Reverse-666(图解详细)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CTF-密码学-攻防世界-幂数加密(云影
- 下一篇: glance-50(秒解秒懂)