有個附件,打也打不開,也沒字尾不知道是什麼型別的,就先查殼
發現這不是pe檔案,是elf檔案,將程式在linux環境下執行。
檢視檔案詳細資訊,是32位的程式。
放入32位的ida,找到main函式,然後f5檢視偽**。
int __cdecl main()
c語言中,puts是個輸出函式
puts
("我愛你!");
//直接輸出字串
發現最後是取strs這個字串,輸出。然後就跟進看看這個字串是啥。
為啥別人跟進字串都是可以直接得到flag的,我的就不行,而且好幾次了,我的ida跟別人的偽**不一樣,我的64位ida不能用f5得到偽**,我的ida找不到main函式,我要瘋了。
在kali下,輸入命令+檔名,檢視這個檔案的字串。
在ida裡面也可以檢視字串。
記事本應該先試一試
逆向 攻防世界 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...