github地址 https://github.com/CreditTone/hooker
下载git clone https://github.com/CreditTone/hooker.git 有点大,100多m。耐心等待
下载后解压,进入到文件夹
新建个虚拟环境,激活后安装依赖
pip3 install -r requirements.txt
安装好以后将文件夹下的mobile-deploy/ 推送到手机里面的/sdcard下面
最后启动
sh /sdcard/mobile-deploy/deploy.sh
注意:如果启动后出现adb连接不上,选择使用deploy2.sh
首先我们先运行./hooking 然后输入你想要attch的app
成功之后,我们查看文件夹,会生成一个cn.soulapp.android的文件
在https双向认证的情况下,dump客户端证书为p12。存储位置:/data/user/0/{packagename}/client_keystore_{nowtime}.p12
证书密码: hooker。
原理是hook java.security.KeyStore的getPrivateKey和getCertificate方法,因为客户端向服务发送证书必调这个方法。
强烈建议keystore_dump.js用spawn模式启动,启动命令为 ./spawn keystore_dump.js 。下面是soulapp双向认证dump客户端证书过程
现在我们启动 ./hooking keystore_dump.js (我使用 此方式报错未成功./spawn keystore_dump.js)
现在我们把证书导出来 /data/user/0/cn.soulapp.android/client_keystore__2021_05_08_14_06_04_96.p12
注意,要先移动到/sdcard下面,在adb pull 拉出来,
拉出来以后将证书填入charles
其中的host如果不确定,使用 ./hooking url.js查看app运行过程产生的url,在log日志里
443代表https
成功之后我们在进行抓包
成功