笔者最近抓包某款APP,使用了各种抓包工具,但是只要通过抓包工具,APP就连不上网络,自然就无法顺利获取APP的数据信息,很是匪夷所思,这到底是一款何方神圣的APP。

不服气的我瞎折腾了7天时间,最终在逆向大神的指点下才成功抓包。这7天,一共接触了6款知名抓包软件、几款安卓模拟器、几种对SSL Pinning绕过的工具、初步了解逆向破解思路......

不知道该从哪个方面来写这7天的收获,但确切的说:这7天我收获很大,也暴露出自己潜在的一些问题。为了让看官更快的知道艺灵接下来要讲啥,所以我会把主要的东西简练成一句话放前面。至于后面的2千来字,全是回忆这7天我是怎么入坑爬坑,再入坑再爬坑以及自己是有多么的无知的过程。

问题归纳:SSL PinningApp逆向反编译用证书的密钥来解锁证书

如果看官跟笔者一样是一个门外汉但又想抓取app的数据,建议看官花10来分钟的时间阅读剩下2千字。先不说防坑了,起码会给你介绍若干款抓包神器+几款模拟器+开挂神器+反编译神器+绕过SSL Pinning的最简单方法!就算你最后抓包不成,下次抓包时,不用为了找抓包工具和环境而苦恼,也不用纠结于哪款抓包工具更牛!对不?不过话说回来,接下来的内容但愿会让你快速定位问题并对症下药,而不是眉毛胡子一把抓,不停的在坑中徘徊!与坑做无畏的斗争!!!

最先,我使用了业内比较知名的Fiddler工具,但是获取http数据正常,只要是https数据全部状态为400。配图一张:fiddler抓包时https状态为400

然后我以为是工具问题,于是又换了Charles,结果还是一样。

接着我又换了spy-debugger,结果同上。

接着我又换了mitmproxy,结果同上。

然后我又问大神抓App用啥工具,当时回我:抓包用Thor。好吧,小白第一次听说,然后就开始在网上搜索,几经折腾,终于在二手的6s上成功安装了Thor 1.3版本,当时内心无比激动!毕竟这玩意现在是收费的,而且网上说的也很牛逼!接着我就在6s上打开了我要抓包的那款App,心里满怀期待!那个激动啊!万万没想的到的是:下一秒竟然翻车了!!!熟悉的界面再次出现在眼前!如图:只要用抓包工具此app就没有网络,操蛋得很

越想越不对劲,接下来我又开始在网上搜索,最后找到了一篇文章介绍说:这是使用了SSL Pinning技术。现在忘记是哪一篇文章了,于是我又按照这个线索专门搜索有关:SSL Pinning相关的资料。

至于啥是SSL Pinning,其实我也不是很懂,我现在的理解就是:这玩意儿采用的是客户端和服务器双向验证技术来防止市场上常见的抓包工具进行抓包。想知道详细的自行网上搜索吧。

其实此时我还并不确定这款App采用的就是SSL Pinning,但是至少有了点头绪了。于是接下来就是换工具进行抓包了。

网上搜索后发现有文章说:使用Xposed+JustTrustMe来突破SSL Pinning,比如这篇文章:https://bbs.pediy.com/thread-226435.htm、https://blog.csdn.net/hldh214/article/details/84310876。于是我又开始在电脑上的模拟中按教程操作,不得不说:不是所有的模拟器都是那么的好用,也不是所有的模拟器都向官方说的那么牛逼!

在挑选安卓模拟器的时候我又遇到了新坑,暂且不说在模拟器上安装Xposed+JustTrustMe会遇到一些失败的问题这个坑,就说你要抓包的这款app能不能在模拟器上运行吧!

夜神模拟器,大家都比较熟悉了吧,但此款App在最新版的夜神无法运行,一打开就提示:很抱歉,程序已停止运行!相信对于经常使用模拟器的玩家来说,这个弹窗非常熟悉了吧!什么改兼容版本、改cpu内核、改分辨率啥的全试过了,此款app还是不行!(有些app是可以的)最后放弃夜神模拟器。

再来说说网易推出的mumu模拟器,app可正常运行,在装Xposed+JustTrustMe时遇到了点问题最后解决了,但按文章说的证书操作时,我本地却无法安装Burp Suite自带的.der证书!即使是改名后从sd卡安装也不行,然后这款模拟器也放弃了。

接下来雷电模拟器失败、天天模拟器失败、逍遥模拟器竟然不卡壳一次性通过!此时我内心又开始激动了起来,于是又按照文章教程操作。很显然,Xposed+JustTrustMe并没有发挥出功效。有必要说明一下,网上也有说使用VirtualXposed可以免root抓包的,地址:https://xposed.appkg.com/2799.html,经测试,对此app无效!

