apk逆向分析(安卓逆向教程)

安卓逆向基础

打开安卓手机,各式各样的应用程序展现在屏幕上,从衣食住行到交流沟通,我们都可以找到合适的APP满足我们的需求,极大的方便了人们的生活。但是这一个个APP的内部是什么样的呢?接下来便带你一探究竟。

apk逆向分析(安卓逆向教程)

工欲善其事必先利其器,在开始介绍APK之前,先介绍一款安卓逆向软件:MT管理器。

APK 文件是安卓平台的应用安装包,它实际上是一个 ZIP 格式的压缩文件。

通常一个 APK 文件中包含着以下文件:

我们在电脑上可以把APK文件后缀修改为ZIP,就能解压查看了。双击打开压缩包文件,出现了一个文件目录,其中包含有7项文件,如图所示。

每一种文件夹中还存放着一种或几种文件,我们来了解一下:

1、assets:此目录下存放的是不经过appt编译的资源文件。

2、lib:此文件夹下存放的都是so文件。

3、META-INF:此文件夹里面存放的是apk的签名文件,打开它,如图所示

(1)CERT.RSA文件:签名证书文件,里面存放的是公钥和加密算法描述。

(2)CERT.SF文件:摘要加密,里面存放的是加密文件,使用私钥对摘要明文加密后得到的密文信息,只有使用私钥配对的公钥才能解密该文件。

(3)MANIFEST.MF文件:即文件摘要,里面存放的是程序清单文件,它包含包中所有文件的摘要明文。

4、res:这个文件夹里面存放的是资源文件,是经过appt编译后的文件。打开这个文件夹,有六种不同的文件,如图所示。

以下三个是常用的文件夹的功能:

(1)drawable开头的文件夹:里面存放的是图片和xml文件。

(2)layout文件夹:里面存放的都是布局文件。

(3)menu文件夹:里面存放的是菜单文件。

以下三个文件夹的功能了解即可:

(1)anim文件夹:存放的是动画文件。

(2)color文件夹:存放的是颜色文件。

(3)mipmap文件夹:存放的也是图片资源。

5、AndroidManifest.xml 文件:是一个配置文件,里面包含组件的声明和配置。

6、classes.dex文件:是一个可执行文件,可以直接在Android系统上运行。

7、resources.arsc文件:是经过aapt 打包res目录下的资源文件后生成的文件。

APK文件结构介绍完了,下面我们使用MT管理器对APK进行一些修改。以这个测试APP为例,在进入APP后没过多久,它会出现一个新版本的通知,我想把这个弹窗去掉。

一般 APP 会从一个网址中读取最新版本信息,而网址是 http 开头,所以我们搜索 http,然后根据整个网址来判断它是否是我们要找的。

与更新有关的英语单词有:version、update、ver,如果你找到的网址包含其中一个,那么很可能就是它了。

通过类似的方法我们可以对APP进行汉化、去除启动页、修改名字图标等操作。

发表评论

登录后才能评论