首页
论坛
专栏
课程

[原创]如何使用Xposed+JustTrustMe来突破SSL Pinning

2018-4-30 13:35 29723

[原创]如何使用Xposed+JustTrustMe来突破SSL Pinning

2018-4-30 13:35
29723

0x00 前面

      如果你是一干Web安全的,当你在测试目前大多数的手机APP应用程序时,你一定遇到过burpsuite无法抓到数据包的情况,开始你以为只是https的问题,但是当你使用了burpsuite伪证书也无法抓取到时,你心里除了有句“MMP……”外,你一定也在思考这其中的蹊跷。


      为什么https的网站使用伪证书可以抓到,而在app里面同样的方法就抓不到?答案是:app启用了SSL Pinning(又叫“ssl证书绑定“).


HTTPS的原理你必然懂,在建立ssl通道的过程中,当客户端向服务端发送了连接请求后,服务器会发送自己的证书(包括公钥、证书有效期、服务器信息等)给客户端,如果客户端是普通的浏览器,比如IE浏览器,则:

1.     使用内置的CA证书去校验服务器证书是否被信任,如果不被信任,则会弹出https的告警提示信息,由用户自己决定是否要继续.

2.     同样,用户也可以主动的将服务器证书导入到浏览器的受信任区,下次打开时该服务器证书将会自动被信任.


为啥中间人可以劫持https流量,以及在浏览器上我们为什么可以使用burp伪造证书,正是因为上面的2点,既:

1.     浏览器允许用户自行忽略证书告警,用户在无足够的信息安全意识时,可能会直接忽略刘浏览器的安全提示,在这篇文章的前2天以太坊钱包MyEtherWallet 就因为黑客使用“BGP流量劫持+HTTPS证书伪造“导致被干的鼻青脸肿.

2.     浏览器允许“导入证书到浏览器信任区“这个操作让浏览器信任burp伪造的证书.

这种伪造证书的中间人攻击给HTTPS带来了很大的威胁。


0x01 SSLPinning了解一下

    如果能够这样做,是不是就可以解决这种“中间人劫持+伪造证书“攻击的问题:

    客户端在收到服务器的证书后,对该证书进行强校验,验证该证书是不是客户端承认的证书,如果不是,则直接断开连接。


浏览器其实已经这样做了,但是如“前面”所说,选择权交给了用户,且浏览器由于其开放性允许让用户自导入自己的证书到受信任区域。


但是在APP里面就不一样,APP是HTTPS的服务提供方自己开发的客户端,开发者可以先将自己服务器的证书打包内置到自己的APP中,或者将证书签名内置到APP中,当客户端在请求服务器建立连接期间收到服务器证书后,先使用内置的证书信息校验一下服务器证书是否合法,如果不合法,直接断开。


当然攻击者也可以通过把这个APP源码给逆出来,然后找到证书校验这段逻辑,给他干掉,或者干脆把证书信息换成自己的服务器证书信息,然后重新打包签名,但是一旦APP做了代码加密和混淆,这个操作也会变得比较难搞。


因此这样看来,通过预先把服务器的证书信息“绑定“在APP的native端,然后建立连接时使用预先内置的绑定信息进行服务器证书校验,同时使用足够的代码加密或混淆,是比较合适的解决办法, 这个搞法就是“ssl pinning”.


补充:

不要将ssl pinning和https双向认证搞混了,HTTPS协议本身是支持双向认真的,既除了客户端对服务器证书进行验证外,服务器也可以要求客户端提供自己的证书信息并对其进行验证,在APP上,HTTPS双向认真的方案也可以防止中间人劫持,但这种双向认证开销较大,且安全性与”ssl pinning”一致,因此目前大多数APP都采用SSL Pinning这种方案。


0x02 使用Xposed + JustTruestMe来突破SSL pinning

如果你逆向比较在行,你就自己逆源码,然后过加密混淆,然后干掉SSL pinning.   不过使用Xposed + JustTruestMe应该也不丢人。

Xposed是一个框架,它可以改变系统和应用程序的行为,而不接触任何APK。

它支持很多模块,每个模块可以用来帮助实现不同的功能。

JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。

n   准备工作:

1.  准备一个有root权限的andorid手机或者andorid模拟器

使用手机装Xposed容易变砖,刷来刷去,很麻烦。个人习惯也推荐直接用andorid模拟器,现在很多andorid模拟器长又好看,广告又少,各个是人才。

