APK逆向工程

作者: Lee_5566 | 来源:发表于2020-11-16 14:22 被阅读0次
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即可。

相关文章

  • APK逆向工程

    APK APK(android Application PacKage)文件是安卓app的安装文件,其实就是一个z...

  • 反编译Android APK及防止APK程序被反编译

    反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 googl...

  • iOS逆向工程概述

    逆向工程一词,对很多人来说可能很陌生,在android领域,我们经常会听到“反编译某个apk”,那么逆向工程从某种...

  • 第1章 关于逆向工程

    1. 逆向工程 逆向工程(Reverse Engineering,简称PE). 2. 代码逆向工程 代码逆向工程(...

  • ssm

    工程目录结构 mybatis逆向工程 逆向工程配置文件 generatorConfig.xml文件 逆向工程代码 ...

  • ssm

    mybatis逆向工程 逆向工程配置文件 generatorConfig.xml文件 逆向工程代码 测试类(可以在...

  • iOS逆向工程之fishhook

    iOS逆向工程之fishhook iOS逆向工程之fishhook

  • iOS逆向工程之Theos

    iOS逆向工程之Theos iOS逆向工程之Theos

  • 安卓代码混淆

    一、代码混淆作用 令 APK 难以被逆向工程,即很大程度上增加反编译的成本; 在打包时移除无用资源,显著减少 AP...

  • 一 iOS 逆向工程概述

    1 什么是iOS逆向工程 2 iOS逆向的目的 3 iOS逆向过程以及方法 一 什么是iOS逆向工程 iOS逆向...

网友评论

    本文标题:APK逆向工程

    本文链接:https://www.haomeiwen.com/subject/xgeabktx.html