日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

Ollydbg使用教程学习总结(四)

發布時間:2023/12/2 37 豆豆
默认站点 收集整理的這篇文章主要介紹了 Ollydbg使用教程学习总结(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解密系列之OD使用教程13——迷途

程序:XoftSpy41._96.exe
用PEID查看,是VC6編寫的程序,用OD載入
獲取文本框輸入內容API:GetWindowTextA
API下斷方法:
a.右鍵=>查找=>所有模塊間的調用,直接輸入API,找到后右鍵該行=>在每個調用到GetWindowTextA上設置斷點;

b.Ctrl+N,找到后右鍵=>在每個參考上設置斷點;

按F9運行程序,刪除輸入注冊碼之前就觸發的斷點,最后輸入注冊信息之后,在如下位置斷下

繼續按F8瀏覽程序,在有跳轉處仔細判斷是否應該使之實現,來到下面地址處,查看該跳轉后所在位置,可知應使其實現,上面有關鍵call,下斷重新運行程序并跟進分析,仔細瀏覽下面的程序,發現還有與這段完全相同的程序段

可知程序可能在多處地方都存在驗證注冊代碼,跟進后可看到這個子程序有2個返回點,在第1個返回點附近有mov al,1這條指令,猜測是成功的標志;在第2個返回點有xor al,al指令,猜測是失敗的標志;按F8單步運行,遇到跳轉時修改ZF標志位使其從第1個返回點返回,最終提示“恭喜注冊成功”的信息,但是點擊確定后發現并沒有注冊成功!這就是“迷途”!

解密系列之OD使用教程14——知返

程序:XoftSpy41._96.ex.
上一講用獲取編輯框內容的方法并不能實現破解,這次換個思路,采用字符串查找法。

雙擊高亮這行,來到

發現關鍵call,繼續往上瀏覽,在子程序開始處下斷,發現切換到主程序界面就會觸發該斷點

跟進關鍵call,發現子程序只有1個返回點,繼續按F8單步執行,來到

根據棧頂所示,推測這個call是驗證算法call。繼續往下看,如果注冊成功的話,會執行以下2句指令

mov bl, 1 mov al, bl

因此,將第2句指令改為mov al, 1即可,保存到可執行文件,測試成功。

解密系列之OD使用教程15——inline patch “內嵌補丁”

程序:DVDMen.Studio.exe

運行程序,有NAG窗口,有30天的試用期,將系統日期調至提前1年,發現軟件過期不可用了,再重新將系統的日期調回,但軟件還是過期不可用,說明程序在某個地方寫入了是否過期的標志。
用PEID查看為VC6編寫的程序,用OD載入程序,輸入注冊信息并點擊確定,發現程序并不會斷下。輸入完注冊信息后先不點擊OK按鈕,在OD中按下Ctrl+N,輸入KillTimer,并在每個參考上設置斷點,然后返回軟件點擊OK,程序斷下(此處KillTimer是break的作用,構成switch case語句)。根據分析程序提示信息,得到eax必須等于4才可實現破解成功,如圖

選中cmp eax, 4這行,下面提示“跳轉來自004DC1A0”,右鍵=>轉到jnz來自004DC1A0,最終找到switch case語句的開始處


在該子程序頭部下斷,按F9運行程序,輸入注冊信息,最后斷下,單步執行,發現eax的值來源于上圖高亮這行,直接修改為mov eax, 1,但是修改后會覆蓋后面2條指令,因此需要采用“內嵌補丁”的方式進行修補,補丁所在位置為005E47D0,即程序后面填補為0的區域。

在004DBD9E處右鍵=>Bookmark=>Insert Bookmark插入書簽,對該句指令進行修改如下

同樣,在5E47D0處進行修改如下,最后跳轉回004DBDA3(即轉到下一句繼續執行)

將所做的修改保存到可執行文件,打開程序測試,發現程序進入死循環,這是為什么呢?繼續載入未修改的程序進行分析,發現把eax的值修改為4后,程序并不能跳出switch case語句,而把eax的值改為0B后即可正常跳出。(此處解釋有點牽強,但事實卻是如此,還需深究原因)

解密系列之OD使用教程16——“堆棧法”

程序:DVDMenuStudiX.ex.

運行程序,先產生主窗口,再出現NAG窗口。用OD載入,按F9運行,NAG窗口出現后,按下暫停鍵,在打開堆棧窗口如下

雙擊最后一行,來到

004DC0D1 . E8 77FD0C00 call 005ABE4D

在該行下斷,并在該子程序開始處下斷

004DBD80 . 55 push ebp 004DBD81 . 8BEC mov ebp, esp

重新載入,按F9,來到斷點處,按F8單步執行發現

004DBDBE . 83B8 64010000>cmp dword ptr [eax+164], 1 004DBDC5 . 75 1F jnz short 004DBDE6 004DBDC7 . 8BCF mov ecx, edi

如果上面跳轉實現的話,就會004DC0D1處的call而調出NAG窗口,因此NOP掉該條指令,保存,即可破解。

總結

以上是默认站点為你收集整理的Ollydbg使用教程学习总结(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。