作者:empty 出版社:empty |
通俗一点讲, Frida是为Native应用开发出来的一把瑞士军刀。从技术的角度讲, Frida是一个动态代码执行工具包, 通过Frda你可以把一段JavaScript注入到一个进程中去, 或者把一个动态库加载到另一个进程中去, 并且Frida是跨平台的, 也就是说, 你可以对Windows, macOSGNU/Linux, iOS, Android以及QNX系统上的进程进行上述操作。·为了使用方便, Frida工具包在基于自身API的基础上也提供了一些简单的小工具, 你可以根据自己的需求直接拿来使用, 或者可以作为你后续进行Frida脚本开发的参考示例。
Frida能干啥呢?·这个问题很实际,我们来看几个实际的使用场景你就大致明白了:*如你开发了一个桌面应用并己经部署到用户那里,现在用户反馈过来一个问题,但是你发现你打的日志信息又不足以定位月题,那你只能说再加一些日志,然后再+你逐可以使用Frida给Wire Shark快速的做一个经过加密的协议探器, 更进一步, 为了满足你的实验需求, 你其至可以上动发起函数调用来模拟不同的网络状春,·如果你有一个内部App需要做黑盒测试, 如果你用Frida的话。你就可以用完全不侵染原有业务逻辑的基础上进行测试。尤其在进行逻辑异常流程测试的时候。效果根好.为什么Frida使用Python提供API, 又用JavaScript来调试程序逻辑呢?·Frida核心引擎是用C写的, 并且集成了google的JavaScript引擎V 8, 把包含了V 8的代码注入到目标进程之后, 通过一个专门的信息通道, 目标进。假如说现在市面上出了很火的App, 目前只有IOS版本的, 现在假如你对这个App比较感兴趣想了解下大致的实现逻辑.通过W re Shark这样的抓包工具发现, 网络协议是加密的, 看不到有效的信息, 这个抓包的办法就不行了。这个时候, 你就可以考虑用Frida进行API跟踪的方式来达到你的目的。程就可以和这个注入进来的JavaScript引擎进行通信了, 这样通过JavaScript代码就可以在目标进程中做很多事情了, 比如:内存访问、函数Hook甚至调用目标进程中的原生函数都可以·通过Python和JS代码, 你可以快速的开发出无风险的Frida脚本, 因为如果你的JS代码里面错误或者异常的话, Frida都会给你捕获到, 不会让目标进程Crash的, 所以叫无风险.·如果你非得不想使用Python进行开发, 你也可以直接用C进行开发, 并且Frida还提供了Node.js、Swit、.net、Qml等语言的接封装。建议、提醒·这里提供了一些建议、提醒的信息链接,抽空可以去看看·具体信息请参考(https:/www.rida.re/docs/home/)最下面,我就不贴图了。