[原創]在x64dbg中設置條件斷點
2019-5-17 10:04 18326
x64dbg是逆向分析win64程序的利器,它的地位類似於OllyDbg。最近遇上了怎樣在x64dbg設置條件斷點的問題,網上搜索了一遍僅看到x64dbg的使用手冊,沒有圖文並茂的說明文檔,琢磨了一番搞明白了,現寫出來分享給大家。
1、 條件斷點
在想要設置斷點的指令處按F2設置斷點,然后在斷點窗口選中該斷點,右鍵選擇“Edit”

在Break Condition寫入中斷條件,如下圖中寫的:(esi == 73) && (eax==64)
注:此處的73,64都為16進制數。

設置后運行將在滿足條件的指令處停下來。

2、 條件記錄斷點
條件記錄斷點就是沒有中斷條件,僅將關注的數據記錄下來。
如下圖所示,設置break condition為0,Log text設置需要記錄的數據,同時將silent項選上。

設置完運行后,在Log窗口就可以看到記錄的數據。

IDA Pro切換圖形或代碼模式
1、空格
2、右鍵選擇Text View/Graph View切換
圖形模式

代碼模式

IDA Pro常用基礎操作
IDA Pro常用基礎操作
1、查看字符串


2、跳轉到代碼中


3、跳轉到地址
跳轉到_text_410CC9位置


4、堆棧窗口
IDA-ESP窗口現在列出了我們感興趣的函數的堆棧結構

通過調試器窗口指向堆棧窗口,點擊"箭頭"

5、把匯編轉換成源代碼
強大的F5

6、監視
我們可以添加監視,通過監視觀察在程序執行過程中數據的變化。

7、轉到入口點


8、Text view


9、Graph view


10、查看string


1、IDA Pro下斷點
F2下斷點
F9運行
變成紅色

或右鍵

2、查看導入導出表


3、打開調試器窗口


4、視圖窗口
![]()

5、查看數據段的字符串在代碼段中的引用位置
函數可以利用交叉定位找到調用的地址.
字符串無法找到,可能調用的地址經過變化
6、CODE XREF
外部參照代碼
7、每個函數最上方為函數的棧幀。
8、ESC鍵經常會關掉窗口,可以RESET…
String每次打開都會掃描,可以設置不同語言特性對應的字符串。
9、快捷鍵G.跳轉到地址或者名稱。go窗口。在反匯編窗口,esc鍵是返回。ctrl+enter是下一步。或者用圖標:

10、IDA對函數棧幀的表示方法。。。挺有用。。命名方式與大小:

詳細棧幀:

其中r表示返回地址。
11、棧幀為了對齊等,一般在ebp上面留開8個字節。
12、Alt+T 搜索字符串。 N重命名。。ALT+I 搜索值
13、D,把代碼變成數據,C反之。U,取消格式。
x64dbg使用技巧與實用插件合集
|
本文是針對剛開始接觸X64dbg的新人寫的實用技巧和插件合集 前言萌新一個,接觸逆向時間不長,但因為很喜歡x64dbg這款調試器,所以花了一些時間去了解,x64dbg的這類帖子相對較少,本貼的初衷是希望其他新人在學習的時候可以多一些參考,少一些時間精力的浪費。希望大家為我的帖子指正錯誤和做補充。 以下均基於Mar 12 2021版本x64dbg官方版本,可到官方網站直接下載 官方網站:https://x64dbg.com/ 第一次運行雙擊x96dbg,出現三個彈窗,會生成x96dbg.ini文件。當你需要把整個程序文件夾移動到其他路徑時,最好把這個ini刪除,重新雙擊讓它再生成。當你需要把它加到發送到菜單中的時候,也推薦添加x96dbg,它會自動選擇用x32還是x64dbg打開。
你需要做些什么設置外觀
選項設置
使用技巧篇
插件推薦篇以下主要詳細介紹我平時常用的插件,建議大家按照需求來安裝(插件放在release\x32或者x64\plugins目錄下,以.dp32或.dp64結尾) Scylla(脫殼與導入表修復)
SwissArmyKnife(導入Map文件)https://github.com/Nukem9/SwissArmyKnife 沒什么好解釋的,分析C程序的時候用IDA生成MAP文件,然后用這個插件加載。分析delphin程序推薦用Interactive Delphi Reconstructor先分析,再生成MAP文件用,還有其他程序也同樣。MAP文件可以讓你的分析進度大大加快,減少分析一些已知的庫函數。 x64dbg_tol(中文搜索支持)https://bbs.pediy.com/thread-261942-1.htm 必裝插件,雖然官方在某個版本開始改善了對中文的支持,但他們在博客上也說了,可能會不全,建議自行安裝插件。我自己測試了,嗯,他們說的沒錯。裝了這個插件就能搜到之前搜不到的中文字符串了。 ScyllaHide(反反調試)https://github.com/x64dbg/ScyllaHide x64dbg官方開發的開源反反調試插件,同類插件也有好幾個,但官方的用得人比較多且更新快,所以這邊推薦官方的插件。使用方法也很簡單,插件菜單——Options——Loaded里可以選擇自帶的繞過方案(過一般的反調試可以用Basic甚至直接用自帶的 調試——高級——隱藏調試器) 試了下VM3.x的反調試可以用自帶的VM方案直接過掉(反而OD的StrongOD插件不行)
Ret-Sync (IDA x64dbg\OD 同步調試插件)https://github.com/bootleg/ret-sync https://bbs.pediy.com/thread-252634.htm 可以讓IDA和x64dbg\OD\windbg進行同步調試,支持在IDA中直接進行單步、下斷點、運行等操作,x64dbg將會與IDA保持同步,提高你調試效率的神器,關於安裝、使用說明可以參考官方github說明(更詳細)和看雪的帖子。 這里要特別提一點,如果你需要在虛擬機里用x64dbg,實體機里用IDA,需要創建兩個.sync文件,內容都為
一個在裝了IDA的機器上,放在你需要調試的程序目錄下(跟IDA生成的IDB文件放一起) 一個放在安裝了動態調試器的機器上,用戶文件夾根目錄(C:\Users\你的用戶名) 這樣就可以實現虛擬機和實體機同步調試了
E-ApiBreak(常用斷點設置)https://www.52pojie.cn/forum.php?mod=viewthread&tid=1384349 OD上常用的一個工具,現在x64dbg也有了。簡單易用,不多說明。
E-Debug(分析易語言程序必備)https://www.52pojie.cn/forum.php?mod=viewthread&tid=1374290 原作者githubhttps://github.com/fjqisba/E-debug-plus 最開始我在OD上用這個插件,可以讓分析易語言的效率倍增。最近發現有人移植到x64dbg了,在此推薦一波,打開后會自動識別易語言庫函數並且注釋。
HotSpots(用來尋找事件斷點)https://github.com/ThunderCls/xHotSpots 下拉框選擇對應語言,按下按鈕可以在按鈕事件處理函數 下斷點。
我把個人覺得必備的幾個插件打包了,下載覆蓋相應文件夾即可。(xAnalyzer,SwissArmyKnife,x64dbg_tol,ScyllaHide,BaymaxTools,xHotSpots)其他插件如果需要自行下載即可 |
https://www.52pojie.cn/thread-1393075-1-1.html





















