以新手视角记frida-il2cpp-bridge的安装及使用

本文详细描述了Frida-il2cpp-Bridge的安装过程,包括前置环境配置、两种使用方法(直接编译和frida-compile),并提醒读者注意中文路径问题和il2cpp内存dump与函数追踪的特定用法。
摘要由CSDN通过智能技术生成

对于这个工具的安装以及使用的教程较少,省略了很多细节,有的也不太详细,踩了很多的坑,所以我想在这里详细的说一说。把我遇到的问题给大家排排雷。

首先是安装:

1.安装前置环境

首先需要下载node.js,因为这个工具需要使用npm的工具来安装。只能使用typescript来编写。但是这里不熟悉typescript不用慌,语法还是不复杂的。

下载node.js我就不说了。下载完之后使用cmd

输入下列命令检查是否下载完成

npm -v
node -v

需要下载typescript

npm install -g typescript
//检查typescript是否安装完成
tsc --version

2.两种使用方法

接下来frida-il2cpp-bridge有两种使用的方法,两种我都详细的说一下

2.1直接编译

直接在github上下载源码。

之后在cmd里, 把目录cd到源码的目录上,之后tsc -w 。会报错,但是在dist文件夹内已经有了index.js

之后frida -l index.js

-U是注入android程序 -p是注入windows里的进程

任务管理器可以看到对应的进程号

就可以直接使用了,注意这里要先打开程序,之后再注入。这样子注入的话只能在命令行里编写代码。

这种方法无法编译index.ts文件,也就是想hook一些函数比较麻烦,只能在命令行里一句一句的输入,用来追踪一些函数比较方便。

接下来讲下第二种,比较通用

2.2 使用frida-compile编译

首先找一个空的文件夹,使用cmd到这个目录下,之后

之后新建一个index.ts文件,空的也行

在npm frida之后会出现package.json文件,修改package.json


  "main": "index.ts",
  "scripts": {
    "prepare": "npm run build",
    "watch": "frida-compile index.ts -w -o hook.js"
  },
  "dependencies": {
    "frida-il2cpp-bridge": "^0.8.5"
  }
}

打开vscode,在打开terminal,使用npm run watch。

就可以编译出hook.js文件,之后你在index.ts里写代码,按ctrl+s就会自动编译出新的hook.js

此时在利用这个hook.js注入你想注入的程序里,即可。

这里要特别注意,你的路径名不能带中文,不然会出问题!!!

il2cpp可以dump内存,可以追踪函数,写法和普通的frida不同,研究了一下,我想hook某个函数时,想设置某个值一直不成功。也等后面再研究一下了。

用法

常用的dump文件的命令就是,之后会生成一个cs文件,包含了用的unity的函数以及各种作者自己写的函数

import "frida-il2cpp-bridge"
Il2Cpp.perform(() => {
    
    Il2Cpp.dump();
 
});

追踪某个类

Il2Cpp.perform(() => {
    const SysString = Il2Cpp.corlib.class("System.String");
    Il2Cpp.trace(true).classes(SysString).and().attach();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_48067850

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值