西普學院逆向writeup ---------你會嗎??

                                                                                          西普學院逆向writeup ---------你會嗎??

                                                                                                --------跳跳龍

      明天我們學校就要ctf比賽,深夜前10幾分鐘正好解了一道逆向題,是西普學院的,昨天,在小強的提醒下,也解了一道,今天就寫寫自己的writeup,寫完睡覺。

      首先拿到re1.exe。運行一下,歡迎我來到DUTCTF。說實話,我都沒在意,接下來,隨便輸入了123456.提示錯誤。

     

      接下來,我就放在IDA裏看了一下,(友情提示:大家可以嘗試一下只做自己的sig文件,使逆向效果更加完美),流程非常清晰,感覺不是很難。


接下來,發現,sub_40127B是輸出函數,sub_4010D1是輸入函數,並且自己的輸入存在&v8中,與&v4進行比較,如果結果不相等,便提示不對。可見這個函數在執行時,也就是在同一個函數棧幀區間。內,v8在 [sp+20h],v4在[sp+0h]。可見有思路了,接下來OD閃亮登場,(話說逆向題就是OD與IDA的完美結合,分析加密算法)

      首先我看了一下字符串,這些中文字符是找不到了,但是我們會看見pause這個詞,就是在函數的末尾執行system(“PAUSE”)的時候,壓入棧的。所以很快定位。然後便是執行函數,等待程序執行輸入我們的數據,與真實的flag進行比對。此時我們輸入123456之後,便壓入了flag。

     但是,思路並沒有結束,v4和v8地址相差0x20,v8=bp-24h=0038fd78-24=38fd54,v4=0038fd34.正好相差20h,和我們預想的一樣。明天考試,滾去睡。。。


      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章