阅读这篇文章,不仅能了解frida是什么,还能知道如何搭建Frida运行换以及学会用frida进行简单的java/native hook实战。
Xposed大家不陌生,在手机上运行的Hook框架,Xposed插件编写完成并在手机上通过hook框架加载,打开指定应用就能实现代码注入,也就是说Xposed插件的代码是编写在手机上的,每次运行都需要更新Xposed上的插件并重启应用,否则hook不会生效。
在Xposed插件代码测试中,我们会写很多测试代码,一次验证我们找的hook点是否正确,最终我们会写很多的测试代码,每次修改测试代码都要这么运行一遍,这看起来挺繁琐的,而且在测试的时候我们希望某些方法能够主动调用,而不是等程序触发。有没有什么办法改善呢?Frida就应用而生了。
技术介绍及原理
据官网介绍,Frida是面向开发人员、逆向工程师和安全研究人员的动态插桩工具包。何为动态插桩呢?
代码插桩技术
插桩技术是指将额外的代码注入程序中以收集运行时的信息,可分为两种:
-
源代码插桩[Source Code Instrumentation(SCI)]:顾名