下面是我整理的乙份常用的脫殼機的對比
這裡在網上找了梆梆2020 加固過的樣本。
這裡加殼前的**比較簡單 只有乙個類mainactivity mainactivity 裡只有簡單的add 和 sub方法。可以看到方法裡面的**也比較簡單,返回相加相減的值。
這裡可以看到 加殼後 mainactivity 這個類已經看不到了 全是梆梆加固的相關類方法
這裡 比較厲害的大佬可能直接硬鋼逆向了,分析so層,然後一步步dumpdex。
另一些跟我一樣懶得大佬,可以直接上工具了。用脫殼機,真香!!!!
好,上youpk.
youpk相關介紹:
youpk github :
第一步:往配置檔案 /data/local/tmp/unpacker.config 寫入要脫殼的包名。
這裡脫殼機會讀取檔案內容執行脫殼
這裡樣本的包名是 com.example.test_shell
往配置檔案寫入包名 如下圖
具體命令如下
sailfish:/ # cd /data/local/tmp
sailfish:/data/local/tmp #
sailfish:/data/local/tmp # echo 'com.example.test_shell' > unpacker.config
sailfish:/data/local/tmp #
sailfish:/data/local/tmp # cat unpacker.config
com.example.test_shell
3)第三步:進入脫出dex的目錄 一般為 /data/data/包名/unpacker/dex 獲取脫殼後的dex
這裡目錄為
/data/data/com.example.test_shell/unpacker/dex
進入目錄 取出dex 如下圖 這裡可以看到dex有兩個,脫殼機會把外殼dex和真正的dex都脫下來,後續開啟乙個乙個辨別就可以了
小竅門:帶有base.apk這種dex的一般都是外殼dex
好的 成功脫殼。
此刻日誌裡也看到輸出了 unpack end的字樣
這裡,有些加殼後的apk是沒有日誌的,因為hook了列印日誌的函式,所以看不到,不過不影響脫殼機脫殼
把拖出來的dex反編譯看下 坐下對比
這裡可以看到完美dump出dex。
注意 這裡只是dump出dex, 還原了三代殼的方法抽取
對於後續四代殼五代殼的 dexvmp sovmp並無相關處理。
這裡愛加密殼找的是網上的乙個例子 這裡並未找到加固前的樣本
##按照上面辦法脫殼後的dex
這裡相關步驟照搬一遍上面的 也就是寫入配置檔案的包名改一下,基本沒啥不同
dump後的dex如下圖
這裡可以看到 dex裡面 之前被抽取的方法 已經成功回填
愛加密脫殼
關鍵字 libdvm dexfileopenpartialpk fopen 樣本 mtkediter原版.apk 反編譯 查殼 有愛加密殼 脫殼 0x1 adb shell suchmod 755 data local tmp as data local tmp as 0x2 adb forward...
「愛加密」 動態脫殼法
測試環境為 安卓2.3 ida6.6 下面看具體操作步驟 具體怎樣用ida動態除錯我就不多說了,網上己經有很多文章了,下面直接進入正題。1.準備好調式環境後 用ida附加程序。2.附加成功後按 g 鍵 跳到dvmdexfileopenpartial函式與fopen函式與fgets函式去下好斷點。3....
04 加殼和脫殼
可以使用以下兩種方式進行判斷 搜尋load commands中的crypt關鍵字 otool l 可執行檔名稱 脫殼方式有兩種,硬脫殼和動態脫殼 將dylib檔案拷貝到iphone上 如果是root使用者,建議放 var root目錄 終端進入dylib所在位置,使用環境變數dyld insert ...