目錄二丶記憶體斷點實戰演練
三丶oep位置脫殼
記憶體斷點就是在記憶體上下斷點,然後進行下斷.進而尋得我們脫殼位置處**
脫殼和記憶體斷點有啥關係
首先我們要明白乙個殼, 常見的殼都是 先儲存暫存器 儲存oep等.最後跳轉到oep 也就是入口點去執行**
注意,跳轉的方式很多種,只要能修改eip即可.或者rip. 例如push + ret方法 jmp方法等
既然明白了會儲存我們的暫存器以及恢復我們的暫存器,那麼就可以使用esp定律來進行脫殼了
但是這裡是另一種方法
殼會讀取記憶體,那麼我們就在記憶體上設定讀取斷點而後讀完之後最後會將資料寫入到入口點(也就是imagebase)所對應的節中,也就是 (text)節.所以可以在 text節上下乙個記憶體寫入斷點
操作方法如下:
1.在 資源節或者 .data節中下記憶體訪問斷點(一次性)
2.shift + f9 進行執行**,此時會斷在訪問資料的位置
3.繼續切換到記憶體視窗 (alt+ m) 在text節上面設定一次性記憶體寫入斷點
4.shift + f9 進行執行
注意,在進行操作的時候,請務必講異常進行忽略,以x64為例子
選型->設定->異常->新增區間
會斷在訪問資源的地方
斷下之後檢視特徵可以看到乙個 popad push + ret組合, 在最下邊的ret位置選中,按f4 讓**執行到ret 此時單步一次,ret返回的位置就是oep了
只有當你f4到ret位置,push 0才會變成乙個原始的oep位址壓入堆疊,否則就是如上還是push0
單步即可到達oep位置
關於脫殼已經講過了,請檢視如下文章
jar脫殼 Android app 脫殼
需要的工具 apktool,dex2jar,jd gui chmod x apktool.jar chmod x 增加許可權 反編譯apk cd 你存放apk的目錄 apktool d apk 該命令執行後會在同級目錄下生成乙個與你編譯的apk同名的目錄 由於apktool只能將資源檔案提取處理 對...
記憶體映象法脫殼
記憶體映象法一般用於稍微複雜的脫殼,在本例中不是很適用,但也能找到oep。如果在資源段加乙個斷點,第一次訪問資源段位址的是脫殼程式。首先用ollydbg開啟notepad.exe檔案 在選單欄的 選項 選擇 除錯設定 然後切換到 異常 標籤頁 勾選該頁上的各種忽略異常,然後關閉 按下alt m鍵開啟...
Youpk 實戰脫殼 愛加密 梆梆脫殼
下面是我整理的乙份常用的脫殼機的對比 這裡在網上找了梆梆2020 加固過的樣本。這裡加殼前的 比較簡單 只有乙個類mainactivity mainactivity 裡只有簡單的add 和 sub方法。可以看到方法裡面的 也比較簡單,返回相加相減的值。這裡可以看到 加殼後 mainactivity ...