本文使用网易的MUMU模拟器,下载地址:http://mumu.163.com/baidu/  对应的andorid版本为4.4。


2. 下载Xposed的apk安装包,下载地址:

http://repo.xposed.info/module/de.robv.android.xposed.installer

在改页面找到点击下载即可,默认的版本支持Android 4.0.3 up to Android 4.4. 版本

Download:  de.robv.android.xposed.installer_v33_36570c.apk (770.28 KB)

注意官方的说明,如果你的模拟器andorid版本为5.0以上,请按照如下说明操作:

For Android 5.0 or higher (Lollipop/Marshmallow), these versions don't work! Use this instead:http://forum.xda-developers.com/showthread.php?t=3034811


3. 下载JustTrustMe模块

https://github.com/Fuzion24/JustTrustMe/releases/tag/v.2

注意下载 JustTrustMe.apk版本


n   安装mumu模拟器

双击安装即可,自己看着办,安装完开机,就是这个样子的:

n   安装Xposed

点击MUMU主界面由下角的APK+图标,选择下载好的Xposed installer的apk包,即可开始安装,安装完成后,桌面会生成对应的图标,打开

第一次打开时,“框架”下面会有红色字体提示更新

不要管,点击框架,进去,点击“安装更新”,更新完成后,会提示重启,注意这个时候可能会卡死。

如果不卡死,说明你你比较厉害,点击下面的重启按钮重启。

如果卡死了,直接关闭模拟器,重新打开即可,再次进入框架页面,可以看到如下信息,则说明更新完成。

n   安装JustTrustMe

点击“模块”,此时还没有可用的模块,     同样的方法点击apk+导入之前下载好的JustTrustMe的apk安装包,系统会自动安装,安装完成后,在模块里面点击“软重启”,再次打开“模块”界面,即可看到JustTrustMe,勾选一下,启用这个模块:

到这里Xposed+JustTrustMe就安装和启动了。

接下来就是常规流程了:

1.     在你的MUMU模拟器所在的宿主机上打开burpsuite,并启用代理,主要使用实际的IP地址作为监听地址

2.     给你的MUMU模拟器设置一个代理,因为MUMU模拟器做了很多裁剪,默认不提供wifi配置选项,这里可以下载一个wifi万能钥匙,然后通过它呼唤出wifi设置界面:打开wifi万能钥匙---未登录---设置---设置为wifi管理器---立即设置,即可看到如下选项,选择wlan,进入wifi设置选项

鼠标左键长安“WiredSSID”这个ssid名词,会弹出如下选项,选择修改网络,进入代理配置页面

把代理选项配置成burp监听的代理地址,保存即可。

到这里你一定会想,这个MUMU模拟器到底用的的是什么方式与你的宿主机进行通信的,你可以使用adb shell来看一下,adb是一个连接andorid的命令行工具,windows下的安装和使用请自行GOOGLE。Mac下的安装和使用:

1. brew cask install android-platform-tools  //安装adb工具

brew类似linux下的yum,不会用的自己google.

安装完成后,运行:adb shell  即可连接到mumu虚拟机

$ adb shell

cancro:/ # 

cancro:/ # 

cancro:/ # 

在这里可以使用大多数的linux命令,必然ls,vi等,查看IP地址使用:netcfg

通过查看ip地址以及ping命令测试,可以发现mumu虚拟机是通过127.0.0.1进行桥接到宿主机的,因此可以直接使用宿主机的IP地址进行代理。


3.     Xposed+JustTrustMe只是解决了SSLpinning的问题,因为通讯本身是HTTPS的因此我们还是需要安装burp伪证书,直接导出burp的证书,因为默认格式是.cer的,andorid不支持,需要将这个证书先导入到浏览器在导出成.pem(x509)格式,然后在MUMU模拟器的设置---安全—从SD卡安装证书,通过MUMU的提供的共享文件夹将证书选择到安装即可,中间需要提示开启PIN码认真,开启一下即可。


到这里,你必然可以抓到启用了SSL pinning的APP的HTTPS的数据包了。



#在网上找了一些资料,都写的不够完整,昨晚自己折腾了一下,算是一个笔记。劳动节快乐#





[招聘]欢迎市场人员加入看雪学院团队!

