新聞中心
逆向分析學習筆記旨在與小伙伴們分享小編們的學習心得,主要為一些短小但又精華的小技巧,具體如下:

普蘭網(wǎng)站建設公司成都創(chuàng)新互聯(lián)公司,普蘭網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為普蘭近千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的普蘭做網(wǎng)站的公司定做!
1、常見壓縮殼:UPX、ASPACK、NSPACK。
2、常見加密殼:Asprotect、Zprotect、Yoda、Telock、Svkp。
3、常見虛擬機保護殼:Vmprotect、Themida、WinLicense 。
4、常用動態(tài)調(diào)試工具:ollydbg、Immunitydbg、Windbg,其中ollydbg使用最多,逆向必備,Immunitydbg為Immunity公司對ollydbg之后的改進版,支持Python腳本,但是斷點不能保存,更適合漏洞利用領(lǐng)域,Windbg界面不甚友好,但是微軟自家的東西對windows系統(tǒng)支持很好,調(diào)試內(nèi)核驅(qū)動程序必備,三者都支持自定義腳本編寫。
5、常用靜態(tài)分析工具:Win32Dasm、Ida pro,Win32Dasm已經(jīng)停止更新了,Ida功能更強更常用,結(jié)合hex插件反編譯出C程序代碼的效果極佳哦。
6、Peid是目前最常用的查殼類型的工具,內(nèi)置有外殼特征庫及識別算法,也可以自己下載特征庫自制查殼工具。
7、DeDe是逆向分析Delphi及Brond C++程序的利器,可以看到窗體及其它資源的信息,還可以查看對應按鈕等的處理程序,便于快速定位分析。
8、機器碼:用二進制代碼表示的計算機能直接識別和執(zhí)行的一種機器指令的集合,一般反匯編出的結(jié)果為16進制顯示,如空指令nop的機器碼為90(16進制);
9、斷點:調(diào)試器的功能之一,可以讓程序中斷在需要的地方,常用的斷點包括:INT3斷點(也稱軟斷點)、硬件斷點(利用CPU的調(diào)試寄存器設置)、內(nèi)存斷點(利用操作系統(tǒng)的缺頁異常處理機制)、消息斷點、條件斷點等。
10、硬件斷點利用CPU的調(diào)試寄存器,最多只能設置4個,在軟斷點被檢測的多時下硬件斷點和內(nèi)存斷點也是極好的。
11、調(diào)試器的單步跟蹤是結(jié)合的調(diào)試器軟斷點機制,在調(diào)試器中實現(xiàn)的逐指令或逐過程執(zhí)行程序。
12、父進程:指已創(chuàng)建一個或多個子進程的進程,調(diào)試器如Ollydbg一般使用打開或附加的方式調(diào)試程序,調(diào)試器就作為調(diào)試程序的父進程,一般正常的應用程序是由explorer.exe創(chuàng)建的,父進程就是explorer.exe等,可以利用這個特點做反調(diào)試。
13、堆棧平衡定律:手工脫殼時利用外殼程序首先需要保存原程序的入口信息(寄存器、堆棧使用情況等),通過標記剛加載時入口點的堆棧位置,等外殼程序恢復原程序的ESP寄存器值的時候,一般就到了OEP位置附近。
14、內(nèi)存訪問斷點:根據(jù)操作系統(tǒng)的內(nèi)存管理機制,經(jīng)常未使用的內(nèi)存頁不會放置在緩存中,當程序需要訪問到該頁內(nèi)存時就會觸發(fā)缺頁異常,就會交給調(diào)試器處理,而外殼程序完成原程序各個區(qū)段的解壓操作之后會跳轉(zhuǎn)到原程序開始執(zhí)行,在使用Ollydbg調(diào)試器手工脫殼時,可以手工設置內(nèi)存訪問斷點,當程序解壓完某個區(qū)段之后會自動中斷在缺頁異常處,再進行單步跟蹤就能到達OEP處。
15、shellcode:一段完成特定功能的代碼,一般用于獲取主機權(quán)限,常見的有新建用戶、彈出消息框(測試用)、綁定端口等,與溢出漏洞聯(lián)系緊密,經(jīng)常在利用漏洞獲取程序控制權(quán)之后執(zhí)行得到被攻擊主機的部分權(quán)限。
16、網(wǎng)頁掛馬一般利用瀏覽器或其插件在解析特定網(wǎng)頁過程中的漏洞控制瀏覽器程序流程執(zhí)行shellcode(一般為反彈連接或是下載并執(zhí)行惡意程序的功能),用戶在使用瀏覽器訪問不明鏈接時就可能成為被控制的“肉雞”,現(xiàn)在國內(nèi)主機WindowsXp+IE8的仍然占很大分量,很危險(⊙o⊙)哦,Windows7下則安全的多。
17、軟件加殼過程一般是將原程序的代碼數(shù)據(jù)等壓縮或加密處理,在程序中新建一個區(qū)段存放外殼代碼,并修改程序入口使外殼部分代碼先于原程序開始執(zhí)行,在完成原程序數(shù)據(jù)的解壓縮或解密之后再跳轉(zhuǎn)到原程序的代碼執(zhí)行。
18、內(nèi)存偏移地址:也叫VA,在保護模式下程序被加載到內(nèi)存后,操作系統(tǒng)為其分配了自己獨立的4GB虛擬內(nèi)存空間,在這個空間定位的地址就稱為虛擬內(nèi)存地址,范圍為0×00000000~0xffffffff,相對于0×00000000的偏移稱為內(nèi)存偏移地址。
19、區(qū)段:也可以稱為“節(jié)”、“區(qū)塊”,用于存放可執(zhí)行程序不同類型數(shù)據(jù)的地方,如代碼段、數(shù)據(jù)段、資源段等,將程序的數(shù)據(jù)放置在不同的區(qū)段可以設置不同的權(quán)限便于管理,實際存放的數(shù)據(jù)類型或區(qū)段名稱可以根據(jù)根據(jù)需要靈活設置。
分享題目:逆向?qū)W習筆記一
當前地址:http://www.5511xx.com/article/cojhjjc.html


咨詢
建站咨詢
