如何逆向一个apk呢?
逆向,与pc逆向一样,都是要分析关键代码,找关键语句等。
简单的安卓逆向:
拖进android killer(强推,很好的集成工具)
java代码–》加载布局文件–》寻找字符串文件
apk包实质
所谓apk包,不过就是一个压缩包,
将后缀名改成.zip再解压缩,就会看到apk内的真正文件了。
大体目录如下:
- res–装的资源文件
- META-INF–签名文件夹 (很关键啊)
- classes.dex–可执行文件,手机上就是执行这个的
- AndroidMainfest.xml -----配置文件
- resources.arsc------一些你想到但是找不到的文件可能会到这里
Android系统框架
-
Applications 应用层|
-
Android Framework 框架层|
-
Android Runtime 运行时,Dalvik虚拟机中运行时|
-
LiBraries --------核心类库层
-
Linux Kernel Linux类核
常见java与smail的对比
smail—java
L-------class
z------boolean
v------void
i=====int
smail .class public Lcom/qianyu/login/MainActivity
java:public class com.qianyu.login.MainActivity
smail中:.super Landroid/app/Activity
super表示父类
.source "MainActivity.java" //java名称是source
./field private 名称:字段类型 //private 私有
smail:virtual method 虚拟方法
smail中表示类的方法:
L包名/类名/
- 命名方法(寄存器的命名不同)
v命名
p命名