最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

中國(guó)頂級(jí)CTF競(jìng)賽網(wǎng)絡(luò)安全大賽--2022網(wǎng)鼎杯re2解題思路來(lái)了,快來(lái)圍觀!

2022-10-20 18:27 作者:rkvir逆向工程學(xué)院  | 我要投稿

作者:黑蛋

一、脫殼

PEID查不出來(lái),用了die,顯示是UPX3.96的殼,用了脫殼機(jī),脫不了,只能手動(dòng)脫殼,拖入x64dbg,F(xiàn)9運(yùn)行到程序領(lǐng)空,很明顯的特征,push:


無(wú)腦使用ESP定律大法,對(duì)ESP下硬件訪問(wèn)斷點(diǎn):



F9運(yùn)行,在pop處停下:



F4運(yùn)行到下面第一個(gè)jmp,F(xiàn)8,進(jìn)去又是一個(gè)jmp,繼續(xù)F8,到達(dá)OEP:



使用x64dbg插件dump:



第一步先dump保存,然后第二步,第三步,第四步選擇剛才dump保存的程序:



脫殼成功,但是運(yùn)行一閃而過(guò),這是動(dòng)態(tài)基址搞的鬼,手法很多,有脫殼機(jī)有禁用動(dòng)態(tài)基址選項(xiàng),這里我們直接把程序拖入010Editor修改標(biāo)志位,改為20即關(guān)閉動(dòng)態(tài)基址,保存退出:



可正常運(yùn)行,接下來(lái)分析算法。

二、算法分析

1、進(jìn)入主函數(shù)(很明顯是vs寫的程序,根據(jù)步驟找主函數(shù)就行)
F9進(jìn)入程序領(lǐng)空,進(jìn)入第一個(gè)call:



再進(jìn)入第二個(gè)call:



找特征碼,進(jìn)入標(biāo)記的call:



進(jìn)入第四個(gè)call:


走過(guò)一個(gè)跳轉(zhuǎn),進(jìn)入主函數(shù):

2.動(dòng)態(tài)調(diào)試
標(biāo)記的函數(shù)是輸入flag后第一個(gè)call,并且傳參進(jìn)去,所以這里可以跟進(jìn)去看一看:


隨便輸入一部分?jǐn)?shù),回車并跟進(jìn)標(biāo)記函數(shù):

從下面可以看到這邊傳入我們輸入flag,是關(guān)鍵函數(shù),跟進(jìn)去:


分析函數(shù):


可以猜到flag的長(zhǎng)度為20,如果不是20,直接到打印錯(cuò)誤的地方,繼續(xù)向下看,下面對(duì)字符串進(jìn)行第一次處理。亦或66,繼續(xù)看下去,又是一個(gè)比較長(zhǎng)度函數(shù),之后沒(méi)什么了,這個(gè)函數(shù)結(jié)束,直到返回主函數(shù):


下面就是打印wrong,長(zhǎng)度為20會(huì)跳過(guò)這個(gè)打?。?br>


我們看當(dāng)前標(biāo)記的函數(shù),傳入?yún)?shù)是我們flag亦或66之后的字符串,絕對(duì)關(guān)鍵函數(shù),跟進(jìn)去,F(xiàn)8一直運(yùn)行:



我們發(fā)現(xiàn)又對(duì)字符串處理,先+A,再亦或50:


繼續(xù)運(yùn)行發(fā)現(xiàn)關(guān)鍵函數(shù),F(xiàn)8走過(guò)直接失敗,重新到這個(gè)位置,發(fā)現(xiàn)傳入處理后的第一個(gè)字符,跟進(jìn)去:

我們發(fā)現(xiàn)一個(gè)cmp,和我們字符串第一個(gè)字母比較:

查看另一個(gè)地址的值:

繼續(xù)跟,會(huì)發(fā)現(xiàn)直接退出,所以這里是比較函數(shù),直接寫腳本:

#include?

int?main()
{
????unsigned?int?dword_14001D000[20]?=?{
????0x0000004B,?0x00000048,?0x00000079,?0x00000013,?0x00000045,?0x00000030,?0x0000005C,?0x00000049,
????0x0000005A,?0x00000079,?0x00000013,?0x00000070,?0x0000006D,?0x00000078,?0x00000013,?0x0000006F,
????0x00000048,?0x0000005D,?0x00000064,?0x00000064
????};

????char?flag[21]?=?{?0?};

????for?(int?i?=?0;?i?<?20;?i++)
????{
?????? flag[i]?=?((dword_14001D000[i]?^?0x50)?-?10)?^?0x66;
????}

??? printf(flag);

????return?0;
}

flag:why_m0dify_pUx_SheLL


中國(guó)頂級(jí)CTF競(jìng)賽網(wǎng)絡(luò)安全大賽--2022網(wǎng)鼎杯re2解題思路來(lái)了,快來(lái)圍觀!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
柯坪县| 宁夏| 太原市| 江川县| 麻江县| 开江县| 海门市| 崇仁县| 嘉义市| 古蔺县| 随州市| 刚察县| 武隆县| 河津市| 永胜县| 尉犁县| 城口县| 京山县| 河北区| 上饶市| 鹿邑县| 平凉市| 灵丘县| 亚东县| 乌兰浩特市| 凤凰县| 金溪县| 海林市| 巫溪县| 武安市| 梨树县| 宿松县| 綦江县| 子长县| 伊宁县| 桓台县| 定安县| 班玛县| 菏泽市| 富川| 宁都县|