攻防世界——第5題
首先還是執行程式看執行的機制
他會提示你輸入錯誤,這是我們解題的乙個關鍵,提示我們相關判斷的位置
那我們還是用jeb反彙編看看**有什麼吧。
經過分析,是呼叫過native層的ncheck方法,於是我們就分析一下native層
這裡糾紛發現裡與輸入的flag比較的地方。圖中有兩個字串處理的函式,我們分析一下
第乙個是將字串前16位於後16位交換位置
第二個方法就是每兩個一組進行交換
因此,我們可以直接逆著解密就可以了
經過這兩層後會得到這樣乙個字串:qaooqmpfks1bsb7cbm3tqsxg30i9g3==
顯然這不是我們想要的答案
然後我們就返回jeb介面看看還有沒有什麼線索
看到這裡就發現實現用a這個類裡面的方法處理後再呼叫了native層的方法,所以最後一層解密就是這裡。一看就是base64加密,知識換了乙個加密本而已。使用指令碼就可以解密啦。
答案: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...