170706 逆向 南郵CTF平台 1 3

2021-08-03 12:18:56 字數 866 閱讀 8599

1625-5 王子昂 總結《2023年7月6日》 【連續第277天總結】

a.南郵ctf逆向(1-3)

b.1.拖入ida,入門級的re,直接f5看到main的**,很簡單,寫入記憶體的flag:

剛開始看的時候沒理解galf是什麼意思,照著輸卻報錯

後來下斷到記憶體裡看,發現是大端序的原因。每個變數的四位元組需要逆序一下,於是得到flag

2.給出乙個asm檔案要求對其進行分析:

由於**的錯誤耽擱了很久:4004fa-400504和400507-400511這兩段**作用一致,並且後來出現了[rdx]和[rax]引起了我的不解,前文賦值中rdx和rax明明值為字串,這裡為何又使用符號指向記憶體。並且迴圈過程中沒有對陣列變數的處理,26次迴圈都是同乙個變數,也不合理。

猜想4004fa-400504的mov應該為lea,或者mov賦值時不用,即rdx和rax分別為第i個位元組的記憶體位址。這樣就合理了,即對第i個位元組與i異或

寫了個指令碼處理後得到flag

每個位元組先與32異或,-16,然後b64加密,得到的內容與correct字串比較

逆處理只需要先b64解密再+16與32異或即可

然而處理的時候報錯了。使用type()後找到原因:b64解密出的結果為bytes型別,無法直接轉換為ascii的值

用str(,encoding)也沒能解碼,最後直接print然後複製貼上到**裡作為str型別解決

得到flag

c.明日計畫

南郵ctf後三題

170707 逆向 南郵CTF逆向(WxyVM1)

1625 5 王子昂 總結 2017年7月7日 連續第278天總結 a.南郵ctf逆向 4 b.4 記事本開啟發現檔案頭是elf,拖入ida進行反編譯,發現只有幾個函式 檢視main函式,發現輸入以後呼叫sub 4005b6 函式,然後判斷長度是否為24和字串0x601060比較 再進一步看4005...

170818 逆向 南郵CTF(WxyVM2)

1625 5 王子昂 總結 2017年8月18日 連續第320天總結 a.南郵ctf wxyvm2 b.上次沒做完的正巧在52破解論壇上看到有人發問了,就摸過來再做做看 跟wxyvm1比較像,不過感覺這題相比vm來說更像花指令 首先看原始碼分析,先驗證長度為25,然後進行了一大片的加減異或操作,最後...

南郵ctf逆向最後一題

你大概需要乙個優秀的mac 雖然是osx下的程式,但並不一定真的要有mac 正好我也沒mac,只能拖到ida裡面了,發現還真可以 ida有點厲害 找到right wrong字串,觀察下主框架然後果斷f5看下偽 可以看出來就是簡單的輸入長度為56的字串然後經過func1,xfun1,xfun2,xfu...