標籤:
一.查殼jeb載入發現沒有代碼,懷疑加殼
用查殼工具查殼 (愛加密)
apktool解包
得到其
package name: loading.androidmanual
main activity name: .BeginningActivity
二.調試啟動APP安裝APK到AVD模擬器
配置好IDA調試so環境(略過)
調試啟動adb shell am start -D -n 包名/包名+類名
adb shell am start -D -W -n loading.androidmanual/loading.androidmanual.BeginningActivity
設定偵錯模式
記錄下ID為506,附加上調試器
在libdvm.so中找到dvmDexFileOpenPartial.....並在函數頭部下好斷點 F9運行起來
設定jdb調試,執行後程式斷下來
此時寄存器R0為dex檔案的起始地址,R1為大小
R0 = 0x4C38E7B4
R1 = 0x000FAEB4
記憶體視窗可以清楚的看到檔案頭
三.dump dex fileIDA->File->scrpit command在彈出的對話方塊中粘貼我們的dump指令碼
Message("start dump\n");
auto fp,dex_addr,addr_begin,data_len,addr_end;
addr_begin=0x4C38E7B4;
data_len=0x000FAEB4;
addr_end=addr_begin+data_len;
fp=fopen("D:\\dump.dex","wb");
for (dex_addr=addr_begin;dex_addr < addr_end;dex_addr++)
{
fputc(Byte(dex_addr),fp);
}
Message("end dump\n");
運行指令檔
指令碼運行完畢後會在指定目錄產生dump.dex檔案
在用JEB開啟就可以分析dex檔案了
來自為知筆記(Wiz)
附件列表
一次Android脫殼training