Android 反编译工具一(dex2Jar和jd-gui)

790 阅读1分钟

一、dex2Jar--执行反编译

下载地址(github)

1.1、目录结构:

Untitled.png

1.2、反编译命令

  • Windows

    执行如下命令(注意class.dex要复制到命令目录下)

    d2j-dex2jar.bat classes.dex
    

    执行成功后可以看到目录下多了classes-dex2jar.jar文件

  • MAC

    1、将d2j_invoke.sh和d2j-dex2jar.sh增加可执行权限(已执行可跳过);

    cd xxx/dex-tools-2.1
    sudo chmod +x d2j_invoke.sh
    sudo chmod +x d2j-jar2dex.sh
    

    2、执行如下命令,将apk内的class.dex转成jar

    sh d2j-dex2jar.sh /Users/...xxx/test.apk
    

    执行成功,会打印如下日志,可以看到目录下多了test-dex2jar.jar文件:

    日志内容: dex2jar /Users/...xxx/test.apk -> ./test-dex2jar.jar
    

二、jd-jui-反编译结果查看

2.1、下载jd-jui

方式一、直接下载对应的Release版本

下载地址

Untitled.png

方式二、源码下载和构建

github源码

git clone <https://github.com/java-decompiler/jd-gui.git>
cd jd-gui
./gradlew build

构建成功,生成如下文件(分别在distributionslibs目录下)

Untitled.png Untitled.png

2.2、启动jd-gui

  • 解压zip包(distributions目录下):”jd-gui-windows-1.6.6”(Windows)或 “jd-gui-osx-1.6.6”(MAC)

    双击”jd-gui.exe”(Windows)或 “JD_GUI”(MAC)

  • 或者命令执行如下命令启动(libs目录下)

    java -jar jd-gui-x.y.z.jar
    

最后导入dex2jar转换的jar包即可查看源码