最后于 2018-4-30 16:54 被etlpom编辑 ,原因:
最新回复 (32)
静河流 1 2018-4-30 14:00
2
0
结合这个来看:
https://github.com/WooyunDota/DroidSSLUnpinning
这个问题对于经常抓包测app漏洞的人来说经常遇到,印象中半年内就已经有好几个人问过了。
最后于 2018-4-30 14:01 被静河流编辑 ,原因:
iceway 2018-4-30 15:12
3
0
静河流 结合这个来看:https://github.com/WooyunDota/DroidSSLUnpinning这个问题对于经常抓包测app漏洞的人来说经常遇到,印象中半年内就已经有好几个人问过了。
请问,如果手机只能ROOT,不能装XPOSED怎么弄?很多手机都装不了XPOSED,而且某些系统APK不能在其他手机跑
静河流 1 2018-4-30 16:01
4
0
iceway 请问,如果手机只能ROOT,不能装XPOSED怎么弄?很多手机都装不了XPOSED,而且某些系统APK不能在其他手机跑
看这篇文章:https://bbs.pediy.com/thread-224465.htm
聖blue 2018-4-30 23:38
5
0
koflfy 1 2018-5-1 10:49
6
0
mark一下
VCKFC 2018-5-3 01:28
7
0
学习了  ,原来是SSL  Pinning
tDasm 2018-5-5 10:34
8
0
个人感觉有些画蛇添足?
1、既然已经hook了某类方法,那么就可以hook其它方法直接获取https参数数据,不需要再替换证书然后抓包了。多此一举。
2、与其替换证书这么麻烦,不如替换https为http,这样更容易抓包。虽然抓到的是http包数据其实就是https包。因为已经替换了原来的https。
举例说明:
比如要抓https://xxx.xxx.xxx/login的https包,通过hook方法把https://xxx.xxx.xxx/login替换为http://sohu.com/login然后抓包。显然sohu.com会返回404错误,但是通过http发送的包的数据已经被捕获。这样就可以自己编程获取https数据了。
最后于 2018-5-5 10:35 被tDasm编辑 ,原因:
virjar 1 2018-5-7 19:47
9
0
tDasm 个人感觉有些画蛇添足?1、既然已经hook了某类方法,那么就可以hook其它方法直接获取https参数数据,不需要再替换证书然后抓包了。多此一举。2、与其替换证书这么麻烦,不如替换https为http ...
修改https到http,返回可能不是404,tcp三次握手都可能无法建立(比如只有443端口开启,80口没有开启)。另外这样只能看到请求,无法看到响应。真实场景可能是多次相关联的网络交互才能走到真正的逻辑,这个时候我们只能拿到第一次请求的请求报文。如果一步一步的通过编程来控制那一个请求走http,那个走https,感觉操作也会很复杂。

另外,替换证书这里,一般的的api都有证书检查扩展。其实可以hook掉证书检查逻辑,这样倒也不需要导入证书。不过不知道是不是能够覆盖所有case。

还有另一种无法抓包的case,抓包软件抓https的原理,都是将代理服务器设置到环境变量。一般的http框架有默认的读取环境变量中代理配置的动作。这里有四个环境变量的key:http.proxyHost;http.proxyPort;https.proxyHost;https.proxyPort,如果apk代码对http API做了设置,可以让业务逻辑不走环境变量中的配置。那么楼主你那里设置WLAN的代理服务器将会失效。这是由于https&&http是应用层协议,是否走代理应该是应用自己决定,操作系统无法感知到内核层的数据包是否为http或者https,也不知道如何解码的。同时,走代理也决定了报文将会走指定的port,这个行为也应该是应用自己决定。如果在应用层不走系统配置的代理服务器port,那么数据不会发送到我们的代理服务器的,当然也无法拦截到数据。

常见的让环境变量中代理配置无效的case比如:maa方案(Mobile Application Accelerator),他在本地自建一个代理服务器,然后让所有http api的代理配置到本地代理服务器。覆盖了系统的默认代理服务器配置。

