無殼,ida載入,發現最終比較是和you_know_how_to_remove_junk_code這個字串,那麼這個程式中應該有垃圾**。我們往上分析。
可以發現對v13進行處理的函式,跟進。這個函式我沒有頭緒,好垃圾。
看了大佬們的思路,才知道這段主要是base64解密。
這個位址是解碼表,
我太菜了,過幾天演算法實驗寫完好好看看base64.以後遇到不懂得一定得弄懂不能馬馬虎虎了。
import base64s = 'you_know_how_to_remove_junk_code'
tmp = ''
for i in range(len(s)):
tmp += chr(ord(s[i]) ^ 0x25)
print(base64.b64encode(tmp.encode('utf-8')))
逆向 攻防世界 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...