首页
论坛
专栏
课程

[原创][分享]Frida环境搭建 - windows (给IDE提供智能感知/提示)

2019-8-23 21:19 2175

[原创][分享]Frida环境搭建 - windows (给IDE提供智能感知/提示)

2019-8-23 21:19
2175

Frida环境搭建 - windows (给IDE提供智能感知/提示)

前言

这个笔记写了有一段时间了, 闲来无事搜了一下相关的帖子, 好像没有相关主题,
故把粗浅的笔记放出来, 留待大家互相映证,(目前我这边偏向于服务 Win32 相关)

 

图片描述

官网

https://www.frida.re 官方文档
https://github.com/frida/frida 官方开源项目
 

图片描述

在安装Frida时, 官方给了两种方式,

  1. python-pip 进行frida安装
  2. 自行Clone Frida的git仓库,自行编译

笔者python安装成功, 暂未尝试自行编译


笔者个人环境:

环境 版本 备注
Windows win7_X64
python 3.7.3
Frida 12.4.8
Frida-tools 1.3.2
Pycharm 2018.02.04 JS/Python的IDE
VsCode 1.33.1

解决JS弱类型, IDE无法给予智能提示

从官方下载API类型定义 : https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts
路径: frida/frida-gum/[master]/bindings/gumjs/types/frida-gum/frida-gum.d.ts
图片描述

然后在IDE中基于 .ts 类型定义, ~~使用智能提示, 在JS文件首部使用 ///<reference path='./Frida_git/frida-gum.d.ts' />, ~~
后来发现, 好像是放在目录下就生效
图片描述


解决思路:

这一块主要是记录一下当时解决这个问题的思路, 可不看

1. 查找用于提示的文档文件

既然官方, 生成了JS的API文档, 而在Git主项目中,找不到JS文件.
在一般情况下, 为了维护方便, 文档都是工具自动生成,
那么肯定有相关的用于生成文档的 源文件Frida这个组织中寻找JS-API
文档中的函数:Module.findBaseAddress(name)
搜索命令: org:frida findBaseAddress
图片描述

然后发现https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts这个文件,
基本涵盖了所有的API 并且文档齐备
路径: frida/frida-gum/[master]/bindings/gumjs/types/frida-gum/frida-gum.d.ts
图片描述

然后就得看这个ts文件怎么用在IDE中了

2. 如何在IDE中使用文档文件

地址: https://segmentfault.com/q/1010000009337455

 

得到一条可以引用ts的命令: ///<reference path='./Frida_git/frida-gum.d.ts' />


可能问题

Q: 运行 Frida 命令行工具时, 会出现导入DLL失败<br />A: 更新python3的版本, 安装python3.7以上
在安装时, 查询得到两个消息:

  1. frida在12版本时, 进行了frida和frida-tools拆分, (https://bbs.pediy.com/thread-230138.htm 12以上的版本 拆分工具)
  2. frida最新版使用的是python3.7进行编译, 会出现导入失败状况
  3. 或者使用 (pip install frida==11.0.13) 这条命令, 使用frida11版本


[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-8-24 18:41 被红金龙e晓楼编辑 ,原因:
最新回复 (13)
猫子 2019-8-24 12:44
2
0
学习了,感谢大佬分享
KevinsBobo 4 2019-8-24 14:07
3
0
楼主,图片挂了,麻烦重新编辑下,编辑模式支持直接复制粘贴图片
红金龙e晓楼 2019-8-24 18:26
4
0
KevinsBobo 楼主,图片挂了,麻烦重新编辑下,编辑模式支持直接复制粘贴图片
修了
最后于 2019-8-24 18:39 被红金龙e晓楼编辑 ,原因:
superxiaohei 2019-8-26 10:33
5
0
https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts  连接失效了 
要怎么搞 能帮帮忙嘛 两天了 ....
最后于 2019-8-26 10:33 被superxiaohei编辑 ,原因: 打错字
葫芦娃 1 2019-8-26 11:23
6
0
frida-gum.d.ts已经被大胡子删掉了,他现在不赞成使用这种方式。
目前最新正确的Frida环境搭建方法:
1. git clone https://github.com/oleavr/frida-agent-example
2. npm install
3. 使用PyCharm等IDE打开此工程,在agent下编写typescript,会有智能提示。
4. npm run watch会监控代码修改自动编译生成js文件
5. python脚本或cli加载_agent.js。
最后于 2019-8-26 11:25 被葫芦娃编辑 ,原因:
猫子 2019-8-27 11:18
7
0
superxiaohei https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts&nbs ...
这个吗
上传的附件:
roysue 3 2019-8-27 15:10
8
0
葫芦娃 frida-gum.d.ts已经被大胡子删掉了,他现在不赞成使用这种方式。目前最新正确的Frida环境搭建方法:1.&nbsp;git&nbsp;clone&nbsp;http ...
我就用,你管不着
红金龙e晓楼 2019-8-27 17:22
9
0
roysue 我就用,你管不着
任性
红金龙e晓楼 2019-8-27 17:34
10
0
superxiaohei https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts&nbs ...
怪我, 这个笔记写的有段时间了, 在发的时候没有检查这个文件是否还存在,  长期使用 请参考 #6 楼, 如果仅现在使用 请参考 #7 楼
最后于 2019-8-27 17:35 被红金龙e晓楼编辑 ,原因:
红金龙e晓楼 2019-8-27 17:39
11
0
superxiaohei https://github.com/frida/frida-gum/blob/master/bindings/gumjs/types/frida-gum/frida-gum.d.ts&nbs ...
这个好像是最后一版, https://github.com/frida/frida-gum/blob/6e36eebe1aad51c37329242cf07ac169fc4a62c4/bindings/gumjs/types/frida-gum/frida-gum.d.ts  

然后跟那哥们说的一样, 在后续的更新中 移除这玩意了  




最后于 2019-8-27 17:50 被红金龙e晓楼编辑 ,原因:
红金龙e晓楼 2019-8-28 11:30
12
0
猫子 学习了,感谢大佬分享
大佬谬赞了,  初入门的小学生一枚
superxiaohei 2019-9-7 18:03
13
0
猫子 这个吗
thanks
superxiaohei 2019-9-7 18:04
14
0
葫芦娃 frida-gum.d.ts已经被大胡子删掉了,他现在不赞成使用这种方式。目前最新正确的Frida环境搭建方法:1.&nbsp;git&nbsp;clone&nbsp;http ...
学习了
游客
登录 | 注册 方可回帖
返回