Frida学习笔记

1. 下载frida的服务端https://github.com/frida/frida/releases

Frida hook笔记

2.解压出来后,使用adb命令上传至手机的/data/local/tmp目录下,并修改名称,防止反frida检测

adb push frida-server /data/local/tmp/

adb shell

chmod 777 frida-server

./frida-server

 3.打开PyCharm然后安装python的Frida模块,首先创建项目,然后选择2.7的版本

Frida hook笔记

创建完项目后,打开设置 

Frida hook笔记 

点击添加模块 

Frida hook笔记 

选中后进行安装 

Frida hook笔记 

安装frida模块

Frida hook笔记 

安装完成后会在python 目录下的 scripts 文件夹中释放 frida 的工具包

Frida hook笔记

4.工具包的使用

按照第2步中的命令,运行完之后,在PC端开启cmd命令进行测试

Frida hook笔记 

Frida hook笔记

执行服务端

Frida hook笔记

转发端口

Frida hook笔记

 执行命令

Frida hook笔记

5.python API使用

# -*- coding:utf-8 -*-
#测试python frida api
import frida,sys
#  获取远程设备
rdev = frida.get_remote_device();
print rdev
#  遍历进程
processes = rdev.enumerate_processes();
for process in processes:
    print process

Frida hook笔记

6.使用例子

分析 fridasample.apk

包名:com.example.y0n.fridasample

类名:com.example.y0n.fridasample.MainActivity

方法:add

参数:int,int

返回值:int

创建hook项目,创建py脚本文件和js脚本文件,编写代码

方式一:直接在python中将js脚本作为字符串传入,代码如下:

# -*- coding:utf-8 -*-
#方式一,将js作为字符串传入
import frida,sys
#  获取远程设备
rdev = frida.get_remote_device();
#  附加进程
hooked_process = rdev.attach("com.example.y0n.fridasample");
#  创建一个 js 脚本
jscode = """
Java.perform(function (v) {
// get hook Class
var MainActivity =
Java.use('com.example.y0n.fridasample.MainActivity');
// hook Method
MainActivity.add.implementation = function (v) {
return true;
};
});
"""
#  创建脚本对象
script = hooked_process.create_script(jscode);
#  加载脚本
script.load();
sys.stdin.read();

hook前后效果截图,

Frida hook笔记 Frida hook笔记

 

相关文章: