版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
WindowsPE權(quán)威指南作者(zuòzhě)戚利出
版社機(jī)械工業(yè)出版社WindowsPE共三十五頁(yè)什么是PE?我們討論的不是WindowsPreinstallationEnvironment,Windows預(yù)安裝環(huán)境。而是PE:PortableExecutableFileFormat(可移植的執(zhí)行體)。Windows平臺(tái)主流可執(zhí)行文件格式(géshi)。.exe與.dll文件都是PE格式。WindowsPE共三十五頁(yè)為什么研究(yánjiū)PE了解WindowsPE文件結(jié)構(gòu)加密與解密(jiěmì)、軟件漢化、逆向工程、反病毒等安全領(lǐng)域的應(yīng)用WindowsPE共三十五頁(yè)開(kāi)發(fā)語(yǔ)言:MASM32源程序的編輯器:記事本notepad動(dòng)態(tài)調(diào)試器OllyDBG靜態(tài)調(diào)試器W32DASM字節(jié)碼的閱讀器和編輯器FlexHex、WinhexPE文件(wénjiàn)查看修改工具PEditor本章介紹學(xué)習(xí)WindowsPE需要(xūyào)的軟件開(kāi)發(fā)環(huán)境WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)開(kāi)發(fā)(kāifā)語(yǔ)言MASM32搭建學(xué)習(xí)WindowsPE需要的軟件開(kāi)發(fā)環(huán)境基于MASM32的匯編程序更接近于系統(tǒng)的底層,靈活、強(qiáng)大生成的可執(zhí)行(zhíxíng)PE文件體積小,速度快...WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)(kāifā)環(huán)境共三十五頁(yè).386.modelflat,stdcalloptioncasemap:none?開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)(kāifā)環(huán)境共三十五頁(yè)includewindows.incincludeuser32.incincludelibuser32.libincludekernel32.incincludelibkernel32.lib引入外部的動(dòng)態(tài)鏈接庫(kù),這些(zhèxiē)庫(kù)里有本程序需要的函數(shù)-代碼重用開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè);數(shù)據(jù)(shùjù)段
.dataszTextdb'HelloWorld',0
;要顯示的信息;代碼段
.codestart:
invokeMessageBox,NULL,offsetszText,NULL,MB_OKinvokeExitProcess,NULLendstart開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)invokeMessageBox,NULL,offsetszText,NULL,MB_OKInvoke-并不是80386處理器的指令,而是一個(gè)MASM編譯器的偽指令調(diào)用WINDOWSAPI,或調(diào)用匯編子程序。格式(géshi)為invoke程序名,參數(shù)1,參數(shù)2,…參數(shù)2先入堆棧,參數(shù)1再入堆棧,以此類推如invokemysubpro,eax,ecx編譯器會(huì)編譯成下面這個(gè)模樣:pushecxpusheaxcallmysubpro開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)invokeMessageBox,NULL,offsetszText,NULL,MB_OK
Win32程序是構(gòu)筑在Win32API基礎(chǔ)上的。
在Win32API中,包括了大量的函數(shù)、結(jié)構(gòu)和消息等,
它不僅為應(yīng)用程序所調(diào)用,也是Windows自身的一部分,Windows自身的運(yùn)行也調(diào)用這些(zhèxiē)API函數(shù)。MessageBoxwin32API函數(shù),由user32.dll提供MessageBoxA-窄字符:ANSIMessageBoxW-寬字符:unicode開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)Microsoft-《MicrosoftWin32Programmer‘sReference》中定義了常用API的參數(shù)和函數(shù)(hánshù)聲明,消息框函數(shù)(hánshù)的聲明:intMessageBox(HWNDhWnd,//handletoownerwindow窗口句柄LPCTSTRlpText,//textinmessagebox要顯示的字符串地址LPCTSTRlpCaption,//messageboxtitle標(biāo)題字符串地址UINTuType//messageboxstyle消息框類型);最后還有一句說(shuō)明:Library:UseUser32.lib-說(shuō)明了這個(gè)函數(shù)包括在User32.dll中invokeMessageBox,NULL,offsetszText,NULL,MB_OK開(kāi)發(fā)(kāifā)語(yǔ)言MASM32WindowsPE開(kāi)發(fā)環(huán)境共三十五頁(yè)研究EXE文件內(nèi)部指令跳轉(zhuǎn)、病毒分析、逆向(nìxiànɡ)工程調(diào)試(diàoshì)軟件OllyDBG-ODWindowsPE開(kāi)發(fā)環(huán)境1、指令集指令解釋區(qū)4、棧區(qū)2、寄存器及運(yùn)行狀態(tài)區(qū)3、代碼和數(shù)據(jù)字節(jié)碼區(qū)共三十五頁(yè)該位置處的數(shù)據(jù)是一個(gè)內(nèi)存地址,該地址指向(zhǐxiànɡ)了kernel32.dll動(dòng)態(tài)鏈接庫(kù)中函數(shù)ExitProcess的真實(shí)位置。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD指令集指令解釋區(qū)共三十五頁(yè)包含了所有(suǒyǒu)的32位寄存器:eax、ebx、ecx、esi、edi等ebp棧基地址指針esp棧頂指針eip指向下一條要執(zhí)行的指令的位置WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD寄存器及運(yùn)行狀態(tài)區(qū)共三十五頁(yè)指定(zhǐdìng)內(nèi)存范圍的字節(jié)碼WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD代碼和數(shù)據(jù)字節(jié)碼區(qū)共三十五頁(yè)反映了當(dāng)前棧的分配情況及棧在程序(chéngxù)與棧在程序(chéngxù)運(yùn)行過(guò)程中的變化情況。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD棧區(qū)共三十五頁(yè)F8:?jiǎn)尾讲竭^(guò)。每按一次這個(gè)鍵執(zhí)行一條反匯編窗口(chuāngkǒu)中的一條指令,遇到
CALL
等子程序不進(jìn)入其代碼。F7:?jiǎn)尾讲饺?。功能同單步步過(guò)(F8)類似,區(qū)別是遇到
CALL
等子程序時(shí)會(huì)進(jìn)入其中,進(jìn)入后首先會(huì)停留在子程序的第一條指令上。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-ODHelloWorld.exe的跟蹤執(zhí)行共三十五頁(yè)左右分別是指令執(zhí)行后棧的變化(biànhuà)情況WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD利用F7執(zhí)行指令EIP發(fā)生變化了嗎?共三十五頁(yè)P(yáng)USHhellowor.00403000
即指向(zhǐxiànɡ)szTextWindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD繼續(xù)共三十五頁(yè)call指令處使用F8,不會(huì)內(nèi)部跟蹤該函數(shù)(hánshù),直接給出結(jié)果。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-ODF8單步步過(guò)共三十五頁(yè)00402000開(kāi)始(kāishǐ)的1000H為.rdata區(qū),輸入表。查看這部分內(nèi)容。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD是一個(gè)地址0X7545BC9A也就是ExitProcess函數(shù)的入口共三十五頁(yè)EXE文件(wénjiàn)被裝載到內(nèi)存后的部分結(jié)構(gòu)WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-ODEXE文件共三十五頁(yè)對(duì)目標(biāo)EXE文件進(jìn)行(jìnxíng)修改將顯示信息HelloWorld更改為GoodMorningWindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試軟件OllyDBG-OD修改EXE文件字節(jié)碼共三十五頁(yè)WindowsPE開(kāi)發(fā)(kāifā)環(huán)境調(diào)試(diàoshì)軟件W32DASM共三十五頁(yè)WindowsPE開(kāi)發(fā)(kāifā)環(huán)境十六進(jìn)制編輯(biānjí)軟件FlexHex共三十五頁(yè)破解(pòjiě)軟件注冊(cè)-思路左:破解前右:破解后WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器共三十五頁(yè)運(yùn)行軟件,獲取與破解(pòjiě)有關(guān)的提示信息提示-注冊(cè)失敗WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器共三十五頁(yè)利用FlexHEX獲取(huòqǔ)“注冊(cè)失??!”字符串的文件偏移地址。0X00081A79WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器以上是打開(kāi)靜態(tài)的EXE文件,一旦EXE文件運(yùn)行,也就是載入內(nèi)存后,該字符串的地址就是內(nèi)存地址了。內(nèi)存地址=0X00400000+
0X00081A79=0X00481A79共三十五頁(yè)在OD中搜索(sōusuǒ)這個(gè)常量-內(nèi)存地址為0X00405D2DWindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器-OD中搜索共三十五頁(yè)用到MessageboxA函數(shù),以此為線索,發(fā)現(xiàn)紅框內(nèi)的提示(tíshì):和一個(gè)0X00405CD2處jump有關(guān)WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器-W32DASM找判斷語(yǔ)句的位置共三十五頁(yè)到0X00405CD2處,果然是一個(gè)jg,也就是說(shuō)注冊(cè)出錯(cuò)會(huì)給出提示失敗的消息框。所以將指令(zhǐlìng)改為jl,使得判斷條件剛好相反。WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器-W32DASM找判斷語(yǔ)句的位置共三十五頁(yè)原jg指令(zhǐlìng)如下圖WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器-OD修改為jl指令共三十五頁(yè)WindowsPE開(kāi)發(fā)(kāifā)環(huán)境破解實(shí)例-U盤監(jiān)控器-重新測(cè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 稻谷回收與再利用2025年度合作協(xié)議2篇
- 2025年智能硬件銷售代理合作協(xié)議書
- 2025年洗浴中心承包合同范本正規(guī)范全面保障3篇
- 2025年分期手機(jī)配件購(gòu)買合同
- 2025年分期付款水電煤氣費(fèi)繳納協(xié)議
- 2025年商用車的保險(xiǎn)索賠協(xié)議
- 2025年度臨建施工臨時(shí)消防設(shè)施建設(shè)合同4篇
- 2025版煤礦安全生產(chǎn)培訓(xùn)與考核承包合同4篇
- 2025版旅行社與旅游特色餐飲合作框架協(xié)議3篇
- 2025年借殼上市協(xié)議條款范本格式模板設(shè)計(jì)
- 施工現(xiàn)場(chǎng)水電費(fèi)協(xié)議
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲(chǔ)罐設(shè)計(jì)規(guī)范(正式版)
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測(cè)驗(yàn))綜合能力測(cè)試題及答案1套
- 六年級(jí)數(shù)學(xué)質(zhì)量分析及改進(jìn)措施
- 一年級(jí)下冊(cè)數(shù)學(xué)口算題卡打印
- 真人cs基于信號(hào)發(fā)射的激光武器設(shè)計(jì)
- 【閱讀提升】部編版語(yǔ)文五年級(jí)下冊(cè)第三單元閱讀要素解析 類文閱讀課外閱讀過(guò)關(guān)(含答案)
- 四年級(jí)上冊(cè)遞等式計(jì)算練習(xí)200題及答案
- 法院后勤部門述職報(bào)告
- 2024年國(guó)信證券招聘筆試參考題庫(kù)附帶答案詳解
- 道醫(yī)館可行性報(bào)告
評(píng)論
0/150
提交評(píng)論