linux下的APK反编译软件及过程介绍 .
需要工具:
1.apktool apk打包工具
下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
安装:直接解压即可,是一个apktool.jar文件,通过
- $java -jar apktool.jar
$java -jar apktool.jar
来运行,依赖于java运行环境
2.dex2jar dex转化jar工具
下载地址:http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
安装:直接解压即可,是一个文件夹,里面包含了很多文件,通过
- $./dex2jar.sh
$./dex2jar.sh
来运行
3.如果你没有unzip,安装此解压工具, zip解压缩工具,用于解压jar包(jar包是zip压缩的,所以可以用其它工具代替)
下载地址:ubuntu $sudo apt-get install unzip
安装: $sudo apt-get install unzip
- $upzip [src_path] -d [dst_path]
$upzip [src_path] -d [dst_path]
来运行
4.jad .class文件反编译工具
下载地址:http://www.varaneckas.com/jad
http://varaneckas.com/jad/jad158e.linux.static.zip
安装:直接解压即可,是一个可执行文件,通过
./jad
来运行。需要说明的是,这个需要下载static版本的,如果不行的话,在去第一个链接里找另一个下载。
接下来,工具准备完毕了,最好设定一下环境变量,我们就可以反编译apk了
一、抽取apk资源
执行: $java -jar apktool.jar d [source.apk]
二、反编译源码
(1)解压apk
- $unzip [source.apk] -d [step_1]
$unzip [source.apk] -d [step_1]
step_1指的是你所需要解压到的目录
(2)进入step_1 目录,找到classes.dex文件,将dex文件转化成jar文件
- $dex2jar.sh classes.dex
$dex2jar.sh classes.dex
(3)获得一个classes_dex2jar.jar文件,我们现在要再度解压这个文件
- $upzip classes_dex2jar.jar -d [step_3]
$upzip classes_dex2jar.jar -d [step_3]
step_3指的是你解压到的目录
(4)我们获得一个step_3目录,我们接下来要反编译该目录下所有.class文件
- $./jad -o -r -s java -d src step_3/**/*.class
$./jad -o -r -s java -d src step_3/**/*.class
对于上面的参数,可以直接执行./jad查看,或者Readme.txt查看
(5)我们再度获得一个src目录,该目录下就是反编译好的源码文件了。
也可以使用JD-GUI工具直接查看classes_dex2jar.jar的class文件。
如果以上命令不执行的话,查看目录是否正确。
linux下的APK反编译软件及过程介绍 .的更多相关文章
- linux在下面APK反编译软件和过程的描述
需要的工具: 1.apktool apk打包工具 下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2 安装:直接 ...
- Ubuntu下Android apk反编译
需要用到的工具 1.apktool_2.0.3.jar https://bbuseruploads.s3.amazonaws.com/0becf6a1-1706-4f2e-9ae6-891e00a8d ...
- CENTOS 下安装APK反编译工具 APKTOOL
转于:http://www.qiansw.com/centos-apk-apktool.html 我使用的是CentOS6.4 64位的系统.首先需要下载两个包.这里下载:https://code.g ...
- (转)Android-Mac电脑如何进行APK反编译-使用apktool、jd-gui
最近群里有人问如何在mac下进行apk反编译,我也没试过,以前都是在windows下进行反编译的,windows下很简单,有许多比较好的集成工具,如apkide(改之理),不过我猜mac下应该和win ...
- android之apk反编译
今天就来详细的讲一讲apk的反编译过程,之前自己一直没彻底搞清楚. 一.准备工作 反编译首先要准备三个工具.这三个工具都是可以百度下载的.就是下图所示的三个工具. 这三个工具是有各自作用的: (1)a ...
- apktool 在mac下的使用 -反编译安卓apk文件
1.下载apktool 点击这里下载 ,里面有两个文件,一个是.jar,一个是自己写的脚本.sh 注:最新的apktool.jar 文件可以点击这里下载 .sh脚本是自写脚本可不用更新最新,下载的ja ...
- Mac下对Android apk反编译
在Mac上进行反编译apk,需要三个工具,分别为(附下载地址): apktool,下载Mac版 作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看 dex2jar,下载最新的即可,目前是2. ...
- apk反编译、smali修改、回编译笔记
最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...
- Android APK反编译详解(附图)
转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...
随机推荐
- requestAnimationFrame的用法
该方法用于在浏览器中制作动画.通过递归调用同一方法来不断更新画面以达到动起来的效果,但它优于setTimeout/setInterval的地方在于它是由浏览器专门为动画提供的API,在运行时浏览器会自 ...
- mybatis No enum const class org.apache.ibatis.type.JdbcType.Integer
mybatis报错:没有Integer这个类型的jdbcType值 原因:mybatis配置重的jdbaType类型要是大写的 如图所示:
- 洛谷 [P1198] 最大数
首先这是一道线段树裸题,但是线段树长度不确定,那么我们可以在建树的时候,将每一个节点初始化为-INF,每次往队尾加一个元素即一次单节点更新,注意本题的数据范围,其实并不用开 long long,具体请 ...
- bzoj 4033: [HAOI2015]树上染色 [树形DP]
4033: [HAOI2015]树上染色 我写的可是\(O(n^2)\)的树形背包! 注意j倒着枚举,而k要正着枚举,因为k可能从0开始,会使用自己更新一次 #include <iostream ...
- POJ2891 Strange Way to Express Integers [中国剩余定理]
不互质情况的模板题 注意多组数据不要一发现不合法就退出 #include <iostream> #include <cstdio> #include <cstring&g ...
- POJ 2125 Destroying The Graph [最小割 打印方案]
Destroying The Graph Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8311 Accepted: 2 ...
- BZOJ 2594: [Wc2006]水管局长数据加强版 [LCT kruskal]
2594: [Wc2006]水管局长数据加强版 Time Limit: 25 Sec Memory Limit: 128 MBSubmit: 2917 Solved: 918[Submit][St ...
- PowerShell 并行执行任务
在 PowerShell 中可以轻松的执行后台任务并且让多个后台任务并行执行.本文介绍 PowerShell 中 Job 相关的一些命令,并通过 demo 演示如何在后台同时执行多个任务. Power ...
- rsync实现数据增量备份
环境说明: 主机ip:192.168.0.201 需备份的目录:/opt/mail 备份机器ip:192.168.0.215 1.编辑/etc/rsyncd.conf文件(etc目录不存在的话,需要手 ...
- Struts2 中添加 Servlet
Struts2中如何添加Servlet 以前Java开发都是Servlet的天下,如今是各种框架横行,遇到一个需要将以前的Servlet加入到现有的Struts2的环境中. Google之后发现Sta ...