1. 程式人生 > >4.OD-除錯例項續(訊息斷點)

4.OD-除錯例項續(訊息斷點)

以下演示如何下訊息斷點,

OD執行TraceMe.exe,

單擊系統選單View/Windows(檢視/視窗)或單擊工具欄的W按鈕,如無內容,則執行右鍵選單"Actualize"重新整理命令

現在要對Check按鈕下斷點,當單擊按鈕時中斷,在Check行上單擊滑鼠右鍵,在彈出的右鍵選單中,選擇"Message breakpoint  on ClassProc"

當單擊事件發生時,會發送WM_LBUTTONUP這個訊息,所以,選中這個訊息,單擊OK,設好訊息斷點:

單擊Check按鈕,將會中斷到windows系統程式碼中,由於處於系統底層程式碼裡,這時企圖使用Alt+F9或Ctrl+F9返回TraceMe程式的領空程式碼是徒勞的,

所以用Ctrl+M開啟記憶體區,對.text區塊下一次性記憶體訪問斷點,如圖:

按F9執行,立即中斷在程式的空間004010D0處,這裡正是程式的訊息迴圈處:

注意的是,這段程式碼是一個訊息迴圈,不停的處理TraceMe主介面的各類訊息,因此可能不是直接處理按鈕事件,

可以重複這個過程(其他過程會走到系統領域中,這時再下記憶體訪問斷點),在幾次中斷後到達處理按鈕的事件程式碼,很快就能發現check按鈕事件的程式碼:

相關推薦

4.OD-除錯例項訊息斷點

以下演示如何下訊息斷點, OD執行TraceMe.exe, 單擊系統選單View/Windows(檢視/視窗)或單擊工具欄的W按鈕,如無內容,則執行右鍵選單"Actualize"重新整理命令 現在要對Check按鈕下斷點,當單擊按鈕時中斷,在Check行上單擊滑鼠右鍵,在

OD破解CM需要用到的斷點API經典斷點

攔截視窗: bp CreateWindow 建立視窗 bp CreateWindowEx(A) 建立視窗 bp ShowWindow 顯示視窗 bp UpdateWindow 更新視窗 bp GetWindowText(A) 獲取視窗文字 攔截訊息框: bp MessageBox(A) 建立

php斷點除錯工具------NetBeans+Xdebug除錯php方法測試成功

@原文url:https://www.cnblogs.com/feichengwulai/articles/6252039.html@原文url:http://www.cnblogs.com/dcb3688/p/4608015.html@netbeans官方除錯php程式碼說

Chrome斷點除錯,新手有圖

https://blog.csdn.net/zhou3214/article/details/79826073 步驟:用chrome瀏覽器開啟頁面 → 按f12開啟開發者工具 → 開啟Sources → 開啟你要除錯的js程式碼檔案 → 在行號上單擊一下,OK!恭喜你的處女斷點打上了,哈哈

實踐作業4:Web測試實踐小組作業每日任務記錄2

產品經理 處理 順序 pan 界面 測試 意見 效果 流程圖 (一)今日任務更新 編號 人物 任務更新 1 小林 正在對華中科技大學計算機學院網站熟悉並進行分析,對每個模塊的業務邏輯進行判斷,以產品經理的眼光來分析該網站處理處理事務邏輯順序,並且也繪制了業務邏輯流

實踐作業4:Web測試實踐小組作業記錄1

nbsp 測試的 選擇 任務 張江 完成 pos 每日 評測 今天,我們組召開了小組會議,會議主題是確定此次web測試實踐小組作業要測試和對比分析的軟件,然後進行任務分工。我們小組要測試的軟件是博客園,選擇對比分析的軟件是CSDN。 會議時間:2017.12.27 會議地點

BootStrap 4正式版發布原文翻譯

started rip 實用 例如 tar custom 應用 什麽是 finall 原文鏈接:http://blog.getbootstrap.com/2018/01/18/bootstrap-4/ 關於Bootstrap 什麽是Bootstrap Bootstrap

