Ollydbg/x32dbg/x64dbg贴心伴侣 Version 6.48使用详解
Ollydbg/x32dbg/x64dbg貼心伴侶 Version 6.48使用詳解和開發(fā)歷程:
2020.7.24號是個不幸的日子,我人生當中第一次體驗到了心碎的感覺。這天晚上,我正在繼續(xù)忙著整理匯編破解總結(jié)資料時,我的一塊希捷硬盤(2000G)
突然間硬盤分區(qū)不顯示了(實際上是兩個分區(qū))里邊有大量自制的軟件,破解資料總結(jié),破解流程圖,大白使用視頻總結(jié)與思維導(dǎo)圖,各種網(wǎng)上優(yōu)秀的共享軟件,各種視頻學(xué)習(xí)筆記總結(jié)資料等。有太多太多的回憶的東西和情感在里邊,一下子全都沒有了,那種撕心裂肺,那種希望一下子被磨滅了。我辛苦漢化的IDE for python也有其中,而我自編的《信手拈來按鍵幫你來》Delphi源碼也在虛擬機文件中。還好我最近自編的《Ollydbg/x32dbg/x64dbg貼心伴侶》
不在其中,費了好大勁漢化的RegexBuddy不在里邊。DDMS漢化也沒有了,辛苦漢化的wind ide for python也沒有了,開發(fā)了兩年多的《信手拈來按鍵幫你來AHK》也沒有了(而且程序的源碼在VMDK虛擬機里。。。還有太多太多的東西也沒能幸免。在網(wǎng)上創(chuàng)業(yè)是非常不容易的,尤其在中國。我也在想,這些年都干了什么?對得起逝去的時間么?為什么沒給硬盤多一份備份?為什么這東西突然就掛了?好容易最近編的軟件,做的視頻取得了一些小收入。又有不幸傳來,真是欲哭無淚啊。所以眼下最重要的是把手里的這個《Ollydbg/x32dbg/x64dbg貼心伴侶》賣出去,好買塊大硬盤(沒有大硬盤的日子是極其悲催的,沒有更多的地方下載,安裝一個Delphi10.3原來的兩塊硬盤剩余空間就沒有多少了)
接下來還要攢足很多錢去維修這塊硬盤。因為這里邊有很多有意義,費了大勁整理出來的資料。
《Ollydbg/x32dbg/x64dbg貼心伴侶》是一款匯編破解輔助工具,易在讓逆向過程變得輕松簡單,讓x32dbg中大量的命令行變得簡單化操作;同時也是部海量整理的匯編
總結(jié)數(shù)據(jù)庫。因為它搜集了看雪論壇精華20部,加密與解密,逆向的原理,吾愛破解論壇精華,飄云閣論壇精華于一身,各種Ollydbg/x32dbg插件與使用視頻總結(jié)在內(nèi)的工具
并且這些東西是從實踐操作中來的,因為耗費了大量的精力去總結(jié)與開發(fā)我的軟件,之中要不斷的測試與完善,我軟件中的一些不足,改善使用體驗。因為我在設(shè)計工具時就在
想,如何讓工具可以最大化的為人提供“提示”,提供“指引”等幫助,而不是讓人沒事去記這么多總結(jié)經(jīng)驗在內(nèi),因為每個人都各有一套分析的方法和調(diào)試的技巧在里邊。因
為視角和認識上的不同,所以這個世界才會這么的豐富多彩。
整個程序是這樣設(shè)計的,模仿OD中的浮動工具欄顯示在調(diào)試器的右上角區(qū)域中。開始設(shè)計時共弄了18個按鈕,在使用x32dbg/x64dbg和摸索使用其幫助后發(fā)現(xiàn),貌似經(jīng)常
用到的命令沒有這么多,所以后來我又刪除了5個。因為每個按鈕都要彈出子菜單的命令來,所以全搞上就有三百多個命令項,實在是太壯觀了。如圖1所示
程序使用Delphi10.3.3來開發(fā),從2019.11開始,就沒有停息過,干到現(xiàn)在已經(jīng)加入了很多解決問題的工具(下面詳細來說)如今正當干得如火如荼時,想不到又出了如此
問題。唉。。。真是欲哭無淚了~~ 算了,還是告別煩惱,說說讓人興奮的地方吧~~我的盆栽蘋果樹都能劫后余生,難道我還不如一顆樹嗎?
在x32dbg/x64dbg中有初始化調(diào)試器的專有命令,這和我們使用的Ollydbg是不同的。也有附加調(diào)試器的命令,比如abc commander,比如MindMaster這樣的軟件在調(diào)試過程中都是要使用到的,不然程序會跑飛,直接打臉。為了讓附加更加的方便,我重新修改了x32dbg/x64dbg的熱鍵Alt+A,這樣在目標程序中,我們直接按鍵就可以一鍵式附加過來了(通過模擬一系列窗口按鍵操作完成,PS說話QT程序真的好惡心)
在x32dbg/x64dbg中的斷點也跟Ollydbg有很大的不同,不僅可以設(shè)置CC斷,硬件斷,內(nèi)存斷,還能給dll設(shè)置斷點,還能設(shè)置異常斷點。(當然還有配置轉(zhuǎn)向斷點)為了方便設(shè)置硬件斷點和內(nèi)存斷點,這里我自制了一套熱鍵,具體可以參考下面的快捷鍵一覽表。
在x32dbg/x64dbg中的條件斷點與Ollydbg有很大的不同(條件斷點可以按照指定的條件對目標進行設(shè)斷干預(yù)操作),主要表現(xiàn)在設(shè)置界面相當?shù)膹?fù)雜,因為支持數(shù)百種內(nèi)置函數(shù)與表達式(我們現(xiàn)在已經(jīng)集成到了界面中【大部分吧,仍有一部分漏網(wǎng),需要日后理解后再添加進來】;擴展的命令也有很多個。與此差不多同時也有關(guān)聯(lián)的則是追蹤命令。追蹤命令是相當?shù)膹姶蟮模@個在OD中是沒有的,例如以往我們在某個程序需要使用硬件斷點或內(nèi)存斷點來截獲到該地址調(diào)用處的全局變量A,何時被修改了,何時修改了寄存器數(shù)值等操作,我們則需要幾步來操作,而使用追蹤命令則可以讓程序自動化的去判斷是否目標數(shù)值發(fā)生變化?地址在哪里,這是非常強大的地方。我們把這個功能設(shè)置到了界面中,
x32dbg/x64dbg中是不支持判斷比較字符串的,通過插件,我們解決了此問題。為了更加靈活的使用它,這里界面改成了ListBox或命令腳本兩種方式來解決發(fā)送【生成的】命令
(并且配有使用要點總結(jié)與功能用法實例,相當?shù)馁N心與人性化了吧?)
【內(nèi)存】內(nèi)存相關(guān)命令若干
【控制】控制關(guān)命令若干
【變量】聲明變量,刪除變量,獲取變量
【搜索】我們可以在內(nèi)存中搜索特征碼,搜索匯編命令,搜索跨模塊間的調(diào)用。
【插件】啟動加載卸載插件相關(guān)命令
【界面】在內(nèi)存窗口,堆棧窗口快速顯示相關(guān)的數(shù)據(jù),查看當前地址屬性哪個內(nèi)存模塊,清除日志等。
【退出】主要功能強殺x32dbg/x64dbg 進程(因為有時程序退出過程很慢,或很卡頓)跨模塊提取(主要為了解決有時我們在堆棧窗口中看到的地址很多的時候準備的)
編輯x32dbg.ini or x64dbg.ini方便我們快速對此文件進行編輯。
我們再來詳細的說說主界面組成和功能介紹吧:
為了方便調(diào)用界面,我們設(shè)計了Win+S調(diào)出主界面!
【x32dbg/x64dbg/Ollydbg常用斷點自動下斷】這個是參考《加密與解密第四版》操作系統(tǒng)部分函數(shù)屬性哪一個進程文件制作出來的。我們在使用Ollydbg's StrongOD等下斷插件或浮動工具欄時發(fā)現(xiàn)有優(yōu)點了不足;有些部分是死的,不方便用戶日后維護。另外就是x32dbg/x64dbg官方的主頁上雖然給了很多的下斷相關(guān)的插件,但是我們長期使用中發(fā)現(xiàn)這些工具有很多的問題。其中最大的問題就是兼容性有問題,一旦升級功能就不正常了,除非你會編程開發(fā)才能解決。再有不能像Ollydbg's StrongOD那樣批量下斷,縱然有那樣的插件也需要一個一個來點擊設(shè)斷,非常的不方便。
通過我們的Delphi編程,我們實則的單個下斷與批量下斷,并且非常方便維護升級。
另外,界面中另設(shè)了一鍵跳轉(zhuǎn)到條件斷點的機關(guān),方便將斷點轉(zhuǎn)移。
頂部設(shè)為三組快速跳轉(zhuǎn)標簽頁的機關(guān)。可搜索,可直接點選轉(zhuǎn)移。
【破解關(guān)鍵字大全】設(shè)計時考慮到復(fù)制OD或x32dbg/x64dbg的字符串參考列表到剪貼板,這樣就不需要一個一個查看設(shè)斷了,根據(jù)經(jīng)驗自動化給這些地址設(shè)上斷點。
設(shè)斷點時也分為兩種:1種是F1模擬按鍵方式,第2種方式采用腳本的方式來完成。
【模糊代碼查詢】OD支持命令序列和模糊代碼搜索兩種。通過查詢和模仿案例,我們就能快速的定位代碼了。
特別是破解過以前的版本,用這種方法定位是非常高效的。
【特征碼組合猜想】是在模糊代碼查詢的基礎(chǔ)上,一次靈感的迸發(fā)后想到的解決方案,主要為了解決在x32dbg/x64dbg中沒有模糊搜索的命令和替換碼,只能模糊搜索2進制數(shù)值
所以想到,何不自己猜測目標程序的特定位置長啥樣來定位呢?這是非常有挑戰(zhàn)性的解決和定位方法。
【近跳完跳速查】在《加密與解密第四版》中就有類似的表,所以我還是集成到了程序中,方便在迷糊時使用和查詢下好了。
【條件斷點生成器】在該選項卡中共分為三個標簽頁,它們分別是Ollydbg/x36dbg和給力一跟
Ollydbg主要把OD幫助中的條件斷點部分展示給大家 ,并且給出大量的實例,方便點擊生成條件斷點
x36dbg呢?相比OD的條件斷點要復(fù)雜了好多倍。使用起來是有難度的,內(nèi)置的表達式是非常多的,因此掌握起來有難度,因為我們弄了大量的下拉分類菜單,方便調(diào)用和生成。
最后一個是給力一跟,上面我們已經(jīng)說過了,這里不再贅述。
【修改命令大全】從匯編黑客工具箱,《加密與解密第四版》《吾愛破解論壇精華》《飄云閣論壇精華》自己日常修改最多的經(jīng)驗中總結(jié)的一些修改命令
【破解套路和定位方法匯總】與上面類似,但也有自己總結(jié)的獨到的地方,如破解下斷25式
【XX語言O(shè)EP特征碼】目前收錄了一些,但我自己認為還不夠全面。
【固定基址】有些程序基址不是固定的,所以有時我們需要自己用工具來處理下,但是修改的地方不是那么好記的,因此我弄了兩張截圖,方便理解和查找,方便恢復(fù)記憶。
【大多數(shù)軟件去廣告絕殺】這里總結(jié)了一下大多數(shù)軟件去廣告的最有效的方法。
【vmx改來改去】有時我們需要在虛擬機里調(diào)試,特別是過虛擬機檢測,因為虛擬機VMWARE的配置文件vmx需要來回修改非常麻煩,因此設(shè)計了一個一鍵讀取配置的解決方案,
準備了幾個方案,方便來回一鍵式修改。
【幸運草】在破解的時候,我們需要有些自己常用的注冊名,這些注冊名的位數(shù),轉(zhuǎn)換后的相應(yīng)代碼是經(jīng)常用到的,所以在破解過程中會給我們提供少許的幫助,所以我就弄了這么一個字符串的東東嘍~~
【匯編比較下斷】有時您是否遇到過以下問題。有個軟件別人破解過,但自己沒有搞明白,我想自己再搞搞,同時理解下別人的破解思路和學(xué)習(xí)下他人的的破解過程,有匯編比較
工具,但卻不能一次性的批量下斷,遇到本工具就出現(xiàn)了。準備一些比較結(jié)果,輸入三個地址,程序就自動轉(zhuǎn)換好了,并批量的下好了斷點。
最后是快捷鍵列表:
顯示窗口類:
CPU窗口: Alt+C
斷點窗口:Alt+B
內(nèi)存窗口:Alt+M
日志窗口:Alt+L
堆棧窗口:Alt+K
模塊窗口/API調(diào)用:Alt+E/Ctrl+N
引用:Alt+R
句柄:Alt+W
流程圖:Alt+G
線程:Alt+T=======>有問題
腳本:Alt+S/Ctrl+Alt+S=======>有問題
函數(shù)Ctrl+Alt+F======>有問題
============================
自定義命令:
Shift+Q 清空CC斷點
Ctrl+Shift+Q 清空硬件斷點
Ctrl+Shift+Alt+Q 清空內(nèi)存斷點
==============================
Ctrl+H 脫殼時下硬件訪問斷點時使用。bph 005B7C20,r,2
Ctrl+Shift+1 設(shè)置硬件1字節(jié)訪問斷點
Ctrl+Shift+2 設(shè)置硬件2字節(jié)訪問斷點
Ctrl+Shift+3 設(shè)置硬件4字節(jié)訪問斷點
Ctrl+Shift+4 設(shè)置硬件8字節(jié)訪問斷點(僅x64dbg)
Ctrl+Shift+5設(shè)置硬件1字節(jié)寫入斷點
Ctrl+Shift+6設(shè)置硬件2字節(jié)寫入斷點
Ctrl+Shift+7設(shè)置硬件4字節(jié)寫入斷點
Ctrl+Shift+8設(shè)置硬件8字節(jié)寫入斷點 (僅x64dbg)
Ctrl+Shift+9設(shè)置硬件執(zhí)行斷點
Win+Num1 設(shè)置一性次內(nèi)存訪問斷點等價rw
Win+Num2 設(shè)置一性次內(nèi)存讀取斷點等價r
Win+Num3 設(shè)置一性次內(nèi)存寫入斷點等價w
Win+NumDot 設(shè)置一性次內(nèi)存執(zhí)行斷點等價x
Win+S激活新的窗口
Alt+A目標窗口中按(譬如,親愛的妹子.exe),得到目標窗口進程的PID,回到命令行處粘即可附加
Ctrl+Shift+G一鍵定位RVA(x64dbg頂部標題上按)
Alt+Shift+G一鍵定位FOA(x64dbg頂部標題上按)
Ctrl+Shift+T在x32dbg窗口標題處點擊得到x32dbg/x64dbg的完整路徑,轉(zhuǎn)換后打開x32dbg.ini/x64dbg.ini
Shift+F2 禁用當前行的F2/CC斷點
未來還將繼續(xù)總結(jié)《看雪論壇精華1-20》《吾愛破解論精華》《飄云閣論壇精華》
終身會員制將體驗到不斷的升級服務(wù)和更多的破解總結(jié)資料
總結(jié)
以上是生活随笔為你收集整理的Ollydbg/x32dbg/x64dbg贴心伴侣 Version 6.48使用详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。