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开发的应该很好反编译从而 ...
随机推荐
- 关于static的一点点总结
1. 简述 在<Java编程思想>P86页有这样一段话: “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前 ...
- Python学习笔记(一):列表和元组
1.列表和元组的主要区别在于:列表可以修改,元组则不能.即如果要根据要求添加元素,列表更适合, 如果出于某种原因,序列不能修改的时候,使用元组更为合适. 2.通用序列操作1)索引:正数索引时,p ...
- 获取sap登陆用户名的中文描述
一.业务场景: 当通过MKPF-USNAM查找ADRP-NAME_LAST时,中间缺少一个表,即USR21.否则,MKPF-USNAM不能和ADRP-PERSNUMBER直接对等. 二.解决方法: D ...
- 安装PHP的mongodb驱动速记
安装环境:Centos 6.5 PHP 5.3.27 这里PHP已经安装,安装路径为: /usr/local/php/ 下载安装文件: http://pan.baidu.com/s/1pJ0Spi ...
- ------ 新春第一炮:阶乘算法性能分析与 double fault 蓝屏故障排查 Part I ------
-------------------------------------------------------------------------- 春节期间闲来无事想研究下算法,上机测试代码却遇到了 ...
- Redis 实践1- redis介绍和安装
redis是一个key-value存储系统,官方站点 http://redis.io 和memcached类似,但支持数据持久化 支持更多value类型,除了和string外,还支持hash.li ...
- 940C Phone Numbers
传送门 题目大意 给你两个数字n和k,给你一个字符串s,n是s的长度,求字母集合是s的字母集合子集的字典序大于s的长度为k的字典序最小的字符串t 分析 将字符转化为数字,然后分两种情况处理: 1.n& ...
- 案例分析——BAT业务https化经历
一.前言 通常的http访问会遭到中间人攻击.网络嗅探等普通用户感知不到的恶意行为,这些行为会篡改用户浏览页面引导用户访问非法网站.抓取用户的上网行为以及个人信息.严重的会造成用户 ...
- Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer错误解决办法
严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"] java. ...
- iOS-UI控件优化
一.tableView的优化 tableView作为iOS开发中使用最为频繁的控件之一,对其进行优化,对整个应用性能的提升显得至关重要.官方设计的框架中,已经包含了UITableViewCell的重用 ...