c語言程序設計第4周編程練習素數和

richedit 第一個 循環 {} 給定 技術 ron 都是 初始化 1 素數和(5分) 題目內容: 我們認為2是第一個素數,3是第二個素數,5是第三個素數,依次類推。 現在,給定兩個整數n和m,0<n<=m<=200,你的程序要計算第n個素數到第

CentOS7.4—Apache優化應用二日誌管理

Apache優化應用(日誌管理)Apache優化應用二(日誌管理)目錄第一部分 準備工作第二部分 安裝Apache服務第三部分 日誌管理一(配置日誌分割)第四部分 日誌管理二(配置Awstats日誌分析軟件) 第一部分 準備工作一:服務器:Linux系統—CentOS 7.4;IP地址:192.16

CentOS7.4—Apache優化應用三網頁優化

Apache優化應用(網頁優化)Apache優化應用三(網頁優化)目錄第一部分 準備工作第二部分 安裝Apache服務第三部分 Apache網頁優化—網頁壓縮第四部分 Apache網頁優化—網頁緩存 第一部分 準備工作一:服務器:Linux系統—CentOS 7.4;IP地址:192.168.80.

CentOS7.4——Apache優化應用四防盜鏈

Apache優化應用之防盜鏈Apache優化應用四(防盜鏈)目錄第一部分 準備工作第二部分 安裝Apache服務第三部分 配置盜鏈第四部分 配置基於域名的防盜鏈 第一部分 準備工作一:服務器兩臺:Linux系統—CentOS 7.4;IP地址:192.168.80.10(合法服務器)192.168.

Photon Release 4.8.0漢化附圖教程

upd 依次 開頭 參考資料 http finish pda 滾動條 war Eclipse語言包:http://www.eclipse.org/babel/downloads.php 1、打開瀏覽器,瀏覽“參考資料”內給出的“eclipse語言包下載”地址,在博客新頁

演算法題4:迴文數python3實現

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴

暢通工程HDU 1874簡單最短路

某省自從實行了很多年的暢通工程計劃後,終於修建了很多路。不過路多了也不好,每次要從一個城鎮到另一個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。 現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。 Input 本題目包

RabbitMQ訊息佇列叢集配置與使用篇

介紹 MQ全稱為Message Queue, 訊息佇列(MQ)是一種應用程式對應用程式的通訊方法。應用程式通過讀寫出入佇列的訊息(針對應用程式的資料)來通訊,而無需專用連線來連結它們。訊息傳遞指的是程式之間通過在訊息中傳送資料進行通訊,而不是通過直接呼叫彼此來通訊,直接呼叫通常是用於諸如遠端過程呼叫的

Swift 4:UIKit之UIButton持續更新

按鈕有四種狀態 正常(預設狀態) 突出顯示(高亮狀態)點選按鈕不放 已禁用(使能狀態)就是是否可用狀態 - >禁用的狀態才會顯現 Selected(選中狀態)通過selected屬性設定   import UIKit class ViewController

Swift 4:UIKit之UILabel持續更新

import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional set

暢通工程HDU 1874附上超詳細原始碼

Problem Description 某省自從實行了很多年的暢通工程計劃後,終於修建了很多路。不過路多了也不好,每次要從一個城鎮到另一個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。 現在,已知起點和終點,請你計算出要從起點到終點,最短需要

5037 線段樹練習4加強版 分塊卡常

/** 5037 線段樹練習4加強版 連結:http://codevs.cn/problem/5037/ op 1 區間修改 op 2 區間多少個數為k的倍數; 依據資料範圍:可記錄每個塊內每個數字出現的次數 區間加操作,完整塊依舊0(1),非完整塊 直接暴力即

7-4 陣列迴圈左移 10 分c語言解答

7-4 陣列迴圈左移 (10 分) 本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,如果還需要考慮程式移動資料的次數儘量少,要如何設計移動的方法? 輸入格式: 輸入第1行給出正整數n