android反編譯和防止反編譯的方法

來源:互聯網
上載者:User

android基於java的,而java反編譯工具很強悍,所以對正常apk應用程式基底本上可以做到100%反編譯還原。

因此開發人員如果不準備開源自己的項目就需要知道怎樣防止反編譯和反編譯他人的項目來學習。

2.3版本以上在eclipse自動產生的default.properties檔案中加上一句“proguard.config=proguard.cfg”可以對代碼進行混淆,反編譯後是很難看懂的。

2.3之前的SDK版本也沒關係,把上面的proguard.cfg檔案複製一份放到項目中,然後進行相同的操作即可。

有些應用反編譯後java代碼用jd-ui根本都無法開啟,連混淆的代碼都看不到的,本人嘗試多次都做不到,希望知道的告知下怎麼處理的。 

注意:上面的功能只是把java代碼混淆了,xml和資源檔、圖片並沒有混淆,有些遊戲應用圖片比較重要需要轉換成dat檔案 再加上自己的加密解密演算法還原。

 另外加了混淆功能後還有壓縮的功能,混淆後的apk比原來的小(具體比例看你的代碼重複量了)

 

說完防止反編譯再來說說怎麼反編譯吧 

先說一下反編譯的流程和原理:

1.用apktool 把apk--> 資源套件(java代碼變成smali檔案看不懂的),可以修改資源套件裡面的檔案。

2.apk尾碼名改成zip或rar解壓,擷取 classes.dex 檔案,用dex2jar轉換成jar包(註:直接解壓出來的資源檔是不能直接開啟的,要用第一步的反編譯工具)。

3.用jd-ui等java反編譯工具直接查看java代碼。

4.把java代碼和第一版的資源套件整到一起重新組成一個新的應用。

5.用apktool 重新編譯。

6.用簽名工具重新簽名。

7.重新發布帶新的簽名的應用。

 註:如果不用改java代碼,只是換換風格和漢化2.3.4步則不用做。

 

google code上的開源項目  

apktool http://code.google.com/p/android-apktool/

dex2jar http://code.google.com/p/dex2jar/

另外有人做了個工具套裝,整合了apktool dex2jar jd-ui,不過我下載了運行不了 不知道是不是相應環境沒有配對導致的

hackapk http://code.google.com/p/hackapk/ 

另外有人把apktool做了個封裝 弄成exe檔案 圖形介面的方便使用,截個圖出來給大家看看吧

註:上面那個軟體不能簽名的,要用另外一個軟體(APKSign)來進行簽名,如下:

另給出上面兩個工具的下載串連 機鋒論壇上面的,估計直接點擊串連下載不了

 Xwindows,帶圖形介面: apktool.rar (3.33 MB)  -->這個下載後可以自己到 http://code.google.com/p/android-apktool/ 下載最新版的apktool.jar替換原來的。

簽名工具:Auto-sign.rar(312.45 KB) 

另外還有些命令列的工具,本人給APK編輯器不同版本上面的說明不對應浪費了很多時間 

 1.普通apk檔案(就是從各種網站上下載下來的第三方軟體)

(1)把他放到place-apk-here-for-modding檔案夾裡面。(不要有空格和中文,中文的改成英文的)(2)開啟Script.exe,在CMD視窗中輸入 22或23(設定目前的工程),選擇要編輯的apk檔案的編號,斷行符號確認

 

如上:有些版本設定目前的工程選項改成23了,但說明檔案沒有改過來,按22一直都無法選擇apk,原因很不好找。 

建議還是使用圖形介面。 

url:http://greatverve.cnblogs.com/archive/2012/01/30/android-apktool.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.