终极抓包方案应该是这个:https://www.coolapk.com/apk/app.greyshirts.sslcapture  
他的原理是通过自建一个VPN服务器,在VPN服务端接流量进行解码。由于VPN是链路层开始模拟的网络协议栈,且修改路由表后具有最高的路由优先级,那么所有的流量必然经过VPN服务器。
tDasm 2018-5-7 20:04
10
0
virjar 修改https到http,返回可能不是404,tcp三次握手都可能无法建立(比如只有443端口开启,80口没有开启)。另外这样只能看到请求,无法看到响应。真实场景可能是多次相关联的网络交互才能走到真正 ...
没看懂就来瞎说?已经多次使用把https替换http进行抓包完全可行,这是实践的产物。例子说得很清楚:抓https://xxx.xxx.xxx/login的https包,通过hook方法把https://xxx.xxx.xxx/login替换为http://sohu.com/login然后抓包,这里不一定是sohu.com,可以其他,因为没有这个链接,肯定返回404.你脑子怎么转不过弯?抓了发送包就可以自己写程序发送原始https包到真正的服务器获取真实的返回数据。
最后于 2018-5-7 20:08 被tDasm编辑 ,原因:
virjar 1 2018-5-7 21:44
11
0
好像,你曾经就骂过我。。。我没有仔细看是你。否则我就不会回复了。
1.貌似我回复的时候,都是对事本着讨论知识的角度,没有带有一点语气吧。我也没有说你不对,只是提了一点方案之外的可能场景而已。
2. “抓https://xxx.xxx.xxx/login的https包,通过hook方法把https://xxx.xxx.xxx/login替换为http://sohu.com/login然后抓包,这里不一定是sohu.com,可以其他,因为没有这个链接,肯定返回404”,我说得很清楚吧。不是所有开启了https的服务器,都一定会开启http服务。你这个只有同时存在https和http的时候才可以生效,这种一般在比较大的公司网站的确会存在。如果只有443口开了,80口没有开。tcp握手都不成功。
3.谁说的链接不存在就一定是404?那个协议这样规定的。
4. 另外我说,你这样只能抓请求,看不到响应。我说不方便。这个你能否认他有问题嘛?
5. 如果请求报文是加密的,需要请求和响应运算得到访问token。单单看第一次请求报文能够分析出来协议?
6.我的回复不全是针对于你,我讨论的更多的是关于系统api在设置代理,以及如何配合代理服务器抓包的原理流程上面。你太高看你了。
7.我建议你滚回大学重学一遍计算机网络
8.世上大牛太多,我不敢随便说大话,大多数时候我都希望自己小心谨慎的分享自己的认知,目的是验证自己所理解的知识点有没有错误,并不是为了装逼。现在你我认知不在同一个频道,我觉得我尝试过去理解你的言论,但是感受到的只是无脑的、带有攻击力的喷子。
9.我很多次在技术点上门表达错误或者表达不完整,我觉得我能够认识自己的错误并修正他,前提是在双方存在认知的差异的时候,能够努力的表达自己观点,消除差异。所以,你针对我的表达的每一个点,我都可以标红回答你。one by one。如果我认知有误了,我愿意为自己的错误表达道歉。如果你错了呢?

