Android逆向(一)
- 最近公司有新的竞争对手入局,所以有需求需要做做逆向分析。
正常逆向一般都是反编译看xml清单就能看到很多信息,然后配合apk分析工具,能看到apk的主要技术栈。
不过这些都是次要的,最关键得知道域名,最好能抓到数据,抓数据的话我们会立马想到https请求
1、通过root手机对系统证书进行修改
2、通过sdk低于24的手机进行黑盒抓包
3、利用adb-killer对apk进行重编译,修改net_security_cofig文件。
这里首先尝试了1和2.
最后发现android sdk 25以下不支持wifi 连接,所以虽然以前老的安卓系统默认的漏洞可以通过用户证书去做中间人方式破解,但是没法设置代理。
然后开始尝试把抓包软件的证书添加到系统证书。
目前比较方便的并且比较专业的模拟器主要是genymotion
新建一个设备,这里我随便选择了一个设备。

下载好之后通过它的root文档设置好root权限
然后通过adb push pem证书到/system/etc/securiry/cacerts目录下。
报错:
remote couldn't create file: Read-only file system
查资料没有权限,明明已经root过了
尝试改cacerts的读写权限 chmod 777 system
chmod: chmod 'cacerts' to 40777: Read-only file system
对system重新挂载 ./adb remount system
尝试改cacerts的读写权限 chmod 777 system
修改成功!
下一步.把证书放到cacerts文件夹下,xxx.pem重命名为xxx.0
然后打开系统证书目录

然后继续抓包,依旧没有效果,翻车了。最后发现mac无效,用Windows电脑尝试成功了,holy shit。
Windows用夜神模拟器尝试成功了。
然后尝试在mac上安装夜神,安装完之后,卡在99%,从夜神常见问题文档中发现卡99%可能是VirtualBox(后面简称VB)导致的。

尝试关闭电脑SIP。
进入MAC的Recovery OS执行
csrutil disable
重启mac,在终端中输入
csrutil status
显示disable则SIP关闭。
重新打开夜神模拟器,依旧卡99%,继续查其他资料,有人也遇到过这种问题,安装virtual box,在夜神模拟器卡在99%的时候,在VB上点启动夜神就可以了。
然后尝试安装VB.下载好文件,安装提示VB不支持M1芯片。猝~~~
重要的事情说三遍:一定要使用windows做逆向 一定要使用windows做逆向 一定要使用windows做逆向
准备尝试adb-killer。把apk的net_security_config.xml换掉。