『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse
一、使用apktool 将 apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
具体步骤:
(1)下载反编译工具包:apktool 官方的打不开
http://apktool.shoujifans.com/2014/12/21.html 里有网盘下载
需要下载下边两个文件
(2)将下载好的两个包解压到“同一个”文件夹apktool里面。 注意是同一个
(3)在命令行下定位到apktool文件夹,输入以下命令:java -jar apktool.jar d android.apk,出现如图所示:说明反编译成功
java -jar apktool.jar d [apk文件 ] [输出文件夹],输出文件夹是可选的,如果没有指定输出到哪个文件夹下,那么默认是当前文件夹。
我是执行 ./apktool d xxx.apk 成功的
d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
二、下载apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件
具体步骤:
(1)下载dex2jar
dex2jar 下载地址:
http://sourceforge.net/projects/dex2jar/files/?source=navbar
(2)将 要反编译的apk文件解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的
(3)在命令行下定位到dex2jar-2.0文件夹,运行
sh dex2jar.sh ~/apk/classes.dex(dex文件的目录)
最终生成
classes_dex2jar.jar,如图所示:
dex2jar-2.0版本,解压出来的目录下只有 d2j-dex2jar.sh,没有dex2jar.sh。执行了一下,报错。
下载了旧版本,执行成功。。。后来把2.0下的文件替换到旧版本中了
三、使用JD-Eclipse插件打开class文件
(1)这时候得到了 jar文件。可以下载JD-GUI。也可以下载Eclipse中的插件JD-Eclipse。打开jar文件中的.class文件
(2)参考博文 http://my.oschina.net/mynote/blog/85083 的安装方法
JD-Eclipse的地址http://java.decompiler.free.fr/?q=jdeclipse
OSC地址:http://www.oschina.net/p/jd-gui
在线安装的地址 http://java.decompiler.free.fr/jd-eclipse/update
下载镜像文件的地址: http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip
(3)采用的是镜像文件的安装。
安装过程:
Help—>Install new Software—>add—>Archive(选择zip文件)/填写url —>选择安装
(4)重启后配置class默认打开方式(Class file Editor) 但是我重启Eclipse发现不用配置,配置好了。其实就是把默认的打开方式设置为Class file Editor。
window—>Preferences—>General—>Editors—>File Associations—>(选择)*.class without source——>(在下面的Associated editors栏目中)add—>Class file Editor(选择添加)—>(选择新的打开方式选择默认)Default
配置如图:
这时候已经可以打开jar包中的class文件了
『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse的更多相关文章
- linux下反编译android apk
1.所需要的工具 1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等, 下载地址:https://code.google.com/p/android-apktool/downlo ...
- mac下反编译android apk
所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...
- Mac 下反编译Android APK
准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...
- 只需三步--轻松反编译Android Apk文件
安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...
- apktool 在mac下的使用 -反编译安卓apk文件
1.下载apktool 点击这里下载 ,里面有两个文件,一个是.jar,一个是自己写的脚本.sh 注:最新的apktool.jar 文件可以点击这里下载 .sh脚本是自写脚本可不用更新最新,下载的ja ...
- 反编译Android APK及防止APK程序被反编译
怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...
- Mac上反编译Android apk安装包
什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...
- 实例具体解释:反编译Android APK,改动字节码后再回编译成APK
本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...
- 反编译android APK
我们经常会在如下的情况使用反编译 1.看到别人应用中的酷炫功能,想知道是如何实现的 2.别人应用的素材排版好漂亮,想套用模仿 百度一下就已经有一大堆反编译的教程了,我还是坚持学习记录一下. A ...
随机推荐
- PHP使用header+Location实现网站301重定向
对于我们SEO人员来说,有的时候需要对网站进行重定向.一般来说,对网站重定向的http返回状态码是301和302两种.下面兰州SEO就通过实例来为你介绍一下怎样通过PHP使用header+Locati ...
- CentOS下用于查看系统当前登录用户信息的4种方法
作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...
- Mysql5.7压缩版安装启动不了的问题
从mysql 官网下载了mysql-5.7.12-winx64.zip的文件.按步骤安装: 1.添加环境变量 操作如下: 1)右键单击我的电脑->属性->高级系统设置(高级 ...
- java常用封装方法
public Map<String,String> getDateByStr(String str,String startDate,String endTime){ Map<Str ...
- OpenStack H版与 Ceph 整合的现状
转自:https://www.ustack.com/blog/openstack_and_ceph/ Contents 1 Ceph与Nova整合 2 Ceph与Cinder整合 3 相关Patch ...
- Gitlab上如何给指定人员在指定项目里设置指定权限,给项目设置保护
一.在Gitlab页面里,点击Project,找到指定的Project里: 二.点击Members,可以添加人员,并给指定的人员设置权限 三.点击Protected Branches,可以给Proje ...
- Kali 2.0 安装后的初始配置
准备 1.VMware Workstation 2.kali-linux-2.0-amd64.iso 安装 手动安装 VMware 创建新的虚拟机,先不导入ISO文件,系统选择Debian 7.x 6 ...
- 实用工具类--第三方开源--Lazy
下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...
- 19 Python 正则模块和正则表达式
什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.p ...
- 利用Fiddler或Charles进行mock数据创造测试环境
使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记 ...