飞书是字节跳动开发的一个款即时通讯软件
不同与微信和钉钉,飞书是基于Electron的跨平台桌面客户端(主要开发语言是JavaScript),程序运行在chrom内核中,所以HOOK方案不好使
针对Electron 框架,打包后的应用会将JS混淆后保存在应用中,那么就可以通过debug JS
找到目标点,然后修改JS就行了
1.安装飞书
2.打开JS根目录(在这个目录就可以看到JS代码)
3.关键词搜索(receivePushMessage 接受推送过来的消息)
4.DEBUG 可以发现接受过来的消息体是 使用Protobuf结构 ,(这个需要原始结构才能解析)
5.消息体分为3层 (需要逐级解析)
1)系统层 (框架层)
2)消息体 (发送了什么类型的消息,谁发送过来的,发给谁的等等一系列信息)
3)内容体 (具体的发送内容,有10多种消息类型,我们主要处理文本消息和图片消息就满足需求了)
6. 解析完消息,就可以把消息交给给其他进程处理。
7.通过其他webhook 机器人发送其他群中,实现消息同步。
源代码我上传到了github,欢迎迭代更新