前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >APK逆向工程

APK逆向工程

作者头像
李小白是一只喵
发布2020-11-24 12:31:37
1.1K0
发布2020-11-24 12:31:37
举报
文章被收录于专栏:算法微时光算法微时光

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。

相关命令

解包:

代码语言:javascript
复制
apktool d test.apk

dex2jar

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

相关命令
代码语言:javascript
复制
 d2j-dex2jar classes.dex

jd-gui

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

image.png

加载jar包

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

保存源码文件

在file->save即可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • APK
    • APK结构
    • 工具介绍
    • apktool
      • 相关命令
      • dex2jar
        • 相关命令
        • jd-gui
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档