反编译工具Jadx

作者: 程序亦非猿 | 来源:发表于2015-09-01 17:56 被阅读19855次

    Jadx

    Android开发(/学习)有时候需要用到反编译工具,Window上有很多工具,而Mac上则不多,这里稍微介绍一下Mac上可用的反编译工具Jadx.

    准备

    clone 仓库,编译

    mkdir jadx
    git clone https://github.com/skylot/jadx.git
    cd jadx
    ./gradlew dist #这个需要稍微等待一下
    

    开始反编译

    等完毕后,可以开始了,我就介绍个最简单最常用的用法

    1. 把apk改成zip
    2. 解压zip获取class.dex文件
    3. 将class.dex文件放到jadx目录下
    cd build/jadx/
    bin/jadx -d out class.dex  # 反编译后放入out文件夹下(如果out不存在它会自动创建)
    #or
    bin/jadx-gui class.dex  # 会反编译,并且使用gui打开
    
    效果图

    OK,就这样,后续还可以配置环境变量,更加方便.

    另外欢迎关注:
    我的Github
    我的微博
    我的微信公众号:

    微信公众号

    相关文章

      网友评论

      • 匹诺曹pino:反编译出来com.qihoo.util 只有3个类 QHDialog、QhJobService、Configuration,360加壳的就无法反编译了吗
        TaoSunky:哥 有研究过360砸壳吗
      • 2b430f446042:zip解压不了 怎么办?
      • 请叫我红领巾_ce14:这个写的不够详细,使用这个软件主要是要配置环境,JAVA_HOME要配置在当前的环境下,echo export JAVA_HOME={JDK路径},echo export PATH=${PATH}:${JAVA_HONE}bin.这个软件是开源的且执行程序由bash shell写的,在Linux下使用可能更好。
      • 6de098b75a36:谢谢楼主分享,不推荐用gui,特别难用
        程序亦非猿:@ospider 还好吧
      • 62737ae69891:告诉我一个不用 jeb的理由~
        自己网上搜 “jeb201508100”
      • pinolief:bin/jadx -d out lib/jadx-core-*.jar 提示
        'bin' 不是内部或外部命令,也不是可运行的程序
        pinolief:@pinolief 直接进入jadx 目录。jadx -d out classes.dex
      • pinolief:window上 提示build successful 。但是没有生成build 和 bin 目录
        pinolief:@pinolief 可以了,gradlew.bat dist 。少了 dist
      • 0eb3f1fa379c:唉,我注定是与它无缘了。windows上装成功可以用,Mac上就是死都不行。运行./gradlew dist,提示什么jdk 1.6 什么option选项未设置,以及一些代码有些语法警告(一些类未加序列化ID或者泛型未指定类型)。ok,将build.gradle里的JAVAVERSION 指定1.8,并且修改这些语法,再跑,就没有这些警告。然而,jadx/build/jadx/bin 下输入jadx,残忍的出现jadx: command not found。不知道是不是跟osx ei capitan 不支持jdk 1.6有关系呢还是啥的。大神可否指点一二 :confounded:
        程序亦非猿:@咖啡上次 估计你命令错了吧
        0eb3f1fa379c:@程序亦非猿 发现将jadx/build/jadx/bin配置到Path,然后jadx命令才有效了。为啥直接cd到该目录下,命令是无效的呢。
        程序亦非猿:@咖啡上次 那以前的os版本有出现问题吗? 我还没升级ei capitan

      本文标题:反编译工具Jadx

      本文链接:https://www.haomeiwen.com/subject/pxllcttx.html