



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 創(chuàng)建一個(gè)最簡(jiǎn)單的保護(hù)機(jī)制并破解它; 選一個(gè)實(shí)例, 在此基礎(chǔ)上學(xué)習(xí)十六進(jìn)制編輯器, API窺測(cè)器 與 反匯編器(IDA Pro) 破解一個(gè)實(shí)際的例子 0551-36028242022-3-7最簡(jiǎn)單的密碼保護(hù)算法: 密碼存放位置: 程序中/ 配置文件/注冊(cè)表密碼保護(hù)措施: 無(wú) if (strcmp(password entered, reference password) /* 密碼不正確 */ else /* 密碼正確 */ 0551-36028242022-3-7Protect_password#define legal_pswmy.good.passwordint main() char
2、user_psw666; cout user_psw; if (strcmp(legal_psw, user_psw) cout“wrong passwordn”;/ “標(biāo)記密碼不匹配 0551-36028242022-3-7黑客反向工程熱身else cout “password oknhello ,legal user|n “; /“標(biāo)記”密碼匹配 return 0; 2022-3- 申斥密碼不匹配/ 申斥密碼不匹配/ 申斥密碼不匹配2022-3- 0551-3602824600007d11: LCMapStringW00007d1f: kernel32.dll
3、0000805c: crackme 00h0000806a: enter passwd:0000807d: my.good.password0000808f: wrong password0000809c: password ok000080af:hello, legal user!000080c2: .?Avios000080de: .?Avistream 結(jié)果分析2022-3-黑客反向工程熱身編譯后的程序執(zhí)行 猜測(cè)密碼-憑運(yùn)氣,難度大 分析程序的組成代碼 數(shù)據(jù)(密碼字符串)2022-3-黑客反向工程熱身 data: 數(shù)據(jù)段 rda
4、ta: 只讀數(shù)據(jù), 字符串文字和常量. 如本程序中的 myGOODpasswordn“。 bss: 未初始化數(shù)據(jù), 比如函數(shù)和靜態(tài)變量。 idata: 包括導(dǎo)入庫(kù)和導(dǎo)入地址名稱表。 edata:包含了應(yīng)用程序或DLL的導(dǎo)出數(shù)據(jù)。 text(code): 代碼段。 0551-36028242022-3-7黑客反向工程熱身c中中,內(nèi)存數(shù)據(jù)分為如下幾個(gè)區(qū)內(nèi)存數(shù)據(jù)分為如下幾個(gè)區(qū) 1.棧- 由編譯器自動(dòng)分配釋放bp+xx, bp-xx。 2.堆- 一般由程序員分配釋放new(), delete() 函數(shù)。 3.全局區(qū)(靜態(tài)區(qū))共享存儲(chǔ)區(qū)。 初始化的全局變量和靜態(tài)變量在一塊區(qū)域(data)。 未初始化全局
5、和靜態(tài)變量放在相鄰區(qū)域(bss)。 4.另外還有一個(gè)專門(mén)放常量的地方(rdata)。 C+中中,內(nèi)存分成內(nèi)存分成5個(gè)區(qū),分別為:個(gè)區(qū),分別為:1.棧棧,里面的變量通常是局部變量、函數(shù)參數(shù)等。 0551-36028242022-3-7黑客反向工程熱身2.堆堆,由new分配的內(nèi)存塊,由delete回收。 3.自由存儲(chǔ)區(qū)自由存儲(chǔ)區(qū),由malloc等分配的內(nèi)存塊,和堆相似, 由free回收。4.全局全局/靜態(tài)存儲(chǔ)區(qū)靜態(tài)存儲(chǔ)區(qū),全局和靜態(tài)變量均被分配到同一塊內(nèi)存中,由該語(yǔ)言編譯器自行確定(與C語(yǔ)言有差別)。5.常量存儲(chǔ)區(qū)常量存儲(chǔ)區(qū),存放常量,不允許修改。 靜態(tài)變量/全局變量:全局/靜態(tài)存儲(chǔ)區(qū)。 常量存放
6、在常量區(qū)。程序放在代碼區(qū)。 0551-36028242022-3-7黑客反向工程熱身查看二進(jìn)制文件. 根據(jù): 編譯器將初始變量放在如下數(shù)據(jù)段中. data rdata 自定義段 0551-36028242022-3-7黑客反向工程熱身改寫(xiě)動(dòng)機(jī):隱藏密碼字符串,增加一點(diǎn)分析難度。int count = 0/ 從現(xiàn)在開(kāi)始從現(xiàn)在開(kāi)始, 所有初始化變量都放置在所有初始化變量都放置在.kpnc中中.#pragma data_seg(“kpnc”) char passwd=PASSWORD;#pragma data_seg()/ 現(xiàn)在所有初始變量又將放到默認(rèn)段現(xiàn)在所有初始變量又將放到默認(rèn)段rdata中了中
7、了.char buffPASSWORD_SIZE=“ “; 0551-36028242022-3-7黑客反向工程熱身改寫(xiě)后的源代碼清單-list1_p9.cppidag list1_p9.exe目標(biāo)代碼中出現(xiàn)了如下段落:textrdatadataidatakpnc只有在kpnc 段中才能看到密碼字符串信息 myGOODpasswordn“ 0551-36028242022-3-7黑客反向工程-熟練使用反匯編器修改二進(jìn)制代碼的工具:hiew(動(dòng)機(jī))反匯編工具: ida大家推薦工具:softice, 匯編:將匯編程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序。反匯編: 將機(jī)器語(yǔ)言程序轉(zhuǎn)換為匯編指令。 0551-36028
8、242022-3-7分析過(guò)程:.rdata:00420000 00 00 00 00 24 79 F0 46 00 00 00 00 02 00 00 00 .$y餏. .rdata:00420010 35 00 00 00 00 00 00 00 00 60 02 00 50 61 73 73 5. .Passrdata:00420020 77 6F 72 64 20 4F 4B 0A 00 00 00 00 57 72 6F 6E word OK.Wronrdata:00420030 67 20 70 61 73 73 77 6F 72 64 0A 00 00 00 00 00 g pas
9、sword.rdata:00420040 6D 79 47 4F 4F 44 70 61 73 73 77 6F 72 64 0A 00 myGOODpassword.rdata:00420050 00 00 00 00 45 6E 74 65 72 20 70 61 73 73 77 6F .Enter passwordata:00420060 72 64 3A 20 20 20 00 00 00 00 00 00 73 74 72 20 rd: .strrdata:00420070 21 3D 20 4E 55 4C 4C 00 66 67 65 74 73 2E 63 00 != NUL
10、L.fgets.c黑客反向工程黑客反向工程-Ida -list1_7.exe 0551-36028242022-3-7使用密碼串進(jìn)行比較的程序塊.text:0040104D.text:00401052 add esp, 0Ch.text:00401055 push offset s_Mygoodpasswor (00420040h)myGOODpasswordn.text:0040105A lea ecx, ebp+var_68.text:0040105D push ecx.text:0040105E call strcmp.text:0040105E.text:00401063 add es
11、p, 8.text:00401066 test eax, eax.text:00401068 jz short loc_ 0551-36028242022-3-7 strcmp傳遞兩個(gè)參數(shù) :push offset s_Mygoodpasswor ;參考密碼lea ecx, ebp+var_68; 用戶輸入密碼區(qū) push ecxcall strcmp C 規(guī)范:從右到左的順序?qū)?shù)壓入堆棧?;謴?fù)的結(jié)果為: strcmp(var_68, myGOODpasswordn)黑客反向工程-C規(guī)范的知識(shí) 0551-36028242022-3-7黑客反向工程-C規(guī)范的知識(shí) 1 從堆棧中刪除參數(shù)不由函數(shù)自
12、身完成,而是由調(diào)用程序完成,這樣能創(chuàng)建數(shù)目可變的參數(shù)。 調(diào)用程序 被調(diào)用程序 call strcmp ret 8 addesp, +08 2 常用清除堆棧指令 add esp, XXX 32位: n_args = XXX/416位:n_args = XXX/2 pop regsub esp, -XXX 3 由call后的add esp, 8 指令知該函數(shù)個(gè)數(shù)為2。 0551-36028242022-3-7黑客反向工程-分析修改的程序text:00401063 add esp, 8.text:00401066 test eax, eax.text:00401068 jz short loc_40
13、1079.text:0040106A push offset_WrongPassword ;Wrong passwordn.text:0040106F call printf 檢查函數(shù)返回值是否等于零,若為0,表示密碼正確,進(jìn)行相應(yīng)提示;否則轉(zhuǎn)錯(cuò)誤處理程序。修改: JNZ-JZ, test eax,eaxxor eax,eax等 JZ: 74-JNZ: 75 XOR: 0551-36028242022-3-7黑客反向工程-外科手術(shù)(改程序)解決方法:使用直接編輯二進(jìn)制工具 hiew32等.Hiew32 list1_p7g.exe目標(biāo): 尋找 JZ 機(jī)器代碼定位 1068h偏移, 將 改為 0551-36028242022-3-7黑客反向工程預(yù)備知識(shí)客反向工程預(yù)備知識(shí)客反向工程預(yù)備知識(shí)客反向工程預(yù)備知識(shí)客反
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省宣威市第八中學(xué)2025年化學(xué)高一下期末聯(lián)考試題含解析
- 不銹鋼制品生產(chǎn)項(xiàng)目可行性研究分析匯報(bào)
- 2025年中國(guó)烘焙花生行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 中國(guó)料漿專用閥項(xiàng)目投資可行性研究報(bào)告
- 2025年炒菜機(jī)項(xiàng)目可行性研究報(bào)告模板
- 2023-2028年中國(guó)芝麻素行業(yè)市場(chǎng)深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025屆貴州省黔南布依族苗族自治州都勻市第一中學(xué)高二下化學(xué)期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2024年中國(guó)絲扣油行業(yè)市場(chǎng)調(diào)查報(bào)告
- 2025年中國(guó)山東省集成電路行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 花椒項(xiàng)目可行性研究報(bào)告
- GB/T 38537-2020纖維增強(qiáng)樹(shù)脂基復(fù)合材料超聲檢測(cè)方法C掃描法
- GB/T 20041.1-2015電纜管理用導(dǎo)管系統(tǒng)第1部分:通用要求
- 《動(dòng)物營(yíng)養(yǎng)學(xué)》教學(xué)大綱
- 社會(huì)治安綜合治理課件
- DB31T 405-2021 集中空調(diào)通風(fēng)系統(tǒng)衛(wèi)生管理規(guī)范
- DB4404-T 29-2022 球墨鑄鐵排水井蓋管理規(guī)范
- 現(xiàn)代漢語(yǔ)常用字表(拼音版本)
- 診所備案申請(qǐng)表格(衛(wèi)健委備案)
- 行百里者半九十期末沖刺主題班會(huì).ppt課件
- 膨脹機(jī)培訓(xùn)資料-cryostar[1]資料
- 醫(yī)院標(biāo)識(shí)牌設(shè)計(jì)方案 2
評(píng)論
0/150
提交評(píng)論