逆向破解:x64dbg

文章目錄

  • 一、CPU窗口
    • 1、反匯編窗口
    • 2、寄存器窗口
    • 3、棧地址窗口
    • 4、十六進制數據窗口
    • 5、堆棧參數解析窗口
  • 二、常用快捷鍵
  • 三、字符串檢索功能
  • 四、調試功能
    • 1、上一步


一、CPU窗口

1、反匯編窗口

反匯編窗口

2、寄存器窗口

寄存器窗口用于顯示和解釋當前線程環境下CPU寄存器的各種狀態值和內容,并且讀者可以通過雙擊這些寄存器組來對其進行動態的調整參數

在這里插入圖片描述

寄存器描述
EAX通用寄存器,用于存放函數返回值、算術運算結果等。
EBX通用寄存器,用于存放內存地址或其他通用數據。
ECX通用寄存器,用于存放函數參數。
EDX通用寄存器,用于存放內存地址或其他通用數據。
ESI通用寄存器,用于存放源數據的地址,例如字符串拷貝等操作。
EDI通用寄存器,用于存放目標數據的地址,例如字符串拷貝等操作。
EBP基址指針,用于存放當前棧幀的基址。
ESP堆棧指針,用于存放當前堆棧頂部的地址。
EIP指令指針,用于存放當前正在執行的指令的地址。
EFLAGS標志寄存器,用于存放CPU的狀態標志,例如進位標志、零標志、符號標志等。

標志寄存器(EFLAGS)是一個16位的寄存器,用于存儲CPU運算的狀態標志,例如進位標志、零標志、符號標志等。下面列出了x86架構CPU中的標志寄存器以及它們的含義:

標志位中文名稱描述
CF進位標志當無符號整數加法或減法的結果超出了寄存器的寬度時,該標志位會被設置為1。CF=1表示有進位發生,CF=0表示無進位發生。
PF奇偶標志當一個操作的結果中有偶數個二進制位為1時,該標志位會被設置為1。PF=1表示結果中有偶數個1,PF=0表示結果中有奇數個1。
AF調整標志當一個二進制算術操作(例如加法或減法)中低4位產生了進位或借位時,該標志位會被設置為1。AF=1表示有進位或借位發生,AF=0表示無進位或借位發生。
ZF零標志當一個操作的結果為零時,該標志位會被設置為1。ZF=1表示結果為零,ZF=0表示結果不為零。
SF符號標志當一個操作的結果為負數時,該標志位會被設置為1。SF=1表示結果為負數,SF=0表示結果為非負數。
TF陷阱標志該標志位用于單步調試,當TF=1時,CPU會在每個指令執行后暫停并等待調試器的命令。
IF中斷標志該標志位用于控制CPU是否響應中斷請求。當IF=1時,CPU允許中斷請求;當IF=0時,CPU禁止中斷請求。
DF方向標志該標志位用于控制字符串操作的方向,當DF=1時,字符串操作是從高地址向低地址進行的;當DF=0時,字符串操作是從低地址向高地址進行的。
OF溢出標志當有符號整數加法或減法的結果超出了寄存器的寬度時,該標志位會被設置為1。OF=1表示有溢出發生,OF=0表示無溢出發生。

3、棧地址窗口

在這里插入圖片描述

4、十六進制數據窗口

在這里插入圖片描述

5、堆棧參數解析窗口

在這里插入圖片描述

二、常用快捷鍵

通過選項快捷鍵來設置快捷鍵,下面是常用快捷鍵

在這里插入圖片描述

調試控制

F2:開始/停止調試
F3:單步執行
F7:進入函數調用
F8:跳過函數調用
F9:繼續執行
F12:暫停/繼續執行

斷點

F5:添加/刪除斷點
Ctrl + F5:添加/刪除硬件斷點
F6:添加/刪除條件斷點
F9:啟用/禁用斷點
Ctrl + F9:啟用/禁用所有斷點

寄存器

Ctrl + R:打開/關閉寄存器窗口
Ctrl + G:跳轉到指定地址
F2/F4/F6:在寄存器窗口中修改寄存器的值

內存

Ctrl + M:打開/關閉內存窗口
Ctrl + E:打開/關閉表達式窗口
Ctrl + F:查找指定字節序列
Ctrl + Shift + F:查找指定指令序列
Ctrl + D:將內存中的數據以十六進制形式導出到文件中

