第43天:apk文件简介

1.复习了一天数值分析

2.简单记录一下apk的文件结构吧,加深印象。

明天考数值分析,看了一天PPT,我爱数学,但是数学不爱我。

网上找的博客看的,写的比较详细,转载自:https://www.cnblogs.com/doit8791/p/5223201.html

这里简单记录一下。

apk是一个压缩文件,后缀改为zip可以解压出来。

AndroidMainfest.xml

一些配置清单,名字、版本、权限、引用的库文件等等。找一个apk看看这个文件,就什么都懂了。

META-INF目录

存放签名信息,android程序生成release版本的apk需要签名,加密信息应该就保存的这里了。

res目录

存放各种资源文件。最终被映射到Android工程中的R文件中,对各种资源会生成对应ID。逆向android主要是找strings.xml,便于定位关键字符串。一般在values文件夹中,layout文件夹是存放的应用界面布局。

lib目录

存放依赖的native库文件,.so文件是C/C++写的。可以根据特定目录确定是什么架构的。.so文件在逆向中应用挺多。

assets目录

印象不是很深,我在之前CTF题中没有使用过这个目录。和res有点相似。

resources.arsc

编译后的二进制资源文件的索引。应该就是程序运行,然后从这个文件根据对应ID找到对应的res资源文件。

classes.dex文件

java字节码文件,这个文件很重要,可以用jeb等转换成java源码。说到这就不得不提一下几个文件的转换了。
 

工具 作用命令
javacjava--->classjavac  test.java
dxclass--->dexdx  --dex  --output=test.dex  test.class
baksmalidex--->smalijava -jar baksmali.jar d  xxx.dex
smalismali--->dexjava -jar smali.jar -o 目标dex文件 [smali文件夹]
dex2jardex--->jard2j -dex2jar.bat dex文件
apktoolapk--->smalijava -jar apktool.jar d test.apk

baksmali.jar和smali.jar有时候java自带的老出问题,我是从网上下载的。https://bitbucket.org/JesusFreke/smali/downloads/

当然敲命令有点费事,可以去吾爱的爱盘下载android逆向工具包。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值