Frida入门教程-安装的正确姿势以及源代码例子hook Unity类

发布于:2023-01-29 ⋅ 阅读:(2467) ⋅ 点赞:(2)

Frida是一套面向开发人员、逆向工程师和安全研究人员的动态检测工具包。适用于 Windows、macOS、GNU/Linux、iOS、Android 和 QNX。

我主要用在Android上,本文以调试安卓为例子。

1、下载 python3.7

​​​​​​https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64.exe
 

2、执行python命令安装frida工具集

python3.7

pip3 -V 
python -m pip install --upgrade pip

pip install wheel
pip install frida
pip install frida-tools

Successfully built frida
Installing collected packages: frida
Successfully installed frida-15.1.17

3、查看frida版本

frida --version
15.1.17

4、下载对应的frida版本15.1.17的安卓arm包

https://github.com/frida/frida/releases


https://github.com/frida/frida/releases/download/15.1.17/frida-server-15.1.17-android-arm.xz
https://github.com/frida/frida/releases/download/15.1.17/frida-server-15.1.17-android-arm64.xz

5、frida测试代码框架,主文件hook.py

import frida,sys

# 获取模拟器或者手机上已连接的设备
device = frida.get_remote_device()
#print(device)


# 获取device上的所有app
#applications = device.enumerate_applications()


#for application in applications:
#   print(application)

   
# 附加到应用  com.target.demo

session = device.attach("demo")


jsScript = """

    console.log('this is inject javascript code')

"""

# 加载Javascript代码

#script = session.create_script(jsScript)

#file = open("hook.js",mode='r',encoding='UTF-8')
#jsScript = file.read()


# 加载Javascript代码
script = session.create_script(jsScript)


# 执行

script.load()


6、hook.py加载外部的hook.js

// 程序入口

Java.perform(function() 
{
    // 获取类
    var clazz = Java.use("com.unity3d.player.UnityPlayerActivity");
    // 获取类中所有函数
    var methods = clazz.class.getDeclaredMethods();

    console.log("have method count:"+methods.length);
	var i=0
    if(methods.length > 0){
        //遍历函数名
        methods.forEach(function(method){
			i = i+1
            console.log(i+":"+method);
        });
    }

});

7、执行命令

adb forward tcp:27042 tcp:27042

adb forward tcp:27043 tcp:27043

python hook.py


网站公告

今日签到

点亮在社区的每一天
去签到