1. 程式人生 > >手動脫殼方法及原理

手動脫殼方法及原理

介紹三種方法:

1.單步跟蹤法

2.ESP定律法

3.2次記憶體映象法

1.單步跟蹤法

宗旨:向上的跳轉不讓實現,向下的跳轉實現,當發現大跨度跳轉時,即會到OEP

2.ESP定律法

遵循堆疊平衡原理,在殼對程式進行操作加密或者壓縮時,會把程式的OEP壓入棧中,當殼執行完成後,進行解密或者解壓縮,會把真正的OEP從棧中彈出

操作方法:

載入OllyDbg,單步程式,發現ESP暫存器變紅

右鍵點選ESP,資料視窗跟隨

對資料視窗該處下硬體訪問斷點

執行程式,單步跟蹤到OEP

3.2次記憶體映象法

在殼進行解密或解壓縮時,最後釋放的是資源區段:.rsrc,這個區段被釋放完全後,說明整個程式已經被全部解密

操作方法:

載入OllyDbg,ALT+M開啟記憶體視窗

找到第一個資源區段,下斷點,Shift+F9或執行

再到記憶體視窗找到地址為401000的程式碼區段下斷,執行

單步結合單步跟蹤法找到OEP

相關推薦

手動方法原理

介紹三種方法: 1.單步跟蹤法 2.ESP定律法 3.2次記憶體映象法 1.單步跟蹤法 宗旨:向上的跳轉不讓實現,向下的跳轉實現,當發現大跨度跳轉時,即會到OEP 2.ESP定律法 遵循堆疊平衡原理,在殼對程式進行操作加密或者壓縮時,會把程式的OEP壓入棧中,當殼執行完成

信用風險評估評分卡建模方法原理

pre was 建模 cli com tps course yun http 課程介紹 信用風險評分卡為信用風險管理提供了一種有效的、經驗性的解決方法,是消費信貸管理中廣泛應用的技術手段。 評分卡是信用風險評估領域常見的建模方法。評分卡並不加單對應於某一種機器學習算法,而是

VMware虛擬機三種聯網方法原理

虛擬機 互訪 south 互聯網 分享 兩個 所有 能夠 對數 VMware虛擬機三種聯網方法及原理 Brigde――橋接:默認使用VMnet0 原理:   Bridge 橋"就是一個主機,這個機器擁有兩塊網卡,分別處於兩個局域網中,同時在"橋&quo

常見android app加固廠商方法研究

目錄簡述(脫殼前學習的知識、殼的歷史、脫殼方法) 第一代殼 第二代殼 第三代殼 第N代殼 簡述Apk檔案結構Dex檔案結構殼史殼的識別Apk檔案結構 Dex檔案結構 殼史 第一代殼 Dex加密 Dex字串加密資源加密對抗反編譯反除錯自定義DexClassLoader

記錄一次手動 Jarvisoj Reverse Evil.exe

這個題目的分值是200,對我來說是個不小的挑戰啊。 查了一下殼,沒有發現什麼 真的這麼簡單?拖入IDA觀察: 呃呃呃,果然不簡單;在IDA裡面沒有任何函式的痕跡。只有一個.text段。 猜測,應該是加了某種殼對源程式加密過。用OD載入。 看到OD的提示,

VMware虛擬機器的三種聯網方法原理

虛擬機器Vmware網際網路網路應用網路協議 一、Brigde——橋接  :預設使用VMnet0 1、原理: Bridge  橋"就是一個主機,這個機器擁有兩塊網絡卡,分別處於兩個區域網中,同時在"橋"上,執行著程式,讓區域網A中的所有資料包原封不動的流入B,反之亦然。

淺談三種最常規的HTTPS流量解密方法原理

Web 安全是一項系統工程,任何細微疏忽都可能導致整個安全壁壘土崩瓦解。拿 HTTPS 來說,它的「內容加密、資料完整性、身份認證」三大安全保證,也會受到非法根證書、服務端配置錯誤、SSL 庫漏洞、私鑰被盜等等風險的影響。很多同學認為只要訪問的網站地址前有一把小綠鎖就絕對安全,其實不然。本文通過介紹

DNS+tunnel(DNS隧道)技術-DNS2tcp的使用方法原理

