2/02/2012

反組譯Android程式,20秒搞定

Android 應用當然也無法免除這被盜版的命運,再加上 Android 應用的開發使用的是 Java 語言,要反組譯這 Java 所編譯出來的 .class 或是 .jar 檔,更是易如反掌。自已 google 一下 java decompiler,這類的 java 反組譯工具早就滿天飛。而且反組譯所產生出來的 Java 源碼,還都宛如原著。
找到一篇 2007/11/28 How to decompile .dex file on Android 文章,上頭也是敘述要去解讀 dex 有點不好讀,但隨後找到 2009/08/08 decompiling DEX into Java sourcecode 這篇文章,細看一下原來還有 dex2jar 的方式!這下可好了
目前在windows環境下測試
準備工具:
  • dex2jar
    • A tool for converting Android's .dex format to Java's .class format
  • JD-GUI
    • JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files.
  • 一份編譯好的 apk 檔案
(1)apk檔
  • Rename the .apk to .zip
  • Extract the files from the zip
  • In the extracted files, you will get your desired dex file
  • 把apk文件改名為.zip,然後解壓取出其中的classes.dex,備用。 把classes.dex拷貝到dex2jar.bat所在目錄。記住路徑,等一下會用到。
(2)dex2jar 解壓縮出,command下執行
windows系統在dos命令行模式下(windows 7 請在系統管理員下執行),定位到dex2jar.bat所在目錄路徑,(例如下指令cd c:\windows........) 
dex2jar.bat classes.dex
會生出一個classes.dex.dex2jar.jar檔。
image
(3)解壓縮 JD-GUI 去開啟 classes.dex.dex2jar.jar 檔案
jd-gui-0.3.3.windows->jd-gui.exe
image
程式碼就可以看了!整個過程不用 20 秒吧!打快一點可能 3 秒喔 , 這樣app以後可以加密阿~

沒有留言:

張貼留言

請留言~一起討論吧~