zoukankan      html  css  js  c++  java
  • Android中对APK进行反编译

    概述:

        其实反编译很简单,只是利用一些工具包和一些基本命令行的命令对apk文件进行反编程,没有什么高深的技术。下面就让我们一起来学习一下反编译的技术。

    注:本博客反编译方法,仅供参考学习使用,禁止用于非法和商业等用途,谢谢!

    准备工作:

    下载以下反编译工具包:

    1.apktool:http://download.csdn.net/detail/vipzjyno1/7025111

    2.dex2jar:http://download.csdn.net/detail/vipzjyno1/7025127

    3.jd-gui:http://download.csdn.net/detail/vipzjyno1/7025145

    待反编译的apk文件:helloworld.apk


    工具功能介绍:

    apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看
    dex2jar:将apk反编译成java源码(classes.dex转化成jar文件)
    jd-gui:查看APK中classes.dex转化成出的jar文件,即源码文件


    反编译过程:

    1.获得资源和资源文件:

    我们是利用apktool来获得资源和资源文件的。

    (1)首先将我们待反编译的文件置于apktool目录下。

    (2)然后在cmd下切换操作目录为apktool。例如我的操作目录如下:


    (3)输入反编程指令:apktool.bat d -f helloworld.apk  helloworld

    此次反编译过程会有如下正确过程:


    反编译完成,apktool目录下会生成一个helloworld的目录:


    打开此目录我们就可以清楚地看到反编译的结果了,如下:


    至次,获得资源和资源文件的操作已经全部结束。下面就让我们来看看怎么反编译获得java源码。


    2.获得java文件:

    获得java源码文件会稍微有一些麻烦,因为这个过程需要用到两个工具包——dex2jar和jd-gui.

    第1步:重命名helloworld.apk为helloworld.rar或是helloworld.zip等可以解压文件.

    第2步:解压此文件到helloworld文件夹,获取classes.dex文件

    第3步:将classes.dex文件置于dex2jar目录下,并切换工作目录至dex2jar下,输入指令:dex2jar.bat classes.dex


    第4步:第3步完成之后会生成一个classes_dex2jar.jar文件


    进行到这里的时候离成功只有一步之遥了。

    第5步:打开jd-gui目录下的jd-gui.exe文件—>打开刚刚生成的classes_dex2jar.jar文件—>查看源码



    参考:

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

  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/fengju/p/6336113.html
Copyright © 2011-2022 走看看