码迷,mamicode.com
首页 > 移动开发 > 详细

android反编译

时间:2015-08-28 13:16:39      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:android   反编译   apktool   dex2jar   jd-gui   

有的时候需要反编译别人的apk,看看别人是怎么实现的,另外还可以获取到很多素材,不要再自己去弄图片了,下面就分享下最近自己反编译的学习记录。

1.下载反编译工具Apktool

https://bitbucket.org/iBotPeaches/apktool/downloads

关于Apktool工具的介绍,可以自己看看Apktool官网的介绍

Apktool下载下来后是一个jar包:apktool_2.0.1.jar
java -jar apktool_2.0.1.jar d <file.apk>  <dir>
java -jar apktool_2.0.1.jar d  -f <file.apk>  <dir>//如果dir目录已存在会强行覆盖

eg:
java -jar apktool_2.0.1.jar d app-debug.apk  //把apk反编译到当前目录
解压成功后就可以看到apk里的Mainfest,布局,图片资然等文件。
当然,如果你对smali文件有一定了解的话,可以通过修改smali文件,从而达到改变原有程序行为的目地,然后再利用Apktool重新打包生成apk文件
java -jar apktool_2.0.1.jar b <file>//后面的参数就是上面file.apk反编译生成的文件名

eg:
java -jar apktool_2.0.1.jar b app-debug

2.如果想看到apk的java代码话,需要把class文件反编译成.java文件

下载dex2jar工具,关于工具的介绍可以自己查看dex2jar的介绍

利用下载好的dex2jar-2.0工具把apk里的class.dex文件弄成classes_dex2jar.jar文件,其中class.dex文件可以直接从apk文件里解压出来,把后缀apk换成zip直接解压就行
在windows里直接把class.dex用d2j-dex2jar.bat打开就行,在Linux上用下面命令

./d2j-dex2jar.sh classes.dex 
如果遇到下面的错误,就需要把这两个文件的权限修改下 
./d2j-dex2jar.sh: 36: ./d2j-dex2jar.sh: ./d2j_invoke.sh: Permission denied
chmod 777 d2j_invoke.sh d2j-dex2jar.sh

把apk里的class.dex文件转换成classes-dex2jar.jar后,利用JD-GUI文件查看就行了,JD-GUI下载地址

http://jd.benow.ca/

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

android反编译

标签:android   反编译   apktool   dex2jar   jd-gui   

原文地址:http://blog.csdn.net/yin1031468524/article/details/48048675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!