文档章节

Android反编译获取资源文件-android学习之旅(69)

fengsehng
 fengsehng
发布于 2016/11/09 09:07
字数 439
阅读 9
收藏 0

有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的.

要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本)

下载前两个网址是http://apktool.shoujifans.com/

apktool.jar要求是最新版,所以到官网去下载http://ibotpeaches.github.io/Apktool/

要是嫌麻烦,就去我的网址下载,打包好了. 下载链接http://download.csdn.net/detail/u010321471/8989979

操作步骤:

把这三个文件放到一个目录底下,然后把apk文件放进去

在cmd模式下切换到相应的目录.使用命令apktool d [-s] -f -o 例如: apktool d [-s] -f free.apk -o test

说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可,效果如下:之后在之前的test文件下便可以发现多了2个文件夹:build 和dist(里面存放着打包出来的APK文件)

常见错误:

apktool反编译时经常会出现下面的信息

1.Input file was not found or was not readable.
2.Destination directory (C:\Users\user\a) already exists. Use -f switch if you want to overwrite it.
3.Exception in thread “main” brut.androlib.AndrolibException: Could not decode ars c fil……….

解决方案:
1和2是因为apktool升级到2.0以上时,使用方式已经替换,格式为:apktool d [-s] -f -o ,参数具体的意思可以直接打apktool回车(windows)查看帮助
3是因为apktool版本过低导致,请升级到最新版本

本文转载自:http://blog.csdn.net/lpjishu/article/details/47418475

fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
Android的反编译和代码混淆

系列文章: Android的反编译和代码混淆 Android的打包签名 Android的多渠道打包 前言 包括以下内容 要反编译apk需要下面3个工具 反编译资源文件 反编译类文件 代码混淆 要反编译apk需要下面3...

跳动的松鼠
2017/11/21
0
0
ubuntu下反编译android apk 获取xml文件资源文件和java文件

在开发学习的过程中,反编译成熟的apk能从中学到不少东西,在ubuntu反编译apk。 获取相应的配置文件和资源文件 已经java源代码文件,从中可以吸取有用的设计。 反编译apk 主要有三个工具 ap...

bin-os
2014/05/07
1K
0
Android APK逆向工程/反编译总结

1概述 本文涉及的内容本质上就是APK的反编译, 作为一个开发者, 需要正视一下本文所谈及的技术, 目的是为了让你借鉴/学习优秀实践, 而非让你去盗用其它开发者得成果。事实是, 通过本文所谈及的...

晨曦之光
2012/03/09
2.7K
0
Android APK逆向工程/反编译总结

1概述 本文涉及的内容本质上就是APK的反编译, 作为一个开发者, 需要正视一下本文所谈及的技术, 目的是为了让你借鉴/学习优秀实践, 而非让你去盗用其它开发者得成果。事实是, 通过本文所谈及的...

晨曦之光
2012/03/07
2.3K
0
SimpleNews 项目的重构之旅(5) - Android Gradle 打包&混淆应用

应用场景 之前一直没有做 Android APK 发包管理,所以这次重构把这打包这部分考虑进去,之后可能会发布到一些应用市场。 要实现的功能 混淆代码 实现签名 过滤无用资源 生成 release 版本 AP...

無名小子的杂货铺
2017/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部