专栏名称: 开发者阿橙
致力于成为国内最好的Python开发者学习交流平台,这里有关于Python的国内外最新消息,每日推送有趣有料的技术干货和社区动态。 官方网站:www.python-cn.com
目录
相关文章推荐
51好读  ›  专栏  ›  开发者阿橙

破解验证,让爬取更随心所欲!

开发者阿橙  · 公众号  · Python  · 2016-12-17 18:23

正文

请到「今天看啥」查看全文


上面的截图中每个文件都是一个最基本的Apk 文件应该包含在内的。但是直接把Apk当做zip解压后的这些文件是没法直接阅读的,毕竟他们都是经过了build-tools打包工具处理过的。我们直接用文本编辑器打开这里面的Manifest文件看看。


反编译Apk的目的就是Apk拆成我们可以阅读的文件。通过反编译,我们一般想要得到里面的AndroidManifest.xml文件、res文件和java代码。

Apk反编译步骤

(1) ApkTool拆包,得到AndroidManifest和res等资源文件
工具下载地址
https://bitbucket.org/iBotPeaches/apktool/downloads

功能 :拆解Apk文件,反编译其中的资源文件,将它们反编译为可阅读的AndroidManifest.xml文件和res文件。前面讲过,直接把Apk文件当做zip解压,得到的xml资源文件,都是无法直接用文本编辑器打开阅读的,因为它们在打包时经过了build-tools的处理。

用法 https://ibotpeaches.github.io/Apktool/documentation/ 有介绍,最新版本是2.2.0,运行环境需要jre1.7。

这里,我演示一下用apktool来拆解Apk文件的基本方法,只需要在终端里面执行下面的命令。

  1. java -jar apktool.jar d yourApkFile.apk

  2. // 注意`apktool.jar`是刚才下载后的jar的名称,`d`参数表示decode

  3. // 在这个命令后面还可以添加像`-o -s`之类的参数,例如

  4. // java -jar apktool.jar d yourApkFile.apk -o destiantionDir -s

  5. // 几个主要的参数设置方法及其含义:

  6. -f 如果目标文件夹已存在,强制删除现有文件夹

  7. -o 指定反编译的目标文件夹的名称(默认会将文件输出到以Apk文件名命名的文件夹中)

  8. -s 保留classes.dex文件(默认会将dex文件解码成smali文件)

  9. -r 保留resources.arsc文件(默认会将resources.arsc







请到「今天看啥」查看全文