Android:反编译apk
一、所需工具
1. apktool
(1)作用:获取资源文件,例如图片、布局文件
(2)下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads/

2. dex2jar
(1) 作用:获取源码文件,将apk反编译成java源码,获得jar文件
(2) 下载地址:https://sourceforge.net/projects/dex2jar/files/

3. jd-gui
(1) 作用:查看源码文件
(2) 下载地址:http://jd.benow.ca

所有工具下载完毕,放入同一个文件夹下

二、反编译步骤
1. 使用apktool获取资源文件
(1) 所用命令
java中执行jar的命令: java -jar jar包名.jar
使用如下命令来执行apktool_2.3.3.jar文件来反编译apk,从而获得资源文件
java -jar apktool_2.0.1.jar d -f apk的存储路径 -o 反编译的得到的资源文件夹名

2. 使用dex2jar获取源码
(1) 将需要反编译的apk的后缀改成rar或zip,然后解压

(2) 将classes.dex文件复制到dex2jar文件夹下

(3)执行命令 sh d2j-dex2jar.sh classes.dex

得到反编译后的源码的jar文件

3. 使用jd-gui打开反编译后的jar查看源码

Android:反编译apk的更多相关文章
- Android 反编译apk 详解
测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) ...
- Android 反编译Apk提取XML文件
Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- Android 反编译apk
工具介绍: apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...
- Android反编译apk并重新打包签名(Mac环境)
工具下载 apktool :https://ibotpeaches.github.io/Apktool/install dex2jar:https://github.com/pxb1988/dex2j ...
- Android反编译APK
http://blog.csdn.net/vipzjyno1/article/details/21039349/ 关于被加壳工具添加我的apk如何脱壳 http://www.blogfshare.co ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...
- Android反编译(未混淆的apk)
Android反编译(未混淆的apk) 工具 dex2jar 下载地址:我的CSDN 或者 官网 jd-gui 下载地址:我的CSDN 或者 官网 反编译步骤 1. 将APK解压缩,获取classes ...
- Android基础新手教程——1.10 反编译APK获代替码&资源
Android基础新手教程--1.10 反编译APK获代替码&资源 标签(空格分隔): Android基础新手教程 本节引言: "反编译Apk".看上去好像好像非常高端的样 ...
随机推荐
- Unable to perform unmarshalling at line number 16 and column 63 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: 找不到元素 'hibernate-configuration' 的声明。
七月 02, 2017 4:32:37 下午 org.hibernate.Version logVersionINFO: HHH000412: Hibernate Core {5.2.10.Final ...
- Java实现发邮件功能
代码如下: package com.weimob.finance.utils;import java.io.UnsupportedEncodingException;import java.util. ...
- spring中的default-lazy-init参数和lazy-init
在spring的配置中的根节点上有个 default-lazy-init="true"配置: 1.spring的default-lazy-init参数 此参数表示延时加载, ...
- PHPStorm配置xdebug(phpStudy/wamp)
一.下载并配置XDebug wamp环境: 1.获取xdebug
- 新闻cms管理系统(三) ------菜单管理
1.前期准备工作 (1)模板介绍 添加菜单的模板页面 菜单管理首页: 添加菜单页面: (2)公共类引入介绍 公共函数文件的引入(位置: Application/Admin/Controller/Com ...
- Python 基于request库的get,post,delete,封装
# coding=utf-8 import json import requests class TestApi(object): """ /* @param: @ses ...
- Android的JNI调用(二)
Android Studio 2.3在native下已经有了代码提示功能,按照提示下载相应组件就可以debug native代码. 一.Java调用JNI与JNI调用Java 1.1 C调用Java ...
- Angular动态表单生成(三)
ng-dynamic-forms实践篇(上) 定个小目标 先来定个小目标吧,我们要实现的效果: 动态生成一个表单,里面的字段如下: 字段名称 字段类型 验证 备注 姓名 text 必填,长度小于15 ...
- 使用java代码将时间戳和时间互相转换
时间戳转时间: SimpleDateFormat simpleDateFormat = null; simpleDateFormat = new SimpleDateFormat("yyyy ...
- node.js中用户密码的加密
crypro实现用户密码的加密 在实际的项目中,只要涉及到用户的信息,就是十分重要的.设想一下数据库里面存放的用户的密码是明文的形式,后果是有多严重.所以今天给大家分享一下express中怎样实现用户 ...