接下来又搜索到了逆向神器Frida,然后打开命令行,一波操作猛如虎安装成功。接下来按照这篇文章:https://blog.csdn.net/xiaohua_de/article/details/80259920开始使用注入的方法了。然后我又在注入上面卡了几天。

最先开始是命令跑不起来,跑起来后发现模拟器不行,需要用真机环境!但真机需要root,当天我有点纠结。

次日,我也不管了,在网上下了个oppo a33相关的刷机包对手机进行了刷机。这也是我第一次亲手给手机刷机,刷机后开不了机,长按音量键和开机键也没反应,当时把我还吓坏了,心想:这手机该不会就这样变成板砖了吧,我这抓包还没成功呢你就先牺牲了......

又在网上搜索了下,后来长按了30来秒才开机,这时间可真长!本以为刷机后手机就已经root了,但这个刷机包把手机上预装了一堆软件,卸载都卸载不掉。于是接下来就是找root工具对手机进行root!先后试过了几款root工具,都没有成功,最后用刷机精灵成功root!别提我当时多兴奋了,在电脑上卸载了一堆刚对待预安装的软件。然后我把输入法也给卸载了,我以为这是第三方的。直到我打开app要输入内容时才发现:软键盘不见了!然后又是安装第三方软键盘,并没有用。于是进行了恢复出厂设置,再安装才有输入法。唉,我这都搞的啥事啊......

既然现在手机也已经root,那胜利就在眼前了!连上USB,命令行中一波命令跑起来,结果走到./frida-server这一步时,出现各种问题,先后经历了报错、无权限等好几波错误,最后一一解决。几经波折,终于把文章中的前8步都走完了,只剩下最后一步了!我又开始激动了起来,但第9步说要挂VPN,挂就挂呗!于是又给手机装VPN,装完了再看Brup Suite结果发现连拦截都不拦截了,直接不走这里!!!而且此时app里一直提示着:证书路径错误的提示。好吧,我承认这个frida我又不会玩......

在上面的步骤中,我已经开始向逆向沾边了,接下来就是用apk反编译工具。例如文章:https://blog.csdn.net/katrinawj/article/details/80016315 但是,即使我用dex2jar、jd-ui按照教程对app进行了脱壳得到了classes-dex2jar.jar文件,但我压根就不会安卓啊!接下来该怎么搞?我要怎么盘classes-dex2jar.jar?一脸迷茫......

差不多也是这个时候,之前在csdn上咨询的那个逆向大神用邮件回复我了。原来他已经搞定了!不得不说:大神就是大神,一出手效果立竿见影!此时,我已经佩服的五体投地!

后来,逆向大神又发来邮件并附带了一篇教程。按照大神的提示,我对几个版本的app进行逆向后也得到了原证书的密钥。话说,我这还是第一次折腾逆向。但此时正在阅读文章的看官应该能想到此时我的心理活动:现在密钥是有了,可我要怎么使用呢?......

虽然文章中附带有Charles配置SSL Proxying Settings的步骤,但我按照步骤操作后并没有实现预期效果。就这样,又瞎耗了一天时间。不得不说:不会英语真的很吃亏的!不会英语真的很吃亏的!不会英语真的很吃亏的!以后一定让我的孩子学好英语,不说做为主语吧,起码阅读无障碍就行。什么孩子?对象还没有呢!这真是一个悲伤的故事......

前面说了,虽然我拿到了证书的密钥,但是还是无法抓包,主要就是原因:
安装的app版本与证书密钥版本不符!!!虽然SSL Proxying和Client Certificates也要注意添加域名和证书,但这个并不是主要的原因,但对破解也非常重要!

废话这么多,最后在大神的指点下成功了,主要还是因为:使用此app某版本反编译后获取了该版本的密钥,然后用此密钥来解锁证书限制。说白了,还是要用原配的钥匙才能开锁!对于不知道密钥的app,我就不知道咋搞了,逆向这东西可真不是个简单的事情!

对于这7天的我来说,就像是捡到了失传已久的独孤九剑、九阳神功、降龙十八掌、乾坤大挪移等众多武林绝学,但可惜骨骼不惊奇没有练武天赋,浪费了这么多神器......

