zoukankan      html  css  js  c++  java
  • Adnroid 反编译APK

    http://blog.csdn.net/vipzjyno1/article/details/21039349

    http://blog.csdn.net/zx19899891/article/details/7559201

    http://showlike.iteye.com/blog/1686103

    我们知道,apk程序实际上是个压缩包,通过解压后发现里面主要是一些xml文件和一个classes.dex文件,xml对应于android工程中的各种原始xml文件,而classes.dex则是由工程中的src下的java文件编译而成,所以我们主要的反编译工作就分别针对xml文件和dex文件来进行。

         1.反编译xml文件

         如果直接解压apk,打开里面的xml文件发现全是些看不懂的乱码,为了能够正常的反编译,首先需要下载一个apktool工具(http://code.google.com/p/android-apktool/),如果是window平台,就要下载apktool1.4.3.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2,然后都解压到同个目录下,这里为了以后使用方便,我直接将其拷贝到sdk的platform-tools,进入命令行,然后进入到你存放apk的目录下,我这里就直接放在d盘根目录下,执行下图所示命令

         其中的mytext是由你任意指定的,执行完后就在d盘下生成一个mytext文件夹,进入该文件夹,打开其中任意个xml文件,你会发现再也没有乱码了,都是你看得懂的。。。另外还有个文件夹smali,这个其实是反编译classes.dex到java文件的一个中间文件类型,虽然能看懂点,可是还是不能像看java文件那么爽,所以就用第二步中的方法单独反编译这块。

         2.反编译classes.dex

         首先下载dex2jar(http://code.google.com/p/dex2jar/)和XJad,同样为了执行方便,我直接将解压后的dex2jar文件夹里的所有内容拷贝到sdk的platform-tools,之后进入命令行,执行如下命令,其中classex.dex文件是用常用的解压缩工具解压apk后得到的。

         执行完后,就在d盘下生成一个classes_dex2jar.jar 包,然后运行刚才下载的XJad中的XJad.exe,依次点击菜单-文件-反编译jar文件,选择刚生成的jar包,稍等片刻后即可在jar同目录下生成一个~classes_dex2jar.jar这样的目录,进入后会发现全是java类型的文件,而且按文件夹都分好类了,这些你都能读得懂。

    至此,将1步反编译出的xml文件和2步反编译出的java文件和在一起,就完成了一个apk的反编译工作,你可以尝试各种第三方开发的apk,基本都能解压出来,希望对大家有所帮助。

         所有工具我都打包上传了:http://download.csdn.net/detail/zx19899891/4296409

     

  • 相关阅读:
    浅谈Spring AOP 面向切面编程 最通俗易懂的画图理解AOP、AOP通知执行顺序~
    fastjson自由:controller上指定active profile,让你想序列化什么字段就序列化什么字段
    Java多线程中join、yield、sleep方法详解
    一张图秒懂微服务网络架构
    详解SpringBoot应用跨域访问解决方案
    如何在 Spring/Spring Boot 中做参数校验?你需要了解的都在这里!
    史上最全的excel读写技术分享
    手把手教你定制标准Spring Boot starter,真的很清晰
    JVM性能调优详解
    Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)
  • 原文地址:https://www.cnblogs.com/daxin/p/3525413.html
Copyright © 2011-2022 走看看