bilibili-API-collect icon indicating copy to clipboard operation
bilibili-API-collect copied to clipboard

修改 WBI, APP API 签名算法 C++ 例子中使用的依赖

Open YuHuanTin opened this issue 7 months ago • 13 comments

YuHuanTin avatar Apr 13 '25 10:04 YuHuanTin

不懂 c++ 等个佬吧。。

z0z0r4 avatar Apr 17 '25 05:04 z0z0r4

不懂改依赖的缘故, 经验告诉我们非必要情况依赖什么的还是不要乱动

SessionHu avatar Apr 17 '25 05:04 SessionHu

因为我发现原来写的可读性和性能都不如这个好

YuHuanTin avatar Apr 17 '25 05:04 YuHuanTin

我倒感觉实在没必要把这些用例塞正文里面, 放 Discussion 供参考就行, 要不然这么多语言全塞进去.

留 JavaScript 的得了, 毕竟本来就是逆向前端的.

cxw620 avatar Apr 17 '25 10:04 cxw620

已经有这么多实现了我觉得还是不错的。本来就只有这个有实现参考,也不是很多这种,而且留discussion可能时效性啥的会比较混乱,且谁都发一份,能不能用都不确定

z0z0r4 avatar Apr 18 '25 09:04 z0z0r4

折腾了好一会总算是把代码编译出来了, 跑是能跑起来的, 结果是否正确就不清楚了, 以下是运行结果

(纯 ASCII 版)

@SessionHu ? /workspaces/bilibili-API-collect (master) $ g++ wbi.cc -std=c++23 -I/usr/include/botan-3 -lbotan-3 -lcpr -o wbi
@SessionHu ? /workspaces/bilibili-API-collect (master) $ ./wbi
avid=1755630705&cid=1574294582&fnval=4048&fnver=0&fourk=1&qn=32&wts=1744995884&w_rid=5920dda4e4801c1d71082ab10827dd8b
@SessionHu ? /workspaces/bilibili-API-collect (master) $ g++ app.cc -std=c++23 -I/usr/include/botan-3 -lbotan-3 -lcpr -o app
@SessionHu ? /workspaces/bilibili-API-collect (master) $ ./app
{"appkey":"1d8b6e7d45233436","id":114514,"sign":"01479cf20504d865519ac50f33ba3a7d","str":"1919810","test":"???????"}
appkey=1d8b6e7d45233436&id=114514&sign=01479cf20504d865519ac50f33ba3a7d&str=1919810&test=%E3%81%84%E3%81%84%E3%82%88%EF%BC%8C%E3%81%93%E3%81%84%E3%82%88

(彩色截图) Screenshot_2025-04-19-01-13-13-128_org.chromium.chrome.stable.jpg

SessionHu avatar Apr 18 '25 17:04 SessionHu

结果不知道对不对可咋合.jpg

暂挂中

z0z0r4 avatar Apr 19 '25 05:04 z0z0r4

折腾了好一会总算是把代码编译出来了, 跑是能跑起来的, 结果是否正确就不清楚了, 以下是运行结果

(纯 ASCII 版)

@SessionHu ? /workspaces/bilibili-API-collect (master) $ g++ wbi.cc -std=c++23 -I/usr/include/botan-3 -lbotan-3 -lcpr -o wbi
@SessionHu ? /workspaces/bilibili-API-collect (master) $ ./wbi
avid=1755630705&cid=1574294582&fnval=4048&fnver=0&fourk=1&qn=32&wts=1744995884&w_rid=5920dda4e4801c1d71082ab10827dd8b
@SessionHu ? /workspaces/bilibili-API-collect (master) $ g++ app.cc -std=c++23 -I/usr/include/botan-3 -lbotan-3 -lcpr -o app
@SessionHu ? /workspaces/bilibili-API-collect (master) $ ./app
{"appkey":"1d8b6e7d45233436","id":114514,"sign":"01479cf20504d865519ac50f33ba3a7d","str":"1919810","test":"???????"}
appkey=1d8b6e7d45233436&id=114514&sign=01479cf20504d865519ac50f33ba3a7d&str=1919810&test=%E3%81%84%E3%81%84%E3%82%88%EF%BC%8C%E3%81%93%E3%81%84%E3%82%88

(彩色截图) Screenshot_2025-04-19-01-13-13-128_org.chromium.chrome.stable.jpg

经过 JS 版代码验证,结果一致

Screenshot_2025-04-19-21-20-17-716_com.termux-edit.jpg

wuziqian211 avatar Apr 19 '25 13:04 wuziqian211

well,是否应该合并呢

z0z0r4 avatar Apr 19 '25 14:04 z0z0r4

现在这已经从可行性变成必要性的问题了是吧

SessionHu avatar Apr 19 '25 15:04 SessionHu

现在这已经从可行性变成必要性的问题了是吧

是的,我没有合并过类似换依赖这种,我也不熟 c++ 不知道哪个依赖更适合

z0z0r4 avatar Apr 19 '25 16:04 z0z0r4

现在这已经从可行性变成必要性的问题了是吧

是的,我没有合并过类似换依赖这种,我也不熟 c++ 不知道哪个依赖更适合

虽然我也不写 cpp, 但看依赖关系, 似乎原来的库更常用一点, 加上前面说过的原因, 总之我是中立态度

❯ apt rdepends botan3
botan3
Reverse Depends:
  Depends: botan3-static (= 3.7.1-2)
❯ apt rdepends cryptopp
cryptopp
Reverse Depends:
  Depends: cryptopp-static (= 8.9.0)
  Depends: megacmd
  Depends: codecrypt

SessionHu avatar Apr 19 '25 16:04 SessionHu

我不熟悉cpp(

xiaoyv404 avatar Apr 20 '25 05:04 xiaoyv404