我回帖,是因为这篇帖子对我有了帮助,我迁移了帖子对应的代码到我的工具包里面。同时基于我自己遇到的case,以及自己掌握的一些东西提出自己的见解,我希望在我自己有所收获的同时能够对大家也有所启发。但是连续两次回帖,都被怼。而且我觉得被怼得不明不白。上次被怼,(https://bbs.pediy.com/thread-225427.htm)我觉得是他本人表达不完整引起我的误解,后来貌似我主动道歉,但是他似乎只是骂爽了,也没有给出最终的解决方案。这次,我感觉更加无脑了。我觉得我的言语里面,可能只有前三句他看到了,其他的表达他似乎都会主动忽略。

大多数情况,做一个伸手党也能满足工作需要,大多数情况我更加愿意自己去啃源码而非网上找解决方案。所以,未来安静做伸手党吧。不想在看雪回帖了。

最后于 2018-5-7 21:45 被virjar编辑 ,原因:
tDasm 2018-5-7 22:32
12
0
virjar 好像,你曾经就骂过我。。。我没有仔细看是你。否则我就不会回复了。1.貌似我回复的时候,都是对事本着讨论知识的角度,没有带有一点语气吧。我也没有说你不对,只是提了一点方案之外的可能场景而已。2. “抓h ...
http协议都不懂还来回帖,真是服了你。自己不实践只会空谈。
https://xxx.xxx.xxx/login 和http://sohu.com/login 是一样吗?你看清楚? https://xxx.xxx.xxx/login对应的80端口不见得开但是sohu.com的80端口一定开因为现在就在用。意思都没看懂还来瞎说。真是因为 https://xxx.xxx.xxx/login 对应的80端口不见得开才改为sohu.com来获取。
最后于 2018-5-7 22:36 被tDasm编辑 ,原因:
静河流 1 2018-5-8 02:04
13
0
楼上两位技术讨论归讨论,不要人身攻击。如果回帖描述不清问题,可以重新发一篇帖子写明实际操作步骤验证自己的观点。
chinanala 2018-5-8 05:28
14
0
写得很详实,希望那些被此困惑的朋友看到。
我之前就遇到这个问题,网上很多教程都有说要装SSL证书到手机,却忽略了证书绑定的问题。
包括FreeBUF有篇教程贴里提到这个【http://www.freebuf.com/articles/terminal/113940.html】,评论里好多人对此不置可否。
我也是受此误导,觉得【JustTrustMe】模块可装可不装。直到上次抓某APP包时经过反复试错才发现就是证书绑定的问题。
谢谢楼主分享。
静河流 1 2018-5-8 09:36
15
0
chinanala 写得很详实,希望那些被此困惑的朋友看到。 我之前就遇到这个问题,网上很多教程都有说要装SSL证书到手机,却忽略了证书绑定的问题。 包括FreeBUF有篇教程贴里提到这个【http://www.fr ...
之前也看过这篇文章,的确是误导。
hackdaliu 1 2018-5-8 16:55
16
0
你好,按这个帖子环境都搭好了,抓聊天工具whatsapp的包,没用这个justtrustme的时候确实登陆都登陆不上,但是现在也只能抓到登陆的报文,后面聊天,视频,语音的报文都抓不到,这个是什么原因呢一般?是因为上面大哥说的不走系统代理?还是因为burpsuite只能抓80和443端口,特殊端口抓不了?还是只能抓标准http和https协议?还是什么其他原因呀?谢谢
wulovebo 2018-8-1 16:21
17
0
mumu模拟器现在都是android6.0.1  去哪下载android4.4版本的?求链接
wulovebo 2018-8-1 16:30
18
0
找到了  有的选择的 
月下门推 2018-8-2 17:27
19
0
请问一下,关于maa方案(Mobile Application Accelerator)。我没能理解具体实现该怎么弄呢,也没查到相关的资料。谢谢
月下门推 2018-8-2 17:28
20
0
virjar 修改https到http,返回可能不是404,tcp三次握手都可能无法建立(比如只有443端口开启,80口没有开启)。另外这样只能看到请求,无法看到响应。真实场景可能是多次相关联的网络交互才能走到真正 ...
请问一下,关于maa方案(Mobile Application Accelerator)。我没能理解具体实现该怎么弄呢,也没查到相关的资料。谢谢
YuwenTony 2018-9-26 00:10
21
0
virjar 好像,你曾经就骂过我。。。我没有仔细看是你。否则我就不会回复了。1.貌似我回复的时候,都是对事本着讨论知识的角度,没有带有一点语气吧。我也没有说你不对,只是提了一点方案之外的可能场景而已。2. “抓h ...
"抓聊天工具whatsapp的包,没用这个justtrustme的时候确实登陆都登陆不上,但是现在也只能抓到登陆的报文,后面聊天,视频,语音的报文都抓不到,这个是什么原因呢一般?" 我也遇到类似的问题。 @hackdaliu 你后面是怎么解决的呢? 
@all : 我想有偿请人帮我抓一个APP的吧,有意向的联系我吧。谢谢!
YuwenTony 2018-9-26 00:11
22
0
@hackdaliu 你后面是怎么解决的呢? 
YuwenTony 2018-9-26 00:11
23
0
hackdaliu 你好,按这个帖子环境都搭好了,抓聊天工具whatsapp的包,没用这个justtrustme的时候确实登陆都登陆不上,但是现在也只能抓到登陆的报文,后面聊天,视频,语音的报文都抓不到,这个是什么原因呢 ...
@hackdaliu 你后面是怎么解决的呢? 
virjar 1 2018-9-26 22:45
24
0
月下门推 请问一下,关于maa方案(Mobile Application Accelerator)。我没能理解具体实现该怎么弄呢,也没查到相关的资料。谢谢
我当时逆向了一个maa的,就是通过内置代理的方法。在app里面开了一个代理服务器,然后所有业务代码请求到自己的代理服务器上面(本地内嵌代理),然后代理服务器接收服务器的配置,决定向最终的云端服务器交互。类似实现了CDN吧。不过CDN一般依靠域名解析实现,这个控制精准一些。所谓加速,其实就是好几个服务器,通过app的代理服务器控制具体使用哪个服务器的服务,选择比较近,压力小的服务器能够可以增加app的效果??
xjojox 2018-10-17 23:15
25
0
不错不错,很好的风险,解决了我一个大问题!
谢谢楼主!
Gcider 2019-1-22 13:54
26
0
@virjar 你提到的这个无root抓包app不知道你使用过没有,不是什么终极抓包方案,它跟Charles等原理是一样的,只不过Charles在PC端建立一个代理,它是在安卓端建立VPN都是为了转发截获流量,https一样需要安装证书,ssl pinning一样无法破解。
Gcider 2019-1-22 13:57
27
0
Gcider @virjar 你提到的这个无root抓包app不知道你使用过没有,不是什么终极抓包方案,它跟Charles等原理是一样的,只不过Charles在PC端建立一个代理,它是在安卓端建立VPN都是为了转发 ...
android7.0以上需要将https证书安装到系统证书中才可以使用,但是这个package capture好像依然不行,mitmrpoxy和Charles可以
zhangnew 2019-3-2 01:30
28
0
hackdaliu 你好,按这个帖子环境都搭好了,抓聊天工具whatsapp的包,没用这个justtrustme的时候确实登陆都登陆不上,但是现在也只能抓到登陆的报文,后面聊天,视频,语音的报文都抓不到,这个是什么原因呢 ...
你这个大概率不是 http(s) 协议了,所以抓不到,微信也是这样,得用 Wireshark 了
virjar 1 2019-5-18 19:16
29
0
场景不一样,package capture解决的是代理端口被特殊设置了的问题。也就是我上面和那个同学吵架的点。 如果明确是http(s)的协议,抓不到包的原因会有如下两个可能: 1. proxyProvider被特殊定制。导致你设置的代理配置不生效。比如你配置8888端口为代理,但是http socket建立的时候依然可以强行走80(或者443)端口。这个问题你可以去读一读一些http网络库的源码就知道了。我之前因为做一个代理服务框架的时候,对httpclient有一些研究,所以知道这个点儿把。这种场景下使用package capture可以解决 2. 对于https协议,下层使用了ssl。这个时候客户端(狭义来说是网络库)一般会在ssl握手的时候做服务器的证书校验。这个时候通用的网络库的行为(包括浏览器,httpclient、okhttp等),是去读本地的系统根证书。这个时候,你把证书导入到系统根证书就可以了。但是,同样的如果网络库有特殊定义,他可以定制证书检查逻辑。如果是不需要通过浏览器访问的话,app可以自己给自己颁发一个私有的证书,并且这个接口只给他的客户端使用,且让客户端代码只相信自己给自己颁发的这个证书。那么这个场景可以使用justTurstMe来解决。 但是justTurstMe也不是万能的,因为如果网络库代码有混淆。JustTrustMe是无法定位到这些证书检查的hook点的,需要自己去分析混淆后的网络库代码了。 其实想了想,还有另一个可能导致抓不到包。现在越来越多的app,直接使用so层面发送http请求了。这个时候javahook肯定没有效果的,这种我遇到好几个了
最后于 2019-5-18 19:17 被virjar编辑 ,原因:
我叫菠菜的菠 2019-5-19 18:26
30
0
其实上面各位大佬说的都没错,只是android上的http库太多了 ,导致需要解决的问题也很多。并且我发现一个问题,很多厂家还自己修改过http库,例如okhttp3.假如还用justtrustme我敢说100%的不能解决问题,后来还是我自己看修改过后的okhttp3的源码,修改了hook点才绕过了。另外,xposed在实践中或者说高版本中,基本安装不上就算root,早点转移Frida吧。
31
0
peng97 1天前
32
0
你好博主,无网络连接会不会因为是burp无法解析服务器发过来的证书或者无法解密签名,所以后面的通信就不能进行。能解答一下吗谢谢
gtict 1天前
33
0
Gcider @virjar 你提到的这个无root抓包app不知道你使用过没有,不是什么终极抓包方案,它跟Charles等原理是一样的,只不过Charles在PC端建立一个代理,它是在安卓端建立VPN都是为了转发 ...
最近看到一个软件就是内建vpn 劫持流量的。有没有什么文件介绍这方面的文章或代码
游客
登录 | 注册 方可回帖
返回