測試環境為:
安卓2.3
ida6.6
下面看具體操作步驟:
具體怎樣用ida動態除錯我就不多說了,網上己經有很多文章了,下面直接進入正題。
1.準備好調式環境後 用ida附加程序。
2.附加成功後按"g"鍵 跳到dvmdexfileopenpartial函式與fopen函式與fgets函式去下好斷點。
3.下好斷點後我們來說說它的反除錯吧,下面我給兩張大家可能就會明白它的反除錯是怎麼一回事了。
在除錯狀態下檢視程序 tracerpid 不為0
在非除錯狀態下檢視程序 tracerpid 為0
上面tracerpid: 23131
不為0時表示跟蹤當前程序的程序id,如果是0,表示沒有跟蹤。
4.明白了反除錯後就可以進下面脫殼步驟了 f9 執行 斷在fopen
5.開啟程序成功後使用fgets獲得資訊 當獲得如下資訊進我們將其修改為0
修改為 0 後
6.我在測試時它檢查了兩次,都修改後就會來到這裡。
7.這樣就得到了解密後的dex開始位址與大小,r0為存放dex資料開始位址,r1為dex大小,dump出來。
8.寫個簡單的過idc指令碼將其dump出來,開始位址加上dex大小就是結束位址了。
0x446dc4e4為開始位址加上大小後等於0x4472afbc(結束位址)
auto fp, dexaddress;
fp = fopen("c:\\test.dex", "wb");
for ( dexaddress=0x446dc4e4; dexaddress < 0x4472afbc; dexaddress++ )
fputc(byte(dexaddress), fp);
9.使用idc指令碼將其dump出來
執行完指令碼後c盤就會出來明文的dex了,到此脫殼完成。
重新打包時一定要刪除androidmanifest.xml檔案中
這樣原始的dex檔案就被dump出來了。
完. (提取碼:ce81)
愛加密脫殼
關鍵字 libdvm dexfileopenpartialpk fopen 樣本 mtkediter原版.apk 反編譯 查殼 有愛加密殼 脫殼 0x1 adb shell suchmod 755 data local tmp as data local tmp as 0x2 adb forward...
Youpk 實戰脫殼 愛加密 梆梆脫殼
下面是我整理的乙份常用的脫殼機的對比 這裡在網上找了梆梆2020 加固過的樣本。這裡加殼前的 比較簡單 只有乙個類mainactivity mainactivity 裡只有簡單的add 和 sub方法。可以看到方法裡面的 也比較簡單,返回相加相減的值。這裡可以看到 加殼後 mainactivity ...
愛加密企業版靜態脫殼機編寫
0x00 apk加固簡介 0x01 愛加密流程簡單分析 dalvik 0x02 殼執行流程大致如下 0x03 愛加密企業版加固後apk反編譯如下 從上圖可以看到方法指令都被抽走了 0x04 靜態脫殼機編寫 加殼時將方法指令抽走後自定義格式加密存放在assets ijiami.ajm檔案中,通過ida...