最近遇到了國內某大牛,聽說了一個叫做DNS tunnel的技術,經過一番研究,發現很有趣,記錄一下。 什麼是DNS tunnel? DNS tunnel 即 DNS隧道。從名字上來看就是利用D

阿里第一代 android dex加固的方法

脫殼環境: Android 4.2、dalvik模式、 root… 使用到的工具: IDA 6.8 Android Device Monitor Android Killer V1.3.1.0 Android逆向助手V2.2 將程式

阿里演算法專家:信用風險評估評分卡建模方法原理

信用風險評分卡為信用風險管理提供了一種有效的、經驗性的解決方法,是消費信貸管理中廣泛應用的技術手段。評分卡是信用風險評估領域常見的建模方法。評分卡並不加單對應於某一種機器學習演算法,而是一種通用的建模框架,講原始資料通過分箱後進行特徵工程變換,繼而應用於線性模型

360二代加固方法總結

二代加固的難度有所增加,最明顯的地方就是qihoo下面增加了一個Configuration.smali檔案。由以前的一個增加為兩個。 脫殼時有幾個關鍵的so:1.libc.so(主要是提供一些系統函式

360加固保的dex方法

360整體加固classes.dex後的apk程式的特點,以超信1.1.4版本為例。360加固以後,會在apk的assets檔案的路徑下增加兩個檔案libjiagu.so和libjiagu_x86

JS跨域(ajax跨域、iframe跨域)解決方法原理詳解

js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向一個不同的域請求資料,或者通過js獲取頁面中不同域的框架中(iframe)的資料。只要協議、域名、埠有任何一個不同,都被當作是不同的域。 要解決跨域的問題,我們可以使用以下幾種方法: 1、

_esp定律原理

本帖最後由 zf616545 於 2014-10-2 22:14 編輯ESP定律算是我們在脫殼當中最常使用的方法之一,也特別適合像我一樣的新手!而今天文章說的是ESP脫殼的原理和分析!只有知道原理了,我們的技術才能走得列遠! 一.準備知識在我們開始討論ESP定律之前,我先給你講解一下一些簡單的彙編知識。 1

360 so加動態方法

轉載地址:http://mp.weixin.qq.com/s?__biz=MjM5NzAxMzk4NA==&mid=209300616&idx=1&sn=bcc440640f68e9355fcb20842a1ddaef&scene=0#rd

【機器學習】信用風險評估評分卡建模方法原理

課程介紹 信用風險評分卡為信用風險管理提供了一種有效的、經驗性的解決方法,是消費信貸管理中廣泛應用的技術手段。 評分卡是信用風險評估領域常見的建模方法。評分卡並不加單對應於某一種機器學習演算法,而是一種通用的建模框架,講原始資料通過分箱後進行特徵工程變換,繼而應用於線性模型

Android Framework的啟動方法原理詳解

安卓系統中執行的第一個Dalvik虛擬機器叫做zygote,意思是“卵”。這“卵”還是挺有用的,因為接下來所有的Dalvik虛擬機器程序都是這個“卵”孵化出來的。 zygote程序中包含兩個主要模組,分別如下: 1、Socket服務端。用於接收啟動新的D

Android Hanlder機制分析(一) Hanlder常見用方法原理

一、Handler介紹   在android開發的過程中,經常需要對UI進行更新操作。但是在子執行緒中對UI進行更新在android中是不允許的,這涉及到了執行緒安全問題,因此更新UI只能在主執行緒(UI執行緒)中進行。但是如果將耗時操作放在了UI執行緒中會帶

VMware虛擬機器三種聯網方法原理和Linux 三種網路

一、Brigde——橋接:預設使用VMnet0 1、原理:         Bridge  橋"就是一個主機,這個機器擁有兩塊網絡卡,分別處於兩個區域網中,同時在"橋"上,執行著程式,讓區域網A中的所有資料包原封不動的流入B,反之亦然。這樣,區域網A和B就無縫的在鏈路層連線起

總結Themida / Winlicense加軟體的方法

   1, 檢視殼版本,這個方法手動也可以,因為這個殼的版本號是寫在程式裡面的,在解壓後下斷點即可檢視,這裡有通用的指令碼,我就不再羅嗦了,跟著指令碼學吧,使用方法很簡單,直接執行指令碼即可。(指令碼我也已傳在資源中,可在文章結尾獲得下載地址)     2,對於 Ve