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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小甲鱼 OllyDbg 教程系列 (九) :Delphi 程序逆向特点

發布時間:2024/7/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小甲鱼 OllyDbg 教程系列 (九) :Delphi 程序逆向特点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

小甲魚?OllyDBG?使用教程:https://www.bilibili.com/video/av30969642?p=16

OD 實驗(十二) - 對一個 Delphi 程序的逆向:https://www.cnblogs.com/sch01ar/p/9678256.html

程序下載地址:https://pan.baidu.com/s/1Gb97C6HBNlmph7MbGrN_SQ ? ?提取碼:qhiq?

PEiD 查殼工具:https://pan.baidu.com/s/1iNS4UlBvmXCxaj5a-AFupw ? ?提取碼:79z5?

?

?

程序:

?

運行程序

界面顯示的是未注冊。點擊 Help -> About

點擊 Use Reg Key

這里輸入注冊碼,用 PEiD 看一下

該程序是用 Delphi 6.0 - 7.0 寫的

?

?

逆向:

用 OD 打開程序

右鍵 -> 查找 -> 所有參考文本字串,然后右鍵 -> 查找文本

搜索

這里有個是 accepted 為接受,failed 為失敗

雙擊到 accepted 處

如果程序執行到這里則說明,注冊碼是可以的

在 Delphi 中,push 后的 retn 指令相當于 jmp 指令

在該 push 處下一個斷點,然后跑一下程序

輸入注冊碼,點擊 Register

程序沒有停在斷點處,我們往上看程序

可以看到很多的 call 指令

這也是 Delphi 語言的特性

在提示信息之后下一個斷點

重新跑一下程序

輸入注冊碼,點 Register

程序停在了斷點處

程序會出現這樣的對話框

點擊“確定”,然后按“Register”

再按 F8 往下走

走到某個地方會跳到動態鏈接庫處

按“-”后退一步看看在哪跳的(“+”為向前一步),已經執行,只是向前或向后看一下

在 call 上面的 mov 指令下一個斷點

運行程序,停在該斷點處

如果繼續執行的話,會彈出剛才那個錯誤的對話框

把 call 語句改為 nop

接下來有個 jbe 跳轉語句會進行跳轉

跳轉到下面的地方

按 F8 繼續往下走

這里有兩個跳轉,這兩個跳轉都是未實現的

如果這兩個跳轉都沒跳的話,將會彈出錯誤的對話框,所以要讓其中一個進行跳轉

je 跳轉的地方為

jnz 跳轉的地方為

jnz 跳轉到退出的位置

所以,讓 je 指令執行跳轉,把 je 改為 jmp

je 執行跳轉之后按“F8”繼續往下走

這里有個已實現跳轉的 jnz 跳轉

如果它實現跳轉的話,將會跳過成功的對話框,所以不要讓它實現跳轉

把該指令改為 nop

然后繼續按 F8 往下走

走到這個地方會彈出成功的對話框

?

?

?

總結

以上是生活随笔為你收集整理的小甲鱼 OllyDbg 教程系列 (九) :Delphi 程序逆向特点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。