国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android反編譯代碼和防止反編譯

2020-04-11 11:28:51
字體:
來源:轉載
供稿:網友

一、反編譯apk文件

安裝ApkTool工具,該工具可以解碼得到資源文件,但不能得到Java源文件。
         安裝環境:需要安裝JRE1.6

1> 到http://code.google.com/p/android-apktool/

     下載apktool1.3.2.tar.bz2 和apktool-install-windows-2.2_r01-3.tar.bz2 文件。
     解壓兩個文件,然后把解壓后的文件放在一起,如:c:/apktool

2> 在系統變量PATH中添加進aapt.exe,如:;c:/apktool/aapt.exe

3> 在DOS窗口下進入apktool.jar所在目錄。
      執行DOS命令:apktool d -s c:/soft/xxx.apk c:/soft/source。
     命令格式:apktool d [opts] <file.apk> [dir]  中的d代表解碼,[opts]代表選項,-s選項代表不解碼源文件。

2、Apktool工具只能反編譯成smali的中間代碼文件,這里需要借助另外一個開源工具Dex2Jar,

     該工具可以把dex文件轉換成jar文件。這個工具不能直接翻譯成java文件,但是可以把dex文件轉換成jar文件

     下載地址:http://code.google.com/p/dex2jar/ 

      1> 把APK安裝包中的classes.dex解壓到某個目錄下,如:c:/soft
      2> 在DOS窗口下進入dex2jar.bat所在目錄,執行DOS命令:dex2jar.bat c:/soft/source/classes.dex c:/soft/source,命令生成classes.dex.dex2jar.jar文件。

3、安裝jd-gui工具,該工具可以把jar文件反編譯成Java源文件

      下載地址:http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip
      運行該軟件,直接打開classes.dex.dex2jar.jar文件即可看到java源代碼。

總結:

     apktool1.4.1.tar.bz2       反編譯工具的jar包
     apktool-install-windows-r04-brut1.tar.bz2   windows下調用執行jar 的exe文件
     

    1、 解壓這兩個文件,將apktool1.4.1中的apktool.jar拷貝到apktool-install-windows-r04-brut1目錄下,此時文件有:

紅色的為待反編譯的apk文件

    cmd切換到該目錄,執行:
    > apktool d -s queryNumber.apk  ./source 在當前目錄生成source目錄,下面放著資源文件

     2、解壓dex2jar-0.0.7.11-SNAPSHOT.zip將classes.dex拷貝該目錄,執行:
     > dex2jar class.dex
     生成classes_dex2jar.jar文件  

     里面全是.class文件

      3、打開jd-gui.exe,將classes_dex2jar.jar拖拽到jd-gui界面
       此時可以看到所有的源文件:

如何防止反編譯。。。。

由于apk是Android虛擬機加載的,它有一定的規范,加密apk后Dalvik無法識別apk了。
完全避免是不可能的,總有人能夠破解你的代碼。但是有幾種方式來提高被反編譯取代碼的難度。

      1 關鍵代碼使用jni調用本地代碼,用c或者c++編寫,因此相對比較難于反編譯

      2 混淆java代碼。混淆是不改變代碼邏輯的情況下,增加無用代碼,或者重命名,使反編譯后的源代碼難于看懂。
        網上開源的java代碼混淆工具較多,一般是用ant的方式來編譯的

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆昌县| 嫩江县| 枝江市| 日照市| 八宿县| 神农架林区| 静安区| 襄城县| 西和县| 苏州市| 孙吴县| 乌兰察布市| 涪陵区| 抚顺县| 定州市| 共和县| 奉新县| 宿州市| 永寿县| 宁明县| 延寿县| 桐梓县| 新乐市| 望江县| 湄潭县| 米易县| 兴文县| 阿合奇县| 海安县| 乐平市| 淮北市| 霍州市| 瓦房店市| 喀什市| 庐江县| 达州市| 大港区| 顺平县| 芷江| 洪泽县| SHOW|