android_apk反編譯教程

android_apk反編譯教程

ID:30425735

大小:180.04 KB

頁數(shù):10頁

時間:2018-12-29

android_apk反編譯教程_第1頁
android_apk反編譯教程_第2頁
android_apk反編譯教程_第3頁
android_apk反編譯教程_第4頁
android_apk反編譯教程_第5頁
資源描述:

《android_apk反編譯教程》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫

1、AndroidAPK反編譯教程——原帖地址:http://www.miui.com/thread-505062-1-2.htmlGoogleAndroid平臺選擇了JavaDalvikVM的方式使其程序很容易破解和被修改,首先APK文件其實就是一個MIME為ZIP的壓縮包,我們修改ZIP后綴名方式可以看到內(nèi)部的文件結構,類似SunJavaMe的Jar壓縮格式一樣,不過比較去別的是Android上的二進制代碼被編譯成為Dex的字節(jié)碼,所有的Java文件最終會編譯進該文件中去,作為托管代碼既然虛擬機可以識別,那么我們就可以很輕松的反編譯。所有的類調用、涉及

2、到的方法都在里面體現(xiàn)到,至于邏輯的執(zhí)行可以通過實時調試的方法來查看,當然這需要借助一些我們自己編寫的跟蹤程序。Google最然在AndroidMarket上設置了權限保護app-private文件夾的安全,但是最終我們使用修改定值的系統(tǒng)仍然可以獲取到需要的文件。一、dexdump方法dexdump是emulator自帶提供的查看dex文件的工具,可使用類似這樣的命令將dex文件dump到txt文件中:D:ProgramFilesandroid-sdk-windows-1.6_r1platformsandroid-1.6tools>dexdum

3、p.exe-dclasses.dex>spk.dump.txt得到的文件內(nèi)容,描述了類的信息,但是不怎么好閱讀二、AXMLPrinter2.jar+baksmali.jar+smali.jar方法這個方法就強大了,AXMLPrinter2是還原AndroidManifest.xml和main.xml的工具,直接打開這兩個xml文件是亂碼,而通過還原之后,可以很明白的看到里面的內(nèi)容(我猜測還是使用了字節(jié)異或的方式加的密)。baksmali.jar是反解析dex的工具,smali.jar則是再還原成dex的工具操作方式如下:11、java-jarAXMLP

4、rinter2.jarD:playAndroidManifest.xml>AndroidManifest.txt22、java-jarAXMLPrinter2.jarD:playreslayoutmain.xml>main.txt33、java-jarbaksmali-1.2.5.jar-oclassout/d:playclasses.dex復制代碼baksmali可解析(注意,是解析,不是反編譯)原java包以及引用的lib包,解析出的文件認真看還是能看懂,比如以下片段:456viewplaincopytoclipboardprint

5、?7.classLcom/paul/test/a;1.superLandroid/view/View;23#staticfields4.fieldprivatestaticfinala:Landroid/graphics/Typeface;56#instancefields7.fieldprivateb:I8.fieldprivatec:I9.fieldprivated:Z10.fieldprivatee:J11.fieldprivatef:I12.fieldprivatel:[Ljava/lang/String;1314#directmethods1

6、5.methodstaticconstructor()V16.registers217sget-objectv0,Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface;18const/4v1,0x019invoke-static{v0,v1},Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;20move-result-obj

7、ectv021sput-objectv0,Lcom/wiyun/ad/a;->a:Landroid/graphics/Typeface;22return-void23.endmethod24#25#othermethods..........26#27#virtualmethods28.methodpubliconKeyUp(ILandroid/view/KeyEvent;)Z29.registers430const/16v0,0x4231if-eqp1,v0,:cond_832const/16v0,0x1733if-nep1,v0,:cond_b34

8、:cond_835invoke-direct{p0},Lcom/paul/test/a;->d

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。