Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

是否可以添加一个贴吧群聊获取/发表内容的接口? #232

Open
BellWangde opened this issue Sep 24, 2024 · 22 comments
Open
Labels
enhancement New feature or request

Comments

@BellWangde
Copy link

我需要什么功能

在吧内群聊获取/发表内容

我想将这个功能应用于何种场景

同上

@lumina37
Copy link
Owner

好像跟私信不是同一套,我也没什么逆向思路

@adk23333
Copy link

我有个临时解决方案
可以用autojs监听贴吧群聊界面消息刷新,然后可以自动输入消息并点击发送的脚本
还要实现一个接收待发送消息的api

这样侵入性很低,性能也低

或许可以有安卓大佬像openshamrock一样写一个lsp模块提供各种api接口能更好的跟踪贴吧的更新(目前贴吧的模块功能集中在去广告)

@lumina37 lumina37 added the enhancement New feature or request label Sep 25, 2024
@KisaraChan
Copy link

好像跟私信不是同一套,我也没什么逆向思路

我这里已经逆向出来了,这几天在尝试写个PR,就是代码水平可能会比较垃圾...
您有兴趣想自己动手的话,我可以贴在这里节省逆向时间

@lumina37
Copy link
Owner

好像跟私信不是同一套,我也没什么逆向思路

我这里已经逆向出来了,这几天在尝试写个PR,就是代码水平可能会比较垃圾... 您有兴趣想自己动手的话,我可以贴在这里节省逆向时间

牛的,有点劲爆
可以先pr,到时候再改

@BellWangde
Copy link
Author

好像跟私信不是同一套,我也没什么逆向思路

对了,顺便问一下:这个包有发贴的接口吗?

@n0099
Copy link

n0099 commented Sep 27, 2024

发贴的接口

#109 (comment)

@KisaraChan
Copy link

KisaraChan commented Nov 10, 2024

