Android反编译

转载 2015年11月19日 02:03:27

转载自:http://blog.csdn.net/hanhailong726188/article/details/42368295

最近群里有人问如何在mac下进行apk反编译,我也没试过,以前都是在windows下进行反编译的,windows下很简单,有许多比较好的集成工具,如apkide(改之理),不过我猜mac下应该和windows下差不多,趁着嗑瓜子的功夫,我研究了下mac下如何进行apk反编译,其实和windows下是一样,我在这里记录了下:


第一步:下载反编译工具集,apktool、dex2jar、jd-gui,最后我会上传这些工具,解压后如下图:

下面那个弹出框是JD-GUI的,用来将字节码反编译成java源文件用的


第二步,工具集准备好之后还不能进行反编译,你在命令窗口下执行输入apktool 会提示命令不存在,需要配置一下环境变量

,怎么配置呢,如下命令:

       1.打开命令窗口,cd /usr/local/bin下,可能有的mac电脑不存在bin这个目录,直接在创建一个就好了,命令是:sudo mkdir bin,执行后会让你输入root权限密码,输入完后执行ls命令查看,bin目录就存在了,如图:

       2.将你解压后的apktool文件夹下的三个文件aapt、apktool、apktool.jar 复制到/usr/local/bin/目录下,怎么复制呢,当然用命令cp了,如下图:

 

复制多个文件用空格隔开,android-workspace/APK/apktool/目录是源目录,存放的是我们要复制的那三个文件,执行命令后,提示输入密码,输完密码后就复制成功了,ls查看一下,这三个文件已经存在了。


这时候就已经配置好环境变量PATH了,什么,我怎么没看到和PATH有关的任何命令,其实,/usr/local/bin本来就在PATH下,不信我执行命令你看:

这也是我们把apktool3个文件放在/usr/local/bin下的原因,现在你再输入apktool命令试试:

输出这样的命令就代表环境配置好了


第三步:开始进行反编译了,其实用到的命令也很简单,我们随便拿一个apk来,例如:

我们要对dz-android.apk进行反编译,命令行进入这个目录 cd /Users/hailonghan/android-workspace/APK,到这个目录后,

执行命令apktool d dz-android.apk,如下图:

执行成功后,会在当前目录下生成一个da-android文件夹,点击去就看到相关apk的资源文件了,选中AndroidManifest.xml,然后空格键,就可以看到反编译后的内容了:

第四步:反编译java源文件

这就用到dex2jar和jd-gui了,将dz-android.apk重命名改成dz-android.zip,然后利用解压缩软件解压,得到一个dz-android目录,我们要拿到里面的classes.dex文件,如图:


将其复制到dex2jar-0.0.9.15目录下,如图:


然后执行命令:sh dex2jar.sh classes.dex,如图:


执行成功后会生成一个classes_dex2jar.jar文件,如图:


最后,用jd-gui工具打开这个jar包就可以看到java源代码了,如图:




最后附上apktool、dex2jar、jd-gui下载地址:下载地址



版权声明:本文为博主原创文章,未经博主允许不得转载。


Android逆向助手反编译APK

第一步:下载逆向助手解压包,解压即可。下载地址:http://download.csdn.net/detail/tideseng/9674235 第二步:给逆向助手的每一个目录都配置Path环境...

如何反编译android的apk文件得到资源文件

情形:自己想要某apk的资源,看看它是如何实现的。使用apkdec和Android逆向助手等反编译软件。 发现获取不了资源包的内容,也就是res的内容。不知道是不是他们的版本过低的原因。 ...

Android APK反编译就这么简单 详解(附图)

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用...

Android编程之还原JD-GUI反编译后代码

jd-gui这款jar反编译软件,大家经常用到,它反编译后的代码可以重新生成java文件。但它反编译出的代码,在遇到部分java特定语句的时候就不容易被看懂了。 我这里就jd-gui反编译后代码的复...
  • xyz_fly
  • xyz_fly
  • 2012年09月24日 20:55
  • 11940

Android APK反编译就这么简单 详解(附图)

FROM:http://blog.csdn.net/vipzjyno1/article/details/21039349/ 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开...

浅谈android中的反编译

浅谈Android中的反编译写在前面: 众所周知,Android最终可运行在手机上的是以.apk结尾文件,实际上它是一个文件压缩包,也就是说我们可以解压得到其中的文件,但是解压后只能得到...

手机安全卫士(6)--android.jar 反编译

Android APK反编译查看源码及资源文件 本文主要介绍如何反编译Android应用程序查看源代码、资源文件和xml文件以及修改后重新打包成APK。鼓励大家反编译去学习他人的设计而不是将...

Android 反编译 原来这么简单—绝对详解(有图有真相)

在学习Android开发的过程,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的...

Android Proguard安全加固教你如何让自己的应用程序或SDK更难被反编译--library打包成jar并且混淆

Android Proguard安全加固教你如何让自己的应用程序或SDK更难被反编译--library打包成jar并且混淆...
  • jspping
  • jspping
  • 2017年03月27日 14:13
  • 2177

Android Studio 基于NDK加密,防止反编译获取加密key

Android Studio 基于NDK加密,防止反编译获取加密key一、配置ndk路径(不会请自行百度)二、新建JniUtils类实现native方法1. JniUtils代码public clas...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android反编译
举报原因:
原因补充:

(最多只允许输入30个字)