前言:随着人们安全意识越来越加强,很多开发者逐渐开始加shell也就是壳,所以脱壳/砸壳还是很有必要会的。
1.Frida是什么
Frida是一款易用的跨平Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种 动态 的插桩工具;
静态二进制插桩:在程序执行前插入额外的代码和数据,生成一个永久改变的可执行文件;
动态二进制插桩:在程序运行时实时地插入额外代码和数据,对可执行文件没有任何永久改变;
可以插入代码到原生App 的内存空间中,动态的去监视和修改行为;
原生平台包括Win、Mac、Linux、Android、iOS 全平台;
1、使用frida可以获取进程的信息(模块列表,线程列表,库导出函数);
2、可以拦截指定函数和调用指定函数,可以注入代码;
3、Frida的主要工作方式是将脚本注入到目标新的进程中,而且在执行过程中可以实时看到其中的变化;
2.Frida原理(建议了解一下,否则后续的安装会有些懵c)
frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上
1、模拟器端/手机端安装一个frida-server程序
2、启动模拟器端/手机端的frida-server服务,然后把手机端的端口转发到PC端,
3、PC端编写python脚本进行通信,python脚本中需要hook的代码采用javascript语言。
二、Frida下载
注意:需要与模拟器端/手机端的版本相同,否则会出错