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
可以gs
,es
,cs
,fs
,ds
,ss
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 位元組),並返回該值。
預設情況下,所有數字都解釋為十六進製制!如果要指定,可以x
或0x
作為字首。十進位制數可以通過在數字前加點號來使用.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
。請注意,當有名稱為的匯出時entry
,oep
否則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<10
,3>6
,1<=2
,6>=7
(如果真解析為1,0,如果假)。
等於/不等於:1==1
,2!=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....