android apk反編譯打包簽名

來源:互聯網
上載者:User

 APK反編譯打包簽名

一、JDK安裝和環境配置

1. jdk1.6:http://download.java.net/jdk6/ 

 jdk-6u17-windows-i586.exe

2. 安裝,一路預設即可。

3. 環境變數設定

 xp系統:我的電腦 -> 屬性 -> 進階 -> 環境變數

 建立JAVA_HOME變數,變數值為:C:\Program Files\Java\jdk1.6.0_17

 建立CLASSPATH變數,變數值為:C:\Program Files\Java\jdk1.6.0_17\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_17\lib\tools.jar;.(最後有個.號)

 修改Path變數,加上:C:\Program Files\Java\jdk1.6.0_17\bin

 

 兩次確定值後,環境變數就設定ok了

 可以去cmd中輸入javac,列出很多java命令就表示正常安裝了。

參考網址:http://bbs.gfan.com/thread-1218428-1-1.html

windows下配置java環境



二、反編譯Apk得到Java原始碼(這個沒弄成功)

1. 工具下載:需用到dex2jar和JD-GUI這2個工具

 dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

 JD-GUI:

    windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip

    Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

2. 步驟:

 首先找到Android軟體安裝包中的classes.dex,把.apk檔案改名為.zip,然後解壓縮,得到其中的classes.dex檔案,它就是java檔案編譯再通過dx工具打包成的,所以現在我們就用上述提到的2個工具來逆方嚮導出java源檔案

 把classes.dex拷貝到dex2jar.bat所在目錄。在命令列模式下定位到dex2jar.bat所在目錄,運行 dex2jar.bat classes.dex  ,產生classes.dex.dex2jar.jar 

 

 運行JD-GUI工具(它是綠色無須安裝的)開啟上面的jar檔案,即可看到原始碼。

參考網址:http://www.eoeandroid.com/thread-90027-1-1.html

如何反編譯APK

三、反編譯apk產生程式的原始碼和圖片、XML配置、語言資源等檔案。

1. 工具下載:在http://code.google.com/p/android-apktool/下載獲得apktool1.4.1.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2這兩個包。

2. 將上面的兩個包解壓到統一個目錄下:aapt.exe(apktool-install-windows-r04-brut1.tar.bz2)、apktool.bat(apktool-install-windows-r04-brut1.tar.bz2)、apktool.jar(apktool1.4.1.tar.bz2)。

3. 開啟cmd視窗,進入apktool.bat所在的目錄,輸入:

 apktool d E:\h200\APK_Decompile-Package_Dexopt\Decompile-Package\apks\Ltv2.2.3.apk E:\h200\APK_Decompile-Package_Dexopt\Decompile-Package\apks\Ltv   // 命令列解釋:apktool d 要反編譯的檔案 輸出檔案夾

 如果沒有寫上輸出檔案夾的話,那麼將會在apktool.bat所在的目錄下建立一個apk同名的目錄,apk的內容內反編譯到這裡。

 特別注意的是,如果有類似下面的錯誤的話:

 Exception in thread "main" unacceptable character #FFFD special characters are n

ot allowed

  in "<reader>", position 28

        at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.ja

va:68)

at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:159)

        at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:117)

        at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:106)

        ...

     這個貌似是由於apk的名字是中文引起的,用英文命名就沒有這個錯誤了。

     

     開啟輸出目錄,可以看到women需要的各種資源了。

4.  可以對這些資源源碼進行修改,重新打包成apk。

5. 編譯打包apk,輸入apktool b E:\h200\APK_Decompile-Package_Dexopt\Decompile-Package\apks\Ltv E:\h200\APK_Decompile-Package_Dexopt\Decompile-Package\apk\Ltv_new2.2.3.apk (apktool b apk目錄 apk輸出檔案)

 如果沒有指定輸出目錄和檔案,那麼會在apk目錄下的dist目錄中有一個out.apk就是打包出來的了。

 E:\h200\APK_Decompile-Package_Dexopt\Decompile-Package\apks\Ltv\dist\out.apk

 

參考網址:
http://www.eoeandroid.com/thread-90027-1-1.html
http://hi.baidu.com/%C5%F4%C8%A5%C8%CB%C1%F4/blog/item/ee2a5310ad7118c1c3fd78be.html

一個APK反編譯利器Apktool(android漢化)

四、簽名

 上面apktool打包出來的apk還沒有簽名,所以需要對其進行簽名才能使用。

 簽名工具和方法見http://www.hiapk.com/bbs/thread-21261-1-1.html

 這裡我用的簽名工具是:APK-sign.rar,解壓之後得到一個sign_pack.bat的批次檔與一個_Data的檔案夾。

 本工具對AndroidManifest.xml中設定了android:sharedUserId的apk簽名無效,如android:sharedUserId="android.uid.system"。

 

 1. 將apk改成以zip結尾的尾碼,然後解壓

 2. 將解壓之後的檔案夾拷貝到APK-sign目錄下(與sign_pack.bat統一目錄)

 3. 我們可以直接將這個apk解壓後的目錄拖到sign_pack.bat指令碼上,或者在cmd命令下輸入:sign_pack.bat apk解壓目錄

 4. 最後APK-sign目錄下得到一個有安卓網_www.hiapk.com名字的檔案夾了,簽名打包好的APK程式就在這檔案夾裡了

參考網址:http://bbs.hiapk.com/thread-21261-1-1.html

個性玩轉小綠人——從APK表徵圖開始(個性表徵圖傻瓜教程)

 另外一種簽名如下:

 簽名我們需要用到的工具是Auto-sign。它主要是利用批處理命令,使用signapk.jar對APK檔案進行簽名的。你可以用記事本開啟Sign.bat,看看它的具體調用關係。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.