天天看點

使用記憶體dump脫百度殼

【第一遍傳上來沒有圖檔,才知道要先在下面上傳圖檔,文中用到圖檔的時候點選插入,重新做了一遍,截圖上傳,累傻了】

廢話不說。

測試樣本md5:67257EA2E9EC6B35C9E5245927980EEA

脫殼前樣本:

使用記憶體dump脫百度殼

0x01,首先使用ps指令檢視程序

使用記憶體dump脫百度殼

0x02,通過應用的程序号檢視位址分布

使用記憶體dump脫百度殼

0x03,前面的兩個字段表示開始和結束位址,最後的字段映射檔案名,現在要做的就是使用dd指令把最後一個dex檔案dump出來

使用記憶體dump脫百度殼

dd  if=/proc/5694/mem of=/data/local/xxx skip=1979412480 ibs=1 count=200704

0x75fb7000 = 1979412480 

75fe8000 - 75fb7000 = 200704

使用記憶體dump脫百度殼

0x04,然後直接拖出來用二進制編輯器打開發現并不是dex檔案,而是odex檔案,

使用記憶體dump脫百度殼
使用記憶體dump脫百度殼

0x05,接下來就簡單多了。直接用baksmali和smali工具将odex轉化為dex

使用記憶體dump脫百度殼

有錯誤,是因為沒有framework,這個直接去手機/system/framework/拖一個檔案夾出來就好了

使用記憶體dump脫百度殼
使用記憶體dump脫百度殼

然後再執行baksmali

java -jar baksmali.jar -x xxx -d framework -o outfile

使用記憶體dump脫百度殼
使用記憶體dump脫百度殼

java -jar smali.jar oufile -o xxxx.dex

使用記憶體dump脫百度殼
使用記憶體dump脫百度殼
使用記憶體dump脫百度殼

用jeb等工具可以直接檢視了

使用記憶體dump脫百度殼