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开发的应该很好反编译从而 ...
随机推荐
- JMX与Spring
1.什么是JMX JMX可以监控类的运行情况,可以在程序运行期查看并修改类属性的信息. 举一个应用实例:在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢? 下 ...
- bzoj 2627: JZPKIL [伯努利数 Pollard-rho]
2627: JZPKIL 题意:求 \[ \sum_{i=1}^n (n,i)^x [i,n]^y,\ [i,n] = lcm(i,n) \] \(n \le 10^{18},\ x,y\le 300 ...
- I/O多路转接模型
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 小甲鱼OD学习第6讲
这次我们的任务是破解这个通讯录的软件,首先,我们在通讯录一个分组添加第5个人,发现弹出对话框,限制每组只能添加4个人 并且发现最多只能添加3个分组 我们把程序载入OD,运行,添加人,这个时候点击暂停, ...
- 面向对象编程总结--Python
万物皆为对象.自然环境赋予人类无尽的遐想,而面向对象编程之思想就是来自于大自然.自然界,类和对象比比皆是,比如:鸟类和麻雀,鱼和鲤鱼......其中鸟类就是各种鸟的总称,而麻雀只不过是其中之一(对象) ...
- typedef void(*Fun)(void);
typedef void(*Fun)(void); 函数类似于数组,函数名就是它的首地址: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...
- 如何用vue-cli初始化一个vue项目
单文件组件和vue-loader 解析打包.vue文件 vue为了能够使我们在项目开发中对组件进行更好的维护,提供了一个单文件组件系统,vue把每一个独立的组件放在一个.vue的文件中,在这个文件中提 ...
- 【学习笔记】Hibernate 一对一关联映射 组件映射 二级缓存 集合缓存
啊讲道理放假这十天不到啊 感觉生活中充满了绝望 这就又开学了 好吧好吧继续学习笔记?还是什么的 一对一关联映射 这次我们仍然准备了两个表 一个是用户表Users 一个是档案表Resume 他们的关系是 ...
- 【剑指offer28:字符串的排列】【java】
题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. import ja ...
- 基于netty框架的Socket传输
一.Netty框架介绍 什么是netty?先看下百度百科的解释: Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开 ...