App逆向学习--1

上一章我们介绍了adb shell的一些较为常见的用法,有读者朋友问我,如果是真实手机,应该如何使用adb shell命令,如何使用pc主机和手机adb 联动呢?

adb电脑端与真实手机互联

想要实现pc主机和手机端的adb联动其实不难,只需要pc主机安装 adb,手机安装adb即可,只是现在网络上的东西错综复杂良莠不齐,导致其实很多东西是假的,不能用的。

关注公证号 say_ohno 回复 “adb工具”,即可得到下载链接及密码,pc端解压即可直接在命令行模式下使用,无需安装,手机adb安装后可单独使用

adb工具解压后应包含如下图四个文件
在这里插入图片描述
手机安装成功后可单独使用,大家自行研究即可,使用方式这里不做过多介绍

这里介绍一种简单的方式,使电脑端adb控制手机,只需将手机数据线连接至电脑,并开启调试模式即可

而后​进入电脑adb所在文件夹,打开命令行窗口
adb devices 查看当前连接状态

在这里插入图片描述
使用adb shell命令可直接进入到手机adb模式

在这里插入图片描述
使用su命令可切换至管理员模式
在这里插入图片描述
至此,使用电脑控制手机adb到此结束

so文件的简单读取

读取so文件信息我推荐大家使用kali进行读取,因为不需要自己去配环境,实际上linux系统都可以去读取。

read​elf -h xxx.so 查看so文件的头部信息
在这里插入图片描述
readelf -S xxx.so 查看so文件的Section头信息​

在这里插入图片描述
readelf -l xxx.so 查看so文件程序段头信息(Program)

在这里插入图片描述
readelf -a xxx.so 查看so文件全部内容
在这里插入图片描述
由于此内容太多,所以直接将之输出到txt文件内了​

扫描二维码关注公众号,回复: 14240264 查看本文章

这里开始步入正题,既然是逆向,那第一步还是回归到解包脱壳

脱壳先不讲,在这里先介绍解包的两种简单的方法

反编译apk

apktool工具

apktool工具大家可以自行下载,也可以在公众号 say_ohno 回复 apktool即可获取下载链接

基础命令:

java -jar apktool_2.6.0.jar d -f xxx.apk -o 输出文件夹名字​
在这里插入图片描述
这里反编译出来的是smail源码,eclipse是不能直接看的,本来是有一条命令可以将反编译出来的源码后缀直接成为.java的,但是似乎人家早在上一个版本就移除了这个功能,大家可以自己试一下,推荐大家使用ide工具查看
在这里插入图片描述

java -jar apktool_2.6.0.jar d -d xxx.apk -o 输出文件夹名字
在这里插入图片描述
这一步是为了反编译得到源码,而后方便后续在AndroidManifest.xml文件中添加debuggable信息,以便开启动态调试功能,或阅读源码。

使用apktool反编译的好处在于,​AndroidManifest.xml 在未做代码混淆的情况下是可以直接阅读并修改的
在这里插入图片描述

解压

第二种方式,直接将apk安装包当做压缩包进行解压​,这种处理方式虽然也能获取到AndroidManifest.xml文件,但是这里的AndroidManifest.xml文件却是乱码,不能直接使用的,而且解压出来的classes.dex文件需要配合其他工具进行二次编译才能获取源码

在这里插入图片描述

打开AndroidManifest.xml,里面是乱的
在这里插入图片描述
借助dex2.jar 进行二次编译 dex源码,使其变为 .jar格式代码,而后使用 jd-gui工具或ide工具进行阅读​

dex2jar.bat classes.dex classes.dex文件路径

在这里插入图片描述
在这里插入图片描述
此时可以查看代码
dex2jar 工具可自行下载,或前往公众号,回复 "dex2jar"即可获取工具下载地址​

此时修改结束之后,​进行回编译,使其重新生成apk

java -jar apktool_2.6.0.jar b -d jst -o xxxdebug.apk 回编译成apk,注意要有apktool.yam文件
在这里插入图片描述
在这里插入图片描述
此时生成的调试版本apk不能直接安装,因为没有证书没有签名,在apk中,未签名的apk是不允许直接安装的

java -jar signapk.jar testkey.x509.pem testkey.pk8 xxxdebug.apk xxx.sign.apk

在这里插入图片描述
此时生成的apk可以安装,若是安装后依然可以正常使用,那么就属于有高风险,因为未做证书、签名校验,没有去抵抗反编译是一件很危险的事儿。​

获取签名证书工具,请在公众号回复"证书签名工具",即可获取下载链接

过长的篇幅会影响阅读,所以此次分享仅到此结束,后续会继续分享。​

猜你喜欢

转载自blog.csdn.net/weixin_48421613/article/details/121487863
今日推荐