阅读 115

APK逆向工程

image.png

APK

APK(android Application PacKage)文件是安卓app的安装文件,其实就是一个zip或rar压缩包,把apk后缀改为zip,即可解压得到一堆安卓相关文件。

APK结构

内容 含义
AndroidManifest.xml 二进制xml文件,提供设备运行应用程序所需的各种信息
classes.dex 以dex格式编译的应用程序代码
resources.arsc 包含预编译应用程序资源的二进制XML文件
res 此文件夹中包含未编译到resources.arsc文件中的资源
assets 此文件夹包含应用程序的原始资源,由AssetManager提供对这些资产文件的访问
META-INF 它包含MANIFEST.MF文件,该文件存储有关JAR内容的元数据。APK签名也存储在此文件夹中
lib 此文件夹包含已编译的代码,例如本地代码库

工具介绍

名字 介绍
dex2jar 将apk中的class.dex文件反编译为jar包
jd_gui 将jar反编译为.java文件
apktool 提取apk中的资源文件

下载注意:
根据自己的系统平台下载对应版本的工具,dex2jar貌似不支持Mac OS,其他两种工具支持Windows,Linux,Mac OS。

apktool

apktool主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建apk。

相关命令

解包:

apktool d test.apk

dex2jar

dex2jar下载
使用dex2jar,可以将解压apk包得到的classes.dex生成jar包。
下载好后直接解压,即可。
并将该目录添加到环境变量中。

相关命令

 d2j-dex2jar classes.dex

jd-gui

jd-gui下载
使用jd-gui可以将jar包生成java代码。
解压后直接双击打开exe执行:

image.png

加载jar包

在file->open file打开jar包即可。

保存源码文件

在file->save即可。

作者:Lee_5566

原文链接:https://www.jianshu.com/p/19a26a1401c6

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