14. OD-inline patch入门,将一段代码和变量分别注入一个程序中
生活随笔
收集整理的這篇文章主要介紹了
14. OD-inline patch入门,将一段代码和变量分别注入一个程序中
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分析程序情況
第一次進入call為neg
第二次進入call為主程序
第三次退出程序進入call為neg
這個跳轉如果改為jmp,那么主程序也沒有了
那么我們可以試想寫一段C程序做判斷
int i = 0; for (i=0; i<3; ++i) {if (i == 2)不跳轉else跳轉 }尋找PE頭,雙擊數據
尋找空間
00445E80
下斷點,運行程序測試是否有被占用
沒有問題,我們尋找的位置是安全的,程序未使用
找到代碼段未使用的指令
選擇NonaWrite插件
點擊Assemble,自動修改填充我們寫的代碼
修改,跳轉到我們的代碼(注意下面就是顯示對話框CDialog)
破解成功
?
?
總結:
1. 在PE頭數據段找到一處程序未使用的數據,做我們的變量i(記住地址)
2. 在代碼界面尋找一處程序未使用的數據,寫程序 (記住地址)
3. 學會使用NoneWrite填充我們的匯編代碼
4. 最后修改源跳轉對話框的地方跳轉到我們寫的代碼處(注意指令是否被覆蓋)
5. 保存兩處修改的代碼
?
?
總結
以上是生活随笔為你收集整理的14. OD-inline patch入门,将一段代码和变量分别注入一个程序中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何制作产品镜像
- 下一篇: Go语言编程:Go语言实现快速排序算法