X64Dbg使用教程

2021-10-04 20:37:56 字數 3479 閱讀 1775

1.反彙編視窗

這個位置顯示的是需要分析的程式的反彙編**。在第乙個區域的最左側例如「7712eaa3」這一列就是記憶體位址區域,接著「e8 07」就是彙編指令的opcode,「jmp *********」這個區域就是彙編**區,最後有乙個空白的地方,我們可以在這個位置輸入一些注釋。

2.暫存器視窗

這裡顯示的是當前所除錯程式的暫存器資訊。

3.資料視窗

這裡一般檢視的是記憶體位址的內容。最左邊是位址,接著是對應位址的十六進製制資料,最右側是十六進製制對應的ascii碼。

4.堆疊視窗

顯示一些堆疊的資訊。

首先我們了解一下一些基本的操作指令。

f2:設定斷點。(可以簡單理解為暫停)

f4:執行到游標處

f7:單步步入。(遇到call指令,進入call函式的實現處繼續執行彙編指令)

f8:單步步過。(遇到call指令,執行call函式,之後接著執行call指令的下一條指令)

f9:執行程式(如果沒有碰到斷點,程式會一直執行到結束。)

ctrl+f9: 執行到函式返回處,用於跳出函式實現

alt+f9:執行到使用者**,用於快速跳出系統函式

ctrl+g:輸入十六進製制位址,快速定位到該位址處

檔案->補丁(ctrl+p)

修補檔案

自己輸入檔名加.exe字尾

格式

命令 arg1 , arg2 , argn
所有大小的暫存器都可以用作變數

[addr]              讀取dword / qword

n:[addr]           從addr開始讀取n個位元組

seg:[addr]       段暫存器加偏移讀取dword / qwordseg可以gsescsfsdsss

byte:[addr]      讀取byte 

word:[addr]     讀取word

dword:[addr]    讀取dword

qword:[addr]    讀取qword

位元組/字/雙字/四字/指標(ptr)

readbyte,byte,byte(addr):從 addr 讀取乙個位元組,並返回該值。

readword,word,word(addr):從 addr 讀取乙個字(2位元組),並返回該值。

readdword,dword,dword(addr):從 addr 讀取雙字(4位元組),並返回該值。

readqword,qword,qword(addr):從 addr 讀取四字(8位元組),並返回該值(僅用於x64)。

readptr,readpointer,ptr,pointer,pointer(addr):從 addr 讀取乙個指標(4/8 位元組),並返回該值。

預設情況下,所有數字都解釋為十六進製制!如果要指定,可以x0x作為字首。十進位制數可以通過在數字前加點號來使用.123=7b

鍵入getprocaddress,它將自動解析為函式的實際位址。要明確定義從哪個模組載入api,請使用:[module].dll:[api][module]:[api]。當[module]為空字串時:getprocaddress,將使用cpu中當前選擇的模組。

如果您要訪問載入模組的基位址,你可以寫:[module]:0[module]:base[module]:imagebase[module]:header

如果要訪問模組rva,則可以寫[module]:0+[rva],也可以寫[module]:$[rva]。如果要將檔案偏移量轉換為va,可以使用[module]:#[offset]。例如,當[module]為空字串時,將使用cpu中當前選擇的模組

要訪問乙個模組的入口點,你可以寫[module]:entry[module]:oep[module]:ep。請注意,當有名稱為的匯出時entryoep否則ep將返回這些位址

偵錯程式允許使用基本表示式。只需在命令視窗中鍵入乙個表示式,結果就會顯示在控制台中。除了計算之外,它還允許使用類似c的語法快速更改變數

括號:(1+2)[1+6]比其他操作優先。

一元減/二進位製非/邏輯非:(-1負1),~1(二進位製非1),!0(邏輯非0)。

乘法/除法:(2*3常規乘法),2`3(得到乘法的高分),6/3(常規除法),5%3(除法的模/餘數)。

加法/減法:(1+3加法),5-2(減法)。

左/右移位/旋**(1<<2向左移位,shl表示無符號,sal表示有符號),10>>1(向右移位,shl表示無符號,sal表示有符號),1<<<2(向左旋轉),1>>>2(向右旋轉)。

小(相等)/大(等於):4<103>61<=26>=7(如果真解析為1,0,如果假)。

等於/不等於:1==12!=6(如果為true,則解析為1;如果為false,則解析為0)。

二進位制和:(12&2常規二進位制和)。

二進位制異或:(2^1常規二進位制異或)。

二進位制或:(2|8常規二進位制或)。

邏輯和:(0&&3如果為true,則解析為1;如果為false,則解析為0)。

邏輯或:(0||3如果為true,則解析為1;如果為false,則解析為0)。

邏輯含義:(0->1如果為true,則解析為1;如果為false,則解析為0)

tid():獲取當前執行緒id

x64dbg使用心得

使用scyllahide外掛程式時 注意一下事項 xdbg64設定裡啟動 附加必須第一次斷下在 系統斷點 然後再啟用scyllahide.停止除錯 脫離時。必須關閉scyllahide 否則會報異常 xdbg64無法脫離時 暫停 執行 即可脫離 使用scyllahide外掛程式時 注意一下事項 xd...

64位mysql使用教程

解壓後,配置環境變數 path中新增 d program files mysql mysql 5.7.17 winx64 bin 在啟動mysql 之前我們要做個處理 5.7版本在解壓後是沒有data這個資料夾的,不要手動建立乙個空的data資料夾,而是進入cmd,輸入mysqld initiali...

win7x64 VSx64環境下安裝和使用FFTW

雖然安裝方法網上有很多,但說得不夠明白,還是讓我花費了一點時間才弄好。先將詳細過程記錄下來。參考部落格文章 fftw的編譯方法不說,這裡只說使用方法。執行環境 windows 7 x64,visual studio 2010 x64。應用於64位程式。64 bit version fftw 3.3....