OllyDbg 內嵌補丁的使用

https://www.bilibili.com/video/av28046265/?p=19

inline patch “內嵌補丁”

指在程序文件中把補丁代碼寫入文件裏面達到破解的目的。

例:

原程序:  mov eax, dword ptr [ebp+8]    3個字節

想改爲:  mov eax, 4                              5個字節

若如此修改,會產生溢出,覆蓋了下面的指令

所以要採用內嵌補丁的方式:

 

1. 找程序的空白區間,寫入自己需要的指令(mov eax, 4),以及會被覆蓋的指令

2.將原來的指令(mov eax, dword ptr [ebp+8])改爲 jmp XXXXXX(補丁的地址)

(這個操作也會覆蓋後面的內容)

3.在補丁最後加上 jmp XXXXXXX(原程序後面的內容的地址),跳出補丁,返回主程序

 

 

一些其他情況:https://www.bilibili.com/video/av28046265/?p=21

例:要使用數據段

1.找到一個數據段,下硬件斷點

 

 

2.然後運行一次程序,查看這個斷點是否被斷下(該數據段是否被使用)

3.若沒有被斷下,可以使用

4.再找程序的空白區間,輸入程序(可以使用插件NonaWrite)

內容:

1.代碼空間(寫入的地址)

2.數據地址

3.比較

4. 爲2,跳轉,不爲2,不跳轉

5.不跳轉的情況下,補充被覆蓋的指令

6.返回被覆蓋的指令之後

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章