encoderlee 发表于 2019-5-30 12:02

Android抓包指南②: DevTools+WebViewDebugHook调试第三方应用的WebView

本帖最后由 encoderlee 于 2019-6-16 13:51 编辑


本文是原创文章,转自本人博客,为新手学习Android逆向过程中的心得总结,文章内容为初级知识,高手勿喷

### DevTools
[《Android抓包指南①: 使用Fiddler抓HTTP/HTTPS包》](https://blog.csdn.net/CharlesSimonyi/article/details/90493122)

上一章,我们使用Fiddler对应用抓HTTP/HTTPS包,并且解决了Android7.0及以上的抓不到包的问题。
本章,我们借助DevTools,同样可以实现对第三方应用内嵌的WebView与服务端的HTTP/HTTPS通信进行抓包分析,还可以调试页面Javascript,多种手段多管齐下,助力对第三方应用的逆向分析。

DevTools 原本的用途,是Google提供给Android开发者的一个调试工具,用于调试自己开发的APP内嵌的WebView中的内容,具体用法可以参考Google官方文档:
(https://developers.google.com/web/tools/chrome-devtools/remote-debugging/)
(https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews)

将手机与电脑通过USB线连接,打开手机的USB调试功能,然后在电脑上打开Chrome浏览器,在地址栏输入

chrome://inspect

就可以看到连接的Android手机和打开的WebView页面,点击 就可以打开调试大门。

和Chrome调试普通WEB页面没有什么太大区别,点击[刷新]就可以看到所有HTTP/HTTPS请求内容。除了可以实现抓包效果,还可以进一步分析它的AJAX请求是怎么构造的请求参数,从而自行编码模拟发送请求,从而实现一些 Interesting 的自动化效果,嘿嘿嘿。。。
### WebViewDebugHook
但是这个调试方法有一个前提,就是APP自身必须调用WebView.setWebContentsDebuggingEnabled(true); 才会允许被DevTools调试,毕竟这是一个给开发者在开发阶段调试自身应用的功能,而不是提供给你窥探别人APP内容的工具,出于安全考虑,当然不可能随便调试别人的应用。但是,还记得我们之前在[《Windows抓包指南①:Proxifier+Fiddler对第三方程序强制抓包》](https://blog.csdn.net/CharlesSimonyi/article/details/90383486)中说的吗?

有条件要上,没有条件创造条件也要上!

Root手机,安装Xposed框架,使用WebViewDebugHook模块干它

WebViewDebugHook项目源代码:(https://github.com/feix760/WebViewDebugHook)

其实也可以自行编写Xposed模块,这里毕竟很简单,只需要在目标APP进程中调用静态方法 WebView.setWebContentsDebuggingEnabled(true); 就打开了调试大门。当然,使用WebViewDebugHook的理由是懒惰,拿来就用。同时WebViewDebugHook针对腾讯的部分加壳做了处理,可用性更高。
### Root和Xposed的重要性
最后,不得不说,Root和Xposed框架对Android应用逆向分析人员来说是非常重要的,强烈推荐Google亲儿子手机Nexus/Pixel等,方便Root,方便安装Xposed,甚至还可以自行编译Android AOSP烧写,想怎么改就怎么改,操作系统都在你的掌控之中,何况是跑在上面的应用呢。只要修改了系统API,想给程序返回什么结果,就返回什么结果,就算你APP检测Xposed都没用,你检测不到的,因为我根本没有安装Xposed,仅仅是修改了操作系统源代码而已。玩弄APP于股掌之间。
### Let's Go
最后晒一下我购入的Google亲儿子,老一代的Pixel,几百元而已,爱不释手:




本文由encoderlee发表于CSDN博客: (https://blog.csdn.net/CharlesSimonyi/article/details/90518367) 转载请注明出处

encoderlee 发表于 2019-5-31 00:07

本帖最后由 encoderlee 于 2019-5-31 00:13 编辑

kaka233 发表于 2019-5-30 15:53
想问下作者的新入的手机,用着怎么样?推荐购买吗?在哪买的,也想搞一部做开发用
https://item.taobao.com/item.htm?id=566060434393
我是在这家店买的,【创想数码手机城】
全新带包装配件的900元,套餐二,9层新480元,让卖家给挑一台成色好的
没事的,不满意可以7天无理由退货

照片中的pixel xl我买的是全新的,所以带全套包装,不过后来我又买了一部9层新的pixel,只有机身和数据线,但是成色很新。
并不推荐买全新的,后来我都后悔了,浪费钱

encoderlee 发表于 2019-5-30 19:34

kaka233 发表于 2019-5-30 15:53
想问下作者的新入的手机,用着怎么样?推荐购买吗?在哪买的,也想搞一部做开发用

淘宝有卖,google系列的手机,nexus 6p / pixel /pixel xl等都是便宜的机型,大多是二手的,四五百元,也有几乎全新的,稍微贵点

mosou 发表于 2019-5-30 12:20

厉害,用模拟器抓包不推荐吗

8taizi 发表于 2019-5-30 12:32

Pixel 怎么样做刷机包,给个教程吧

susi248 发表于 2019-5-30 12:58

不错,支持一下 谢谢分享

willgoon 发表于 2019-5-30 13:09

好文章 谢谢分享 收藏了

coziness 发表于 2019-5-30 13:20

不错,支持一下 谢谢分享

kaka233 发表于 2019-5-30 15:53

想问下作者的新入的手机,用着怎么样?推荐购买吗?在哪买的,也想搞一部做开发用

小夫哥 发表于 2019-5-30 19:07

呵呵,技术不错。。。。

encoderlee 发表于 2019-5-30 19:32

mosou 发表于 2019-5-30 12:20
厉害,用模拟器抓包不推荐吗

用模拟器更方便,但是有的APP会检测模拟器,在模拟器上不允许运行,虽然也有各种办法解决,但有时候为了节省时间,直接使用真机了
页: [1] 2 3
查看完整版本: Android抓包指南②: DevTools+WebViewDebugHook调试第三方应用的WebView