假如说现在市面上出了很火的App, 目前只有 iOS版本的, 现在假如你对这个App比较感兴趣想了解下大致的实现逻辑。 通过WireShark这样的抓包工具发现, 网络协议是加密的, 看不到有效的信息,这个抓包的办法就不行了。这个时候,你就可以考虑用Frida进行 API 跟踪的方式来达到你的目的。
假如你开发了一个桌面应用并且已经部署到用户那里,现在用户反馈过来一个问题,但是你发现你打的日志信息又不足以定位问题, 那你只能说再加一些日志,然后再给用户单独发一个版本来定位问题,这个是传统的问题定位方式。但是如果考虑用Frida的话,那问题定位就简单多了,使用Frida你可以只需要几行脚本就可以随意加入你想要的问题诊断逻辑,而不需要再给用户单独发一个问题定位版本。
你还可以使用Frida给WireShark快速的做一个经过加密的协议嗅探器,更进一步,为了满足你的实验需求,你甚至可以主动发起函数调用来模拟不同的网络状态。
如果你有一个内部App需要做黑盒测试,如果你用Frida的话,你就可以用完全不侵染原有业务逻辑的基础上进行测试,尤其在进行逻辑异常流程测试的时候,效果很好。