当年微信跳一跳刚出来时,有使用过 Charles 抓取微信 HTTPS 包直接更改分数的同学一定对这款工具印象深刻。但 Charles 是个收费的闭源软件,另一款 Fiddler HTTPS 分析工具也无从获取源代码。我在使用 ptrace 之后,发现可以将之前实现的重定向工具 graftcp 工作原理应用于 HTTPS 监控及明文分析方面。下面简单说下想法:
拿到得到的明文数据就可以各种分析了。如果要实时查看通信过程,开启 wireshark, 在本地再开一个服务,中间工具实时地把明文转发给它,这样 wireshark 就能监控到这个明文的传输过程了。
这种做法相对于 Charles 监控整个端口所有流量的做法,有个好处:完全不影响其他程序的流量,仅仅被监控的应用程序受到影响。
另外,ptrace 的应用还有许多,比如实现个沙盒系统、通过监控 brk 分析程序的大概堆内存(可能不太现实)。
有时间的话,可能会开个新坑做下概念验证吧...
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.