【原创】vscode+Frida开发环境搭建

12 篇文章 0 订阅
11 篇文章 3 订阅

安装vscode + typescript开发环境

请参考《vscode编写typescript自动编译以及名称冲突问题

安装python环境

https://www.python.org/

在安装时,勾选将python添加到路径
安装完毕时,点击“Disable path length limit”

设置python源

国内python源,任意一个都可以:

  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 华中理工大学:http://pypi.hustunique.com/
  • 山东理工大学:http://pypi.sdutlinux.org/
  • 豆瓣:http://pypi.douban.com/simple/

在vs中按ctrl+`(ESC下面的那个键),打开内置终端,在里面输入

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装Frida支持组件

pip install --upgrade pip
pip install frida-tools

Frida测试

启动PC微信,在vscode内置终端中输入

frida-trace -i "recv*" -i "read*" wechat.exe

点击微信界面,如果有数据发送和接收,将在终端中输出相关信息。
按Ctrl+C 退出

可修改__handlers__文件夹下的 js文件(如WS2_32.dll/recv.js),进一步解析数据。
修改js文件后,即使生效,无需重启rida-trace。

如:将log换为

log("recvfrom(socket=" + args[0].toInt32()
    + ", buffer=" + args[1]
    + ", length=" + args[2].toInt32()
    + ", flags=" + args[3]
    + ", address=" + args[4]
    + ", address_len=" + args[5].readPointer().toInt32()
    + ")");

安装基于typescript的Frida支持库

npm install @types/frida-gum
npm install @types/node 
npm install frida-compile

编写ts代码

文件名:index.ts

function frida_info() {
    console.log("======================", new Date().toISOString(), "==========================");

    console.log("Frida.version\t\t\t", Frida.version);
    console.log("Frida.heapSize\t\t\t", Frida.heapSize);
    console.log("ProcessId\t\t\t", Process.id);
    console.log("ProcessArch\t\t\t", Process.arch);
    console.log("ProcessPlatform\t\t\t", Process.platform);
    console.log("ProcessIsDebuggerAttached\t", Process.isDebuggerAttached());
    console.log("ProcessPointerSize\t\t", Process.pointerSize);
    console.log("ProcessCodeSigningPolicy\t", Process.codeSigningPolicy);
    let modules = Process.enumerateModules();
    for (const module of modules) {
        console.log(module.base, module.size, "\t", module.path);
    }
}
frida_info(); 

执行Frida

Frida需要执行ts文件和js文件。

在一些特殊的语法下,ts会执行失败,换为js则可正常执行。

frida wechat.exe -l index.ts
//上面指令执行过程中有错的话,或者执行如下指令
frida wechat.exe -l .\js\index.js

同样,可以在编写代码的同时,自动重新加载和运行代码

视频讲座,请参考《Frida快速入门》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赵庆明老师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值