【Frida】04_Frida中使用TypeScript脚本(采坑)

🛫 系列文章导航

🛫 导读

需求

TypeScript目前是主流,方面模块管理frida代码。
而且这也是frida官网推荐的模式,这样会给你带来更多优势,如:代码完成度更高、类型检查、内联文档、重构工具
在这里插入图片描述

ps: 合并文件的形式也可以实现模块划分,但是总感觉有点非主流,而且没有代码提示等功能。

开发环境

版本号描述
文章日期2024-03-17
操作系统Win11 - 22H222621.2715
node -vv20.10.0
npm -v10.2.3
yarn -v3.1.1
frida-compile10.2.1高版本各种异常
扫雷程序下载地址https://download.csdn.net/download/kinghzking/88979919
课程源码https://gitcode.net/kinghzking/MyOpen所在目录:/course/frida

演示目标

winmine.exe (windows xp系统附带的扫雷游戏)

  • 软件版本:5.1.2600.0

  • 软件大小:117 KB (119,808 字节)

1️⃣ 操作步骤

安装node 20.10.0

参考文章《【nvm】【node多版本管理工具】使用说明和踩坑(exit status 1) https://blog.csdn.net/kinghzking/article/details/126186648

在 VSCode 中打开项目目录

在这里插入图片描述

初始化一个 NodeJS 项目

在终端中运行以下命令:

npm init -y

安装 TypeScript

在终端中运行以下命令:

npm install typescript --save-dev

初始化 TypeScript 项目

在终端中运行以下命令:

npx tsc --init

安装依赖

安装node、frida-gum的类型声明库;安装frida-compile

npm install @types/node @types/frida-gum frida-compile@10.2.1 --save-dev

配置 TypeScript

你基本上希望你的tsconfig.json看起来像我的。 或者,有一种更紧凑的方法来实现相同的目的,只需复制粘贴以下内容:

{
  "compilerOptions": {
    "target": "es2020",
    "lib": ["es2020"],
    "allowJs": true,
    "noEmit": true,
    "strict": true,
    "esModuleInterop": true
  }
}

编写代码

创建一个名为src的目录,并在里面创建一个名为index.ts的文件。文件内容如下:

// Startup
const version = "v3.8.6"
console.log(`Launching script ${version} on FRIDA ${Frida.version}`)

// Check your environment is ready
if(Java.available){
    setTimeout(function (){
        // Execute FRIDA code here
        Java.perform(function (){
            // FRIDA code here
        });
    }, 0);
}

编译设置

package.json内容做如下调整:

  • 修改入口文件
  • 增加运行项:build、watch
    在这里插入图片描述

编译脚本

执行命令npm run build,我们将获得如下文件
在这里插入图片描述

ps: 执行命令npm run watch,将监视原有文件变化,并立刻自动编译新的index.js文件。

运行,查看结果

我们以windows环境下的扫雷程(winmine.exe)序为例:
启动扫雷,执行命令D:\Python\Python371\Scripts\frida.exe -n winmine.exe -l index.js
将显示出Launching script v3.8.6 on FRIDA 15.0.18信息,表示运行成功。
在这里插入图片描述

2️⃣ 采坑

frida-compile版本问题

小编使用官网文档提示的github代码,直接运行,生成下图所示的文件内容(各种乱码)。一开始以为是node版本问题,切换了三四个版本的node,依然各种报错。
在这里插入图片描述

后来灵机一动,修改frida-compile版本10.2.1,然后就可以正常运行了!!!

📖 参考资料

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

  • 31
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜猫逐梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值