通过抓包工具抓包APP就连不上网的解决方案相关推荐

  1. App测试---Fiddler抓包工具手机添加代理后连不上网解决办法

    在App测试中遇到的问题:Fiddler抓包工具手机添加代理后连不上网 背景:需要测试接口返回值是否ok.因此使用Fiddler工具进行抓包,查看网络请求的返回值.安装Fiddler工具后,在进行Fi ...

  2. 解决某手短视频抓包工具抓不到问题

    解决某手短视频抓包工具抓不到问题 解决某手短视频抓包工具抓不到问题 代码python编写 抓包结果 解决某手短视频抓包工具抓不到问题 通过hook该app的okhttp请求发现,该app走的quic协 ...

  3. 使用Wireshark抓包工具抓取直播源

    介绍Wireshark Wireshark是一款世界范围最广.最好用的网络封包分析软件,功能强大,界面友好直观,操作起来非常方便.它的创始人是Gerald Combs,前身是Ethereal,作为开源 ...

  4. 计算机网络抓包设计,计算机网络实验利用wireshark抓包工具抓包

    计算机网络实验利用wireshark抓包工具抓包 计算机网络实验[利用wireshark抓包工具抓包] 一.实验名称 使用网络协议分析仪 Wireshark 二.实验目的 1.掌握安装和配置网络协议分 ...

  5. 【转】Fiddler抓包工具手机添加代理后连不上网解决办法

    转载:Fiddler抓包工具手机添加代理后连不上网解决办法_数据结构和算法的博客-CSDN博客 最近,在工作中需要测试一个监控网络请求的SDK,需要校验该SDK记录的耗时数据的准确性.根据网上大神们提 ...

  6. 几乎没有人知道的ArcGIS实用包工具!——包工具之GPK

    几乎没有人知道的ArcGIS实用包工具!--包工具之GPK 前言:"包"工具或者说"打包"工具集提供了一系列可以轻松组织数据.地图.地址定位器和地理处理工作流, ...

  7. Android 各种抓包工具抓包总结

    前言 这篇文章算是总结一下我之前抓包遇到的一些问题, 个人属性里带bug, 所以遇到的问题会比较多, 算是给大家提供一个抓包抓不到应该如何解决的思路. 工具介绍 Android中可用的抓包软件有fid ...

  8. 测试过程中如何分析抓包工具抓的HTTP或TCP包

    http://www.docin.com/p-101479451.html 工作中遇到C/S的通讯接口测试,经常会遇到由于请求的结构不对或者包发送错误,导致很多问题,通常需要通过抓包工具,把发送的包抓 ...

  9. 使用Fiddler抓包工具抓取服务器数据

    在正常开发中,应用总是要和服务器交互,其中不免要分析服务器返回的数据,以及测试接口,我们要借助抓跑工具类帮助.所谓抓包工具,其实就是一个代理, 正常我们访问服务器是直接访问,使用代理后,就是通过代理去 ...

  10. Day1使用Burpsuite抓包工具抓包,改变UA头使得手机和pc端界面互相转换

    1.前期工作:安装Burpsuite工具这里网上有许多教程,大致步骤如下: 找到安装包然后解压缩,然后双击 安装jdk,然后就是配置环境变量,如果是默认jdk安装路径没有更改路径的话就是跟如下一样 配 ...

最新文章

  1. Blender写实建筑场景制作学习教程 Exterior Visualization in Blender 2.9
  2. 国内外有哪些漏洞信息发布平台?
  3. 机器人流程自动化崛起,中国是否准备好迎接智能自动化时代?
  4. /lib64/libc.so.6 is not a symbolic link 解决方法
  5. 基于代数距离的椭圆拟合
  6. 优信php笔试题_PHP应聘笔试题
  7. 上周热点回顾(4.14-4.20)
  8. mysql5.5.17源代码安装
  9. 【Ubuntu版】CMake安装教程
  10. 雨课堂卷子提前看_雨课堂提前看试卷
  11. 向日葵远程控制工具安装
  12. Python办公自动化入门-Excel合并同类项内容
  13. endless walk
  14. 41.朴素贝叶斯Naive Bayes公式推导与理解+求解公园凉鞋问题(借助文氏图)
  15. 报错:CMake Error at /usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake:48 (message):
  16. Html网站页面实现黑白效果
  17. pta 7-10 古风排版 (20 分)
  18. Windows配置环境变量
  19. 虚幻4和Unity3D应该学哪个? 1
  20. 量化交易创干货合集送给每一位爱学的宽客qun

热门文章

  1. Windows 98 下载
  2. 很多的Adobe Dreamweaver CS5序列号
  3. 8086汇编语言程序设计典型题目
  4. Virtualbox安装Debian 安装VBoxGuestAdditions增强工具
  5. QT on Android的rtsp播放器demo
  6. 群色散 matlab,科学网—MATLAB软件绘制一维双原子晶格的格波色散曲线 - 李金磊的博文...
  7. 微猫恋爱撩妹术V2 4.1.0-多开版
  8. java完全自学手册(java完全自学手册pdf洪维恩)
  9. 笔记《Hbase 权威指南》
  10. 删除百度网盘“我的应用数据”文件夹