三、字符串檢索功能

開始調試后,右鍵選擇搜索,再選擇所有模塊,選擇字符串。

在這里插入圖片描述

就會檢索出所有模塊的字符串,結果如下。

在這里插入圖片描述

四、調試功能

1、上一步

當運行到消息盒子時,此時事件在等待確認按鈕關閉消息盒子。此時可以不點擊確定關閉消息盒子,可以通過上一步去查看,相關的邏輯判斷代碼。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79500.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79500.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79500.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

免布線視頻樁如何重塑停車管理模式

傳統停車管理常因布線復雜、維護成本高而難以推廣,而“免布線視頻樁”通過無線設計、低功耗與高精度檢測,為城市停車提供高效解決方案。作為智慧城市建設的創新工具,免布線視頻樁以即裝即用、長效續航等特性,正在重塑停車管理模式…

【CTFer成長之路】舉足輕重的信息搜集

舉足輕重的信息搜集 信息搜集 常見的搜集 題目描述: 一共3部分flag docker-compose.yml version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-information-backk:latestports:- 80:80啟動方式 docker-compose up -d 題目Flag n1book{info_…

springboot3+vue3融合項目實戰-大事件文章管理系統-更新用戶密碼

大致分為這三步 首先在usercontroller中增加updatePwd方法 PatchMapping ("/updatePwd")public Result updatePwd(RequestBody Map<String,String> params){//1.校驗參數String oldPwd params.get("old_pwd");String newPwd params.get("n…

OpenCV進階操作:指紋驗證、識別

文章目錄 前言一、指紋驗證1、什么是指紋驗證2、流程步驟 二、使用步驟&#xff08;案例&#xff09;三、指紋識別&#xff08;案例&#xff09;1、這是我們要識別的指紋庫2、這是待識別的指紋圖3、代碼4、結果 總結 前言 指紋識別作為生物識別領域的核心技術之一&#xff0c;…

ECLIC中斷流程及實際應用 —— RISC-V中斷機制(二)

在長期的嵌入式開發實踐中&#xff0c;對中斷機制的理解始終停留在表面層次&#xff0c;特別當開發者長期局限于純軟件抽象層面時&#xff0c;對中斷機制的理解極易陷入"知其然而不知其所以然"的困境&#xff0c;這種認知的局限更為明顯&#xff1b;隨著工作需要不斷…

計算機網絡-LDP標簽發布與管理

前面學習了LDP建立鄰居&#xff0c;建立會話&#xff0c;今天來學習在MPLS中的標簽發布與管理。 在MPLS網絡中&#xff0c;下游LSR決定標簽和FEC的綁定關系&#xff0c;并將這種綁定關系發布給上游LSR。LDP通過發送標簽請求和標簽映射消息&#xff0c;在LDP對等體之間通告FEC和…

Go語言運算符詳解

文章目錄 1. 算術運算符2. 關系運算符3. 邏輯運算符4. 位運算符5. 賦值運算符6. 其他運算符運算符優先級注意事項 Go語言提供了與其他語言類似的運算符&#xff0c;包括算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符等。這些運算符即可滿足基本的運算需求。 1. 算…

Selenium模擬人類行為,操作網頁的方法(全)

看到有朋友評論問&#xff0c;用selenium怎么模仿人類行為&#xff0c;去操作網頁的頁面呢&#xff1f; 我想了想&#xff0c;這確實是一個很大的點&#xff0c;不應該是一段代碼能解決的&#xff0c; 就像是,如果讓程序模擬人類的行為。例如模擬人類買菜&#xff0c;做飯&am…

RabbitMQ的工作隊列模式和路由模式有什么區別?

RabbitMQ 的工作隊列模式&#xff08;Work Queues&#xff09;和路由模式&#xff08;Routing&#xff09;是兩種不同的消息傳遞模式&#xff0c;主要區別在于消息的分發邏輯和使用場景。以下是它們的核心差異&#xff1a; 1. 工作隊列模式&#xff08;Work Queues&#xff09…

牛客練習賽138(首篇萬字題解???)

賽時成績如下&#xff1a; 1. 小s的簽到題 小s拿到了一個比賽榜單&#xff0c;他要用最快的速度找到簽到題&#xff0c;但是小s腦子還是有點暈&#xff0c;請你幫幫小s&#xff0c;助力他找到簽到題。 比賽榜單是一個 2 行 n 列的表格&#xff1a; 第一行是 n 個大寫字母&#…

linux0.11內核源碼修仙傳第十六章——獲取硬盤信息及根目錄掛載

&#x1f680; 前言 書接第十四章&#xff1a;linux0.11內核源碼修仙傳第十四章——進程調度之fork函數&#xff0c;在這一節博客中已經通過fork進程創建了一個新的進程1&#xff0c;并且可以被調度&#xff0c;接下來接著主線繼續走下去。希望各位給個三連&#xff0c;拜托啦&…

mobile自動化測試-appium webdriverio

WebdriverIO是一款支持mobile app和mobile web自動化測試框架&#xff0c;與appium集成&#xff0c;完成對mobile應用測試。支持ios 和android兩種平臺&#xff0c;且功能豐富&#xff0c;是mobile app自動化測試首選框架。且官方還提供了mobile 應用測試example代碼&#xff0…

Kubernetes排錯(十):常見網絡故障排查

通用排查思路 Kubernetes 集群內不同服務之間的網絡通信出現異常&#xff0c;表現為請求超時、連接失敗或響應緩慢&#xff0c;導致服務間依賴關系中斷&#xff0c;依賴服務的功能不可用或性能下降&#xff0c;甚至可能波及整個微服務架構&#xff0c;引發連鎖反應&#xff0c…

PyTorch 張量與自動微分操作

筆記 1 張量索引操作 import torch ? # 下標從左到右從0開始(0->第一個值), 從右到左從-1開始 # data[行下標, 列下標] # data[0軸下標, 1軸下標, 2軸下標] ? def dm01():# 創建張量torch.manual_seed(0)data torch.randint(low0, high10, size(4, 5))print(data->,…

接口的基礎定義與屬性約束

在 TypeScript 中&#xff0c;接口&#xff08;Interface&#xff09;是一個非常強大且常用的特性。接口定義了對象的結構&#xff0c;包括對象的屬性和方法&#xff0c;可以為對象提供類型檢查和約束。通過接口&#xff0c;我們可以清晰地描述一個對象應該具備哪些屬性和方法。…

高效全能PDF工具,支持OCR識別

軟件介紹 PDF XChange Editor是一款功能強大的PDF編輯工具&#xff0c;支持多種操作功能&#xff0c;不僅可編輯PDF內容與圖片&#xff0c;還具備OCR識別表單信息的能力&#xff0c;滿足多種場景下的需求。 軟件特點 這款PDF編輯器完全免費&#xff0c;用戶下載后直接…

OpenCV 中用于背景分割的一個類cv::bgsegm::BackgroundSubtractorGMG

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 cv::bgsegm::BackgroundSubtractorGMG 是 OpenCV 中用于背景分割的一個類&#xff0c;它實現了基于貝葉斯推理的背景建模算法&#xff08;Bayesi…

MongoDB知識框架

簡介&#xff1a;MongoDB 是一個基于分布式文件存儲的數據庫&#xff0c;屬于 NoSQL 數據庫產品&#xff0c;以下是其知識框架總結&#xff1a; 一、數據模型 文檔&#xff1a;MongoDB 中的數據以 BSON&#xff08;二進制形式的 JSON&#xff09;格式存儲在集合中&#xff0c;…

WEBSTORM前端 —— 第2章:CSS —— 第8節:網頁制作2(小兔鮮兒)

目錄 1.項目目錄 2.SEO 三大標簽 3.Favicon 圖標 4.版心 5.快捷導航(shortcut) 6.頭部(header) 7.底部(footer) 8.banner 9.banner – 圓點 10.新鮮好物(goods) 11.熱門品牌(brand) 12.生鮮(fresh) 13.最新專題(topic) 1.項目目錄 【xtx-pc】 ima…

1、RocketMQ 核心架構拆解

1. 為什么要使用消息隊列&#xff1f; 消息隊列&#xff08;MQ&#xff09;是分布式系統中不可或缺的中間件&#xff0c;主要解決系統間的解耦、異步和削峰填谷問題。 解耦&#xff1a;生產者和消費者通過消息隊列通信&#xff0c;彼此無需直接依賴&#xff0c;極大提升系統靈…