題目提示是走迷宮。
ida引導程式分析。
輸入字元長度必須是24,開頭必須是nctf。
在125處按r就可以變成字元。
sub_400650和sub_400660是關鍵函式,分析sub_400650。
v10的下一字節減1.
v10的下一位元組加1.
分析這兩個函式。
v10減1.
v10加1
再看最後的比較函式。
v9就是剛才的v10,應該是ida自己隨機的吧。
進入函式
a1是迷宮位址,a2是v10下一單位,shidword就是這個意思,a3就是v10。
經過分析,可知 o:a2-1 o:a2+1 . :a3-1 0:a3+1 可以看出 就是上下左右,然後我們走迷宮走到0x23處,將方向記錄,換成對應的符號就拿到了flag。
逆向 攻防世界 logmein
ida引導程式,shift f12檢視關鍵字串,找到 然後進入主函式,經過分析,可以得出 輸入的字元要等於 經過處理的v7和v8的異或。v8很明顯,但是v7是怎麼回事呢,新手沒有遇到過,所以上網檢視資料,ll是長長整型,v7要轉換為16進製制然後在轉換為字串,而且字元是小端序,所以把得到的字元翻轉然...
逆向 攻防世界 crackme
查殼,nspack殼,直接用軟體脫殼,ida引導程式。很明顯,就是將402130的資料和輸入的資料進行異或,判斷是否等於402150處的資料。dwrd佔4位元組。這道題主要記錄一下剛學到的,直接在ida使用python指令碼。from ida bytes import get bytes s dat...
攻防世界逆向WP,easy Maze
迷宮問題參考 可以看到這裡有三個函式,step 0,step 1,step 2,應該就是對已有資料的操作了。變數中v9已知 v7,maze未知,所以猜測step 0函式負責將v9的值經過變換傳遞給v7,step 1負責將v7的值變化傳遞給maze,最終由在step 2處傳入maze陣列。進入step...