檔案elf檔案,執行輸入flag,用ida開啟逆向演算法:
不是很複雜,可以看出flag長度需要24,最終會和已給出dword_601060進行比較,一致則成功,那麼現在只需要看上面的sub_4005b6()和函式了:
跟進兩個位址進去看一下,發現有已經給出的處理所需資料,只是比較多,有15000個,想了想最後還是決定把資料提出來(其實是沒其他辦法了==)
提資料:
edit -> extract data 即可.
最後是逆推py指令碼:
1得到flag:nctf#-*- coding: utf-8 -*-
2 final = [0xc4,0x34,0x22,0xb1,0xd3,0x11,0x97,0x7,0xdb,0x37,0xc4,0x6,0x1d,0xfc,0x5b,0xed,0x98,0xdf,0x94,0xd8,0xb3,0x84,0xcc,0x8]
3 tmp = [0x1,0x10,0x25,0x3,0x0d,0x0a,0x2,0x0b,0x28,0x2,0x14,0x3f,0x1,0x17,0x3c,0x1,0x0,0x69,0x1,0x12,0x3f,......]
4 i = 14997
5while i >=0:
6 v0 =tmp[i]
7 v3 = tmp[i+2]
8if v0 == 1:
9 final[tmp[i+1]] -=v3
10elif v0 == 2:
11 final[tmp[i+1]] +=v3
12elif v0 == 3:
13 final[tmp[i+1]] ^=v3
14elif v0 == 4:
15 final[tmp[i+1]] /=v3
16elif v0 == 5:
17 final[tmp[i+1]] ^= final[tmp[i+2]]
18 final[tmp[i+1]] &= 0xff //需要注意的地方,因為ascii字元碼範圍為0~127,可能發生越界
19 i -= 3
2021
for x in
final:
22print(chr(x), end = '')
被資料範圍坑了好久,以後要多多注意。
WP 南郵CTF逆向第四題 WxyVM1
用記事本開啟後發現前面有elf,所以確認這個是乙個elf檔案.開啟ida,載入wxyvm1,找到main函式,按f5,得到偽 並對偽 進行分析 對sub 400586這個函式進行分析 觀察這個函式,發現裡面只有6010c0這個位址和604b80這個位址,並沒有601060這個位址,說明這個函式是根據...
CTF 南郵攻防平台(web2)
burpsuit抓包,將響應頭中的cookie項的login 0 改為login 1 即得flag 1 按照指示訪問index.txt 2 讀php原始碼,發現是urldecode多進行了一次,那麼傳參的時候多進行兩次url編碼 提交即可 burpsuit抓包,在響應頭中新增x forwarded ...
南郵ctf逆向最後一題
你大概需要乙個優秀的mac 雖然是osx下的程式,但並不一定真的要有mac 正好我也沒mac,只能拖到ida裡面了,發現還真可以 ida有點厲害 找到right wrong字串,觀察下主框架然後果斷f5看下偽 可以看出來就是簡單的輸入長度為56的字串然後經過func1,xfun1,xfun2,xfu...