用記事本開啟後發現前面有elf,所以確認這個是乙個elf檔案.
開啟ida,載入wxyvm1,找到main函式,按f5,得到偽**,並對偽**進行分析
對sub_400586這個函式進行分析
觀察這個函式,發現裡面只有6010c0這個位址和604b80這個位址,並沒有601060這個位址,說明這個函式是根據6010c0處的資料對使用者輸入的字串進行重寫,然後重寫後的資料再與601060處的資料進行比較,下面對這個函式進行詳細的分析,來觀察它到底是怎麼對使用者輸入的資料進行重寫的
下面我們再來觀察一下6010c0處的資料
我們發現,這個資料非常有規律,再配合前面的for迴圈是i += 3,判斷處6010c0處存放的其實是乙個以3個位元組為乙個元素的陣列,並且元素中的第一項(v0)決定了進行什麼樣的操作,第二項byte_6010c0[i + 1]決定了在哪個地方進行操作,第三項(v3)決定了與什麼樣的數進行操作
由於加減乘除,按位異或的逆向運算比較簡單,我們發現這個題可以直接進行逆向,於是編寫idc指令碼
最終的到真正的flag 為nctf
WP 南郵CTF逆向第五題 maze
用記事本開啟maze,發現是elf檔案 將maze載入idapro,找到main函式,按下f5檢視其偽 分析偽 根據分析,可知0x601060處是乙個迷宮 maze 我們對sub 400690這個函式進行分析 然後觀察0x601060處的資料,是儲存了64個資料,再根據sub 400690這個函式中...
南郵ctf逆向最後一題
你大概需要乙個優秀的mac 雖然是osx下的程式,但並不一定真的要有mac 正好我也沒mac,只能拖到ida裡面了,發現還真可以 ida有點厲害 找到right wrong字串,觀察下主框架然後果斷f5看下偽 可以看出來就是簡單的輸入長度為56的字串然後經過func1,xfun1,xfun2,xfu...
南郵攻防訓練平台逆向第四題WxyVM
檔案elf檔案,執行輸入flag,用ida開啟逆向演算法 不是很複雜,可以看出flag長度需要24,最終會和已給出dword 601060進行比較,一致則成功,那麼現在只需要看上面的sub 4005b6 和函式了 跟進兩個位址進去看一下,發現有已經給出的處理所需資料,只是比較多,有15000個,想了...