• 简单的Android之apk包反编译方法


    网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具


    工具下载地址:

    http://download.csdn.net/detail/zsjangel/7104663


    下载上面的三个工具的压缩包

    1. Apktool_v1.5.1_CHS_By_b-sf.rar 
    2. dex2jar.zip
    3. jd-gui-0.3.5.windows.zip

    一、反编译 xml 等模版资源文件。

    解压 apktool 包,然后将你要反编译的 apk 文件拖放到 ApkModify.bat  文件上就自动反编译了,这个包自动继承了一些反编译功能,但对 java 文件可能不行,

    我用的 Lofter 网易轻博做了个实验,classes.dex 被反编译成了 smali 类型文件。




    二、反编译 java 文件

    解压 dex2jar.zip 包

    将 .apk 文件的后缀名改为 .zip 并解压,进入 dos 命令行模式,一路进入 dex2jar 包的目录执行dos命令:

    dex2jar D:apksApktoollofterclasses.dex

    后面的路径参数当然要修改成你的 apk 文件解压后的该文件路径哦

    几秒钟编译完后会生成 classes_dex2jar.jar 包文件



    三、查看并导出 java 源码

    解压 jd-gui 包,执行 jd-gui.exe 程序,打开第二部生成的  classes_dex2jar.jar 文件,此时就可以浏览反编译后的源码了(当然不是最初的源码,变量名神马之类的都是 a, b,c 代替了,阅读起来比较艰难)




    打开软件的  file 菜单,点击 save all sources 将导出所有源码为 .java 源文件




    再将该 java 源文件目录覆盖到第一部 生成的目录下就可以完整的导入到 android studio 或其他软件中生成新的项目,这样分析源码就方便些了




    另外 Android 初学者可加入我的360文件共享群:Android,
    打开邀请链接:http://qun.yunpan.360.cn/38063538 ,输入邀请码:1267

    里面全都是我和其他网友收集的 android 和 java 相关的资料、教程、软件等等

  • 相关阅读:
    深拷贝(deep clone)与浅拷贝(shallow clone)
    wait和notify
    Java实现简单RPC框架(转)
    Eclipse 搭建Struts2
    手写HashMap实践
    JVM 类加载器ClassLoader源码学习笔记
    Java 内存模型学习笔记
    Struts2 入门笔记
    struts2 拦截器
    Btrace 拦截时机
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758510.html
Copyright © 2020-2023  润新知