nctf復現 re1
彩筆一個,還請大佬多多指正
這道題說簡單也不簡單,有點小難度,主要是他的程式碼混淆太噁心了
首先ida開啟,f12關鍵字,轉到main函式
底下wrong的地方進行判斷,把資料弄下來
a=[0xC6, 0x6A, 0xC0, 0x27, 0xEB, 0xCA, 0x65, 0x02, 0x61, 0xCA,
0x68, 0x27, 0x6B, 0xE2, 0xC0, 0xE0, 0x00, 0x80, 0x22, 0x27,
0xE1, 0xA1, 0x02, 0x27, 0x63, 0x4B, 0xA8, 0xE3]
然後倒著看,v2來自v16(sub_401880那個函式就是原地tp函式)
v16來自v15,v15來自v17,這裡來到關鍵函式
sub_401960這個函式應該是一吧v17給了v15(混淆太多,應該是這樣,大神勿噴)
然後看v17,sub_4014d0是個加密函式,引數分別是v9和v18,v18在上面有定義,r一下轉字串會發現v18=“nctf”(注意是小端儲存)
然後看v9,v9來自v13(sub_401AD0實現的就是普通的賦值),v13來自v14,sub_401B70如圖
這裡只有標註的那個函式有意義,其他的都是些混淆,那麼就很明瞭了,v13就等於v14,v14就是輸入
之後是構造指令碼,把關鍵加密函式弄下來
發現這加密太多了,不好逆向解,於是考慮到爆破
a=[0xC6, 0x6A, 0xC0, 0x27, 0xEB, 0xCA, 0x65, 0x02, 0x61, 0xCA,
0x68, 0x27, 0x6B, 0xE2, 0xC0, 0xE0, 0x00, 0x80, 0x22, 0x27,
0xE1, 0xA1, 0x02, 0x27, 0x63, 0x4B, 0xA8, 0xE3]
v18='nctf'
for i in range(len(a)):
for j in range(0,255):
a1=j
a2=ord(v18[i%4])
v2 = (~a2 | ~a1) & (~a2 | a1) & (a2 | a1) | (~a2 | ~a1) & (a2 | ~a1) & a2 & a1 | a2 & ~a1 | ~a2 & a1
v2 = 0xff&((~(32 * v2) | ~(v2 >> 3)) & (~(32 * v2) | (v2 >> 3)) & (32 * v2 | (v2 >> 3)) | (~(32 * v2) | ~(v2 >> 3)) & (32 * v2 | ~(v2 >> 3)) & (32 * v2 | (v2 >> 3)))
if(v2 == a[i]):
print(chr(j),end='')
break
值得注意的一點:
這裡需要與一個0xff,因為
這裡定義v15的時候,v15是unsigned int型別,在32位程式裡佔4位元組,所以每個v2可能超出4位元組(實際上都超出了),需要與上一個0xff(可以這麼解釋吧…)
感想:相較於re2,這個混淆有點多,需要耐心去看,有些小細節的地方需要注意一下。
相關文章
- H&NCTF
- 【wp】2021V&NCTF
- [NCTF2019]Fake XML cookbookTF2XML
- NCTF2022 - pwn 部分 wpTF2
- [H&NCTF] maybe_xor題解
- NSBM模型復現模型
- Apache漏洞復現Apache
- BaseCTF復現-Crypto
- weblogic 漏洞復現Web
- weblogic ssrf漏洞復現Web
- 笑臉漏洞復現
- Vulhub WebLogic漏洞復現Web
- Tomcat系列漏洞復現Tomcat
- Github復現之TransUNetGithub
- 【阿菜漏洞復現】DeFi 平臺 MonoX Finance 漏洞分析及復現MonoNaN
- phpStudy poc漏洞復現以及漏洞修復辦法PHP
- graspnet復現保姆級教程
- Split to Be Slim: 論文復現
- Weblogic-SSRF漏洞復現Web
- 護網漏洞復現(三)
- CVE-2022-4230 復現
- CVE-2023-23752 復現
- CVE-2023-1313 復現
- RILIR 復現 & 一些 ideaIdea
- Redis未授權漏洞復現Redis
- 動態sbm模型dsbm復現模型
- CVE-2015-5254漏洞復現
- CVE-2016-3088漏洞復現
- IIS短檔名漏洞復現
- nginx目錄穿越漏洞復現Nginx
- CVE2019-11043漏洞復現
- 2020西湖論劍Web復現Web
- 【漏洞復現】Paraluni 安全事件分析事件
- cve-2020-1472 漏洞復現
- 委派與約束委派復現
- DLL劫持學習及復現
- Joomla 3.4.6 RCE復現及分析OOM
- CODESYS V3遠端堆溢位漏洞復現(環境配置+復現過程)