美文网首页android高级Android TechAndroid进阶
android反编译:apktool和dex2jar使用

android反编译:apktool和dex2jar使用

作者: cfanr | 来源:发表于2015-04-04 14:22 被阅读15082次

    apktool使用

    a.准备条件

    1.配置好Java环境
    2.下载最新版的apktool的jar包:
    https://bitbucket.org/iBotPeaches/apktool/downloads
    3.测试用的任意.apk安装包: xxx.apk

    b.步骤

    1.打开cmd命令行,进入apktool.jar和xxx.apk所在的文件夹(置于同一个文件夹,方便操作)
    2.输入java -jar apktool.jar,可以看到相关的使用命令的提示,d是反编译指令

    3.再输入java -jar apktool.jar d xxx.apk,即可完成反编译

    3.png

    4.得到的文件有manifest文件和res下的资源文件,还有smali文件(可理解为运行在JVM的语言)

    4.png

    另外,直接修改.apk包后缀为.zip然后解压,也可以获取到app的相关资源文件,但xml文件是经过编译的机器码,而通过apktool可以得到未编译的xml文件。

    扩展阅读:Android APK反编译详解

    dex2jar使用

    a.下载 dex2jar,并解压
    b.下载class反编译工具 jd-gui,并解压
    c.将测试的安装包xxx.apk后缀改为.zip,解压后拷贝classes.dex文件到dex2jar文件目录下,cmd进入改目录,执行dex2jar.bat classes.dex命令,会生成classes-dex2jar.jar文件;
    d.打开jd-gui工具,然后将生成的classes-dex2jar.jar文件拖进去,即可看见反编译的文件

    相关文章

      网友评论

      • cd147c1a24b7:我在创建key和使用时提示certificate chian not found错误,改用一下两条命令生成和打包成功。
        keytool -genkey -v -keystore appname.keystore -alias appname -keyalg RSA -keysize 2048 -validity 10000;
        jarsigner -keystore appname.keystore apkname.apk appname;
      • wo叫天然呆:你好,我看了你写的文章,但是dex2jar我下载后不会用,最新版的貌似跟你写得有些出入
        cfanr:@wo叫天然呆 学会 Google!相关文章挺多的,比如,http://www.jianshu.com/p/eb766d2bb837
        wo叫天然呆:@cfanr 嗯,确实是文件的问题,对了,如果我要修改它的代码,修改后重新打包,这个要怎么弄?
        cfanr:你这样说,我也不知道具体原因呀,可能dex2jar解压后的文件名和我说的不一样,是吧,如果是的话,你就找类似名字的就好,dex2jar也就一个命令,多研究,多试下就好

      本文标题:android反编译:apktool和dex2jar使用

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