1. 程式人生 > >網絡對抗技術 2017-2018-2 20152515 Exp1 PC平臺逆向破解(5)M

網絡對抗技術 2017-2018-2 20152515 Exp1 PC平臺逆向破解(5)M

動態 補碼 ali guid dump cal mark 函數 方案

PC平臺逆向破解 實踐內容1


直接修改程序機器指令,改變程序執行流程

  • 知識要求:Call指令,EIP寄存器,指令跳轉的偏移計算,補碼,反匯編指令objdump,十六進制編輯工具
  • 學習目標:理解可執行文件與機器指令
  • 進階:掌握ELF文件格式,掌握動態技術

實踐目標

手工修改可執行文件,改變程序執行流程,直接跳轉到getShell函數。

實踐步驟

  • 首先讓我們對pwn文件進行一個反匯編,可以看到文件中的是跳轉到foo函數
  • 讓我們把文件轉換成十六進制看一下
  • 找到 d7 的位置
  • d7 修改為 c3
  • 將十六進制轉換為原格式並保存
  • 運行pwn文件
以下操作是在vi內
1.按ESC鍵
2.輸入如下,將顯示模式切換為16進制模式
:%!xxd
3.查找要修改的內容
/e8d7
4.找到後前後的內容和反匯編的對比下,確認是地方是正確的
5.修改d7為c3
6.轉換16進制為原格式
:%!xxd -r
7.存盤退出vi
:wq

實踐中遇到的問題

  • 顯示“不是可執行文件”
  • 顯示“找不到該文件”

參考資料

  • 逆向及Bof基礎實踐說明
  • 64位Kali無法順利執行pwn1問題的解決方案

網絡對抗技術 2017-2018-2 20152515 Exp1 PC平臺逆向破解(5)M