admin管理员组文章数量:1439730
目录
什么是apk文件
查看源码
native层
工具附件
java逆向工具 我们选择以下两个安装包
安卓逆向例题
什么是apk文件
apk文件介绍
apk文件(Android Package)是用于分发和安装 Android 应用程序及游戏到 Android 操作系统的文件。换句话就是:如果我们用的是安卓手机,那么我们在下载软件时的安装包和软件本身都是apk文件,它类似于其他操作系统上的可执行文件。
apk文件其实并不是单个二进制文件,它类似于一个压缩包,里面包含了很多文件。把apk文件的后缀改为.zip,然后解压,我们就能看到里面的各种文件。
查看源码
查看apk文件源码需要用到两个工具jadx和jeb,两种工具各有优缺点。
工具jadx使用方法:将apk文件拖进jadx里面,点击右边资源文件->AndroidManifest.xml,这个文件包含应用程序的基本信息和配置
点击图中的MainActivity,这里是程序入口点,类似于exe文件里面的main函数。它也可能会换个名字,主要还得根据后面的<intent-filter>来判断。
jeb与jadx使用方法差不多,它的分析能力更强一点,但是界面没jadx简洁。
用jeb打开apk文件,查看字节码
找到MainActivity类,按tab键反编译得到源码
native层
apk文件的代码并不全是用java写的,可以用C或 C++编写一个本地库,然后再用JNI技术将java层与本地库进行连接。用java编写的叫java层(jadx里面看得到),用C或C++编写的叫native层。
native层的代码在jadx等工具里面看不到,需要解压apk文件,然后用ida分析so文件才能看到这段代码。
native层处理方法:
1、先将后缀apk改为zip,然后解压得到文件夹
2、打开文件夹,打开里面的lib文件夹,里面一般来说会有4个so文件,arm架构32位64位各一个,x86架构32位64位各一个,一般是看arm架构的so文件
3、使用ida打开so文件,注意JNI_Onload或JAVA_ 开头的函数
看完这篇文章,你是否也入门安卓逆向了呢☺️☺️☺️
本文标签: 入门
版权声明:本文标题:安卓逆向入门 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747672150a2741343.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论