CTF之逆向初探

0x01簡單的入門題目

題目地址鏈接:http://pan.baidu.com/s/1skMTE3b 密碼:pq1m

這里有writeup:http://blog.csdn.net/hhhparty/article/details/51762234

http://blog.csdn.net/calmegm/article/details/49009867

感謝兩位博主的指導

打開程序后需要輸入flag,顯然我們是不知道的,隨便輸個就是錯,太正常了。。。。。

用IDA打開,左側很多函數,一個一個的F5,找到sub_4113A0這個函數,發現里面有判斷輸入的代碼,

當v3為假的時候會輸入right,有兩個判斷的地方,先看簡單的,就是當v28!=49這幾個,轉換ascii碼之后是1024},先留著看第二個判斷,發現是一個for循環,當v27數組里的所有元素等于byte_415768[*(&v4+i)]的時候v3為假,&v4表示v4的地址,那么就是從v4的地址一直到v4+17的地址.

而這里的定義顯然不是我們要的結果,于是我們回到未反編譯的代碼里找到byte_415768這個地址,

看到這里有個注釋;byte_415768[],創建了一個數組,下一行;DATA XREF:sub_4113A0+1E........打不出來了。。。。

就是說sub_4113A0+1E.....引用了byte_415768這個數組變量,地址為415769這里是存放的415768的元素(我理解為sub_4113A0對應的地址加上偏移的1E3r就是加了個1,也就是415769這個地址),數組名字是aWfx......就是db之前的那一串,db后面是數值:wfxc{gdv}fwfctslydRddoepsckaNDMSRITPNsmr1_=2cdsef66246087138',0? ? ? 0表示結束,接下來就容易多了byte_415768[*(&v4+i)],i從0加到17,對應的是v4 v5 v6 ......v21,對應的值是1 4 14 。。。。。,放到415769里對應的就是w c t.......(我也不理解為啥數組不是從0開始標記,求大師傅們教),最后兩個flag拼接起來就完整了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容