栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

安装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.versionttt", Frida.version);
    console.log("Frida.heapSizettt", Frida.heapSize);
    console.log("ProcessIdttt", Process.id);
    console.log("ProcessArchttt", Process.arch);
    console.log("ProcessPlatformttt", Process.platform);
    console.log("ProcessIsDebuggerAttachedt", Process.isDebuggerAttached());
    console.log("ProcessPointerSizett", Process.pointerSize);
    console.log("ProcessCodeSigningPolicyt", 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 .jsindex.js

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号