@lumina37 咕咕很久写好了一个PR草稿,能发消息并且和机器人互动签到。但测试的过程中发现了以下问题:

  1. 目前百度没有鉴权。可以任意伪造身份:包括但不限于头像、昵称、等级,甚至自己发的消息头像点进去都可以是别人。可以做到完美伪装成别人。还可以“替别人”与机器人互动。这条已验证。
  2. 还是鉴权问题,被禁言了也可以发言,吧务目前对此没有任何办法。这条已验证。
  3. 鉴于以上问题,猜想甚至管理吧群的权限都可能都没有鉴权,即非吧务可以封禁别人等等。我没有任何吧务身份,没有验证这条。
    总之感觉风险会很大,不知道这个PR应不应该交上来(
    禁言无效,还能伪装成别人发,我不敢想象会是什么广告哥盛况。

@lumina37
Copy link
Owner

@lumina37 咕咕很久写好了一个PR草稿,能发消息并且和机器人互动签到。但测试的过程中发现了以下问题:

  1. 目前百度没有鉴权。可以任意伪造身份:包括但不限于头像、昵称、等级,甚至自己发的消息头像点进去都可以是别人。可以做到完美伪装成别人。还可以“替别人”与机器人互动。这条已验证。
  2. 还是鉴权问题,被禁言了也可以发言,吧务目前对此没有任何办法。这条已验证。
  3. 鉴于以上问题,猜想甚至管理吧群的权限都可能都没有鉴权,即非吧务可以封禁别人等等。我没有任何吧务身份,没有验证这条。
    总之感觉风险会很大,不知道这个PR应不应该交上来(
    禁言无效,还能伪装成别人发,我不敢想象会是什么广告哥盛况。

要不你建个私有仓库我去看看,这也太离谱了

@KisaraChan
Copy link

@lumina37 咕咕很久写好了一个PR草稿,能发消息并且和机器人互动签到。但测试的过程中发现了以下问题:

  1. 目前百度没有鉴权。可以任意伪造身份:包括但不限于头像、昵称、等级,甚至自己发的消息头像点进去都可以是别人。可以做到完美伪装成别人。还可以“替别人”与机器人互动。这条已验证。
  2. 还是鉴权问题,被禁言了也可以发言,吧务目前对此没有任何办法。这条已验证。
  3. 鉴于以上问题,猜想甚至管理吧群的权限都可能都没有鉴权,即非吧务可以封禁别人等等。我没有任何吧务身份,没有验证这条。
    总之感觉风险会很大,不知道这个PR应不应该交上来(
    禁言无效,还能伪装成别人发,我不敢想象会是什么广告哥盛况。

要不你建个私有仓库我去看看,这也太离谱了

invitation已经发过去了,测试方法在readme里。目前硬编码了不少东西,Exception处理也还没有就是...

@lumina37
Copy link
Owner

@lumina37 咕咕很久写好了一个PR草稿,能发消息并且和机器人互动签到。但测试的过程中发现了以下问题:

  1. 目前百度没有鉴权。可以任意伪造身份:包括但不限于头像、昵称、等级,甚至自己发的消息头像点进去都可以是别人。可以做到完美伪装成别人。还可以“替别人”与机器人互动。这条已验证。
  2. 还是鉴权问题,被禁言了也可以发言,吧务目前对此没有任何办法。这条已验证。
  3. 鉴于以上问题,猜想甚至管理吧群的权限都可能都没有鉴权,即非吧务可以封禁别人等等。我没有任何吧务身份,没有验证这条。
    总之感觉风险会很大,不知道这个PR应不应该交上来(
    禁言无效,还能伪装成别人发,我不敢想象会是什么广告哥盛况。

要不你建个私有仓库我去看看,这也太离谱了

invitation已经发过去了,测试方法在readme里。目前硬编码了不少东西,Exception处理也还没有就是...

问题不大,我先睡觉了明天再看

@lumina37
Copy link
Owner

我大致看了一下,感觉很先进,现在的广告哥的科技树应该还没点到这里。不过我有一个问题想问下,你不方便回答的话可以不回,你是怎么定位到那个BLPC的发送函数的?

@KisaraChan
Copy link

我大致看了一下,感觉很先进,现在的广告哥的科技树应该还没点到这里。不过我有一个问题想问下,你不方便回答的话可以不回,你是怎么定位到那个BLPC的发送函数的?

抓包阶段先用mitmproxy抓包出现很多超时,打印出一堆日志数据发现tls握手后不是标准http请求,都留在了mitm的缓冲区。所以全部用rawtcp方式处理连接mitmweb --ssl-insecure --mode socks5 --tcp-hosts ".*"抓到一个域名为common.lcs.baidu.com的连接,发现所有封包都是b'lcp\x01'开头。

然后就是jadx搜索关键词lcp,在com.baidu.android.imsdk之下各种像BLCPRequest之类的东西就在眼前了,盲搜chat,group之类的字符串,加上发送封包里有haotianjing字符串(z_id就属于昊天镜风控),定位到com.baidu.android.imsdk.BIMManager.sendMsgToChatRoomWithSafeParam()。再深入的话就是一路跟进到com.baidu.tieba.z80,com.baidu.tieba.g90里那些protobuf构造请求字节数组的流程了。

至于登陆流程就是漫长的抓包->搜索参数来源、打印调用堆栈这么个循环了...很多登陆参数在shared_prefs的baidu_imsdk_common_data.xmlblcp_sp.xml,hook打印调用堆栈跟踪。

@lumina37
Copy link
Owner

我大致看了一下,感觉很先进,现在的广告哥的科技树应该还没点到这里。不过我有一个问题想问下,你不方便回答的话可以不回,你是怎么定位到那个BLPC的发送函数的?

抓包阶段先用mitmproxy抓包出现很多超时,打印出一堆日志数据发现tls握手后不是标准http请求,都留在了mitm的缓冲区。所以全部用rawtcp方式处理连接mitmweb --ssl-insecure --mode socks5 --tcp-hosts ".*"抓到一个域名为common.lcs.baidu.com的连接,发现所有封包都是b'lcp\x01'开头。

然后就是jadx搜索关键词lcp,在com.baidu.android.imsdk之下各种像BLCPRequest之类的东西就在眼前了,盲搜chat,group之类的字符串,加上发送封包里有haotianjing字符串(z_id就属于昊天镜风控),定位到com.baidu.android.imsdk.BIMManager.sendMsgToChatRoomWithSafeParam()。再深入的话就是一路跟进到com.baidu.tieba.z80,com.baidu.tieba.g90里那些protobuf构造请求字节数组的流程了。

至于登陆流程就是漫长的抓包->搜索参数来源、打印调用堆栈这么个循环了...很多登陆参数在shared_prefs的baidu_imsdk_common_data.xmlblcp_sp.xml,hook打印调用堆栈跟踪。

牛的,我再研究一下,估计后面还得麻烦你提个pr,冒名顶替之类的功能藏一藏就行

@adk23333
Copy link

牛的,我再研究一下,估计后面还得麻烦你提个pr,冒名顶替之类的功能藏一藏就行

你们这都大声密谋了

@KisaraChan
Copy link

乐.jpg。后面完善下代码,让我想想怎么藏藏。

@lumina37
Copy link
Owner

牛的,我再研究一下,估计后面还得麻烦你提个pr,冒名顶替之类的功能藏一藏就行

你们这都大声密谋了

问题不大,文档都没人看,更别说看issue了

@n0099
Copy link

n0099 commented Nov 12, 2024

回顾经典之学术豚:我为什么是拥抱闭源的人

@Etcwind-dfl
Copy link

乐.jpg。后面完善下代码,让我想想怎么藏藏。

佬 怎么样了 可以先直接接收消息 不用发消息

@KisaraChan
Copy link

乐.jpg。后面完善下代码,让我想想怎么藏藏。

佬 怎么样了 可以先直接接收消息 不用发消息

最近实验室的活和工作比较忙,可能还得再咕咕一阵(抱歉

@leofarseer
Copy link

感谢诸位前辈的付出,这个项目是我第一个加星的项目。
我对贴吧很感兴趣,是N个吧的吧主,一次偶然发现这里,自学python后今天实现了签到和爬帖,非常有收获。
我尤其关注贴吧群的管理,贴吧群签到给的反馈还是很丰厚的,但目前很多吧的贴吧群都被广告哥占领了,不太想手动操作。
可惜我是半路转码过来的,只有C艹基础,几乎不懂前端,没有互联网编程思维。
请问如果我想帮忙的话,从哪边自学开始比较快?
另外,本项目是不是有调用贴吧自身一键签到的接口,我好像没找到,逐个吧签到有点慢。
再次感谢!

@n0099
Copy link

n0099 commented Jan 4, 2025

只有C艹基础

什么 https://github.com/dog194/TiebaManager

逐个吧签到有点慢

建议经典tc https://github.com/MoeNetwork/Tieba-Cloud-Sign

@lumina37
Copy link
Owner

lumina37 commented Jan 5, 2025

感谢诸位前辈的付出,这个项目是我第一个加星的项目。 我对贴吧很感兴趣,是N个吧的吧主,一次偶然发现这里,自学python后今天实现了签到和爬帖,非常有收获。 我尤其关注贴吧群的管理,贴吧群签到给的反馈还是很丰厚的,但目前很多吧的贴吧群都被广告哥占领了,不太想手动操作。 可惜我是半路转码过来的,只有C艹基础,几乎不懂前端,没有互联网编程思维。 请问如果我想帮忙的话,从哪边自学开始比较快? 另外,本项目是不是有调用贴吧自身一键签到的接口,我好像没找到,逐个吧签到有点慢。 再次感谢!

项目逻辑还算比较简单的,知道Python异步的用法基本就够了
逐吧签到比较稳定,不过现在有了新的可以获取签到状态的接口倒是可以加上一键签到了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants