wakasann / gksvideourl

获取快手App 分享链接中的视频地址
https://www.wakasann.com/kuaishouv/
7 stars 1 forks source link

伙计 好像还是有水印 #2

Open junshenshi opened 5 years ago

junshenshi commented 5 years ago

http://www.gifshow.com/s/dyqJGi0y 这个地址,还是有水印

wakasann commented 5 years ago

嗯,网页播放页面的视频是有水印的,目前代码是从播放页面的Html源码去截取video的mp4的url

在app里面获取单个的视频无水印,我还没有找到方法

  1. 我打开快手app,进入热门页,然后关闭手机的wifi, 进入单个视频,是有图片,但不播放视频
  2. 再次打开手机的wifi连线,再次进入单个视频,视频正常播放,但 Fiddler 没有监听到 请求视频的请求,就卡在这里了 😭

获取快手的热门视频的无水印视频,可以参考 MasakiOvO/gifshow-hot-video-spider

wakasann commented 5 years ago

我使用的是小米2s手机进行操作

  1. 在快手中,随意进入一个视频,在 "分享"的弹窗,选择"复制链接"
  2. 将 复制到的链接,放入到 我自己的手机的“便签”应用中
  3. 将快手 app的进程杀死,进入"便签"应用中,将刚才保存的分享链接复制到剪切板
  4. 然后打开 快手app,过一会儿,快手app会弹出一个监听到 分享链接的弹窗,然后点击"去看看"
  5. 使用 Fiddler5 可以监听到点击单个视频的请求url

附上 Postman导出的Collection 文件

gifshow_one.postman_collection.json.zip

目前知道的是: post 请求单个视频http://api.ksapisrv.com/rest/n/photo/info

body参数photoIds,__NStokensig,sig 不同分享,这3个值也会变化的

queryString 参数中的lon 是会变化的

其它参数待研究 😄

wakasann commented 5 years ago

使用apktool工具 解压快手apk文件,在 res/values-zh/strings.xml 找到

    <string name="kwai_token">快口令</string>
    <string name="kwai_token_copied_to_forward">快口令已复制,粘贴给%1$s,即可分享。</string>
    <string name="kwai_token_dialog_tag_participated">%1$s参与</string>
    <string name="kwai_token_from_go_and_see">来自%1$s的分享,查看%2$s</string>
    <string name="kwai_token_go_and_see">去看看</string>
    <string name="kwai_token_go_to_paste_notice">快口令已复制,快去粘贴分享吧</string>

后面自己将会用kwai_token_go_and_see 这个关键字找对应的视图,然后再找里面的逻辑代码,视图res\layout\anb.xml 文件中的id是@id/follow_text

口令应该会从 ClipboardManager 读取信息,然后匹配信息

classes6-dex2jar.jar 中的

class public Lcom/yxcorp/plugin/kwaitoken/a;
.super Ljava/lang/Object;
.source "KwaiTokenManager.java"

找到 匹配分享链接的正则表达式的类

wakasann commented 5 years ago

找到一個 Xposed 快手模块,有時間,自己試試

wakasann commented 5 years ago

已发现,快手有专门的Api 进行解析分享链接的 /rest/n/tokenShare/info/byText,可以通过 Fiddler 软件进行监听

详细说明,可看 wakasann.ksusegradlegetsinglevREADME.md上部分

5wcx commented 5 years ago

我使用的是小米2s手机进行操作

  1. 在快手中,随意进入一个视频,在 "分享"的弹窗,选择"复制链接"
  2. 将 复制到的链接,放入到 我自己的手机的“便签”应用中
  3. 将快手 app的进程杀死,进入"便签"应用中,将刚才保存的分享链接复制到剪切板
  4. 然后打开 快手app,过一会儿,快手app会弹出一个监听到 分享链接的弹窗,然后点击"去看看"
  5. 使用 Fiddler5 可以监听到点击单个视频的请求url

附上 Postman导出的Collection 文件

gifshow_one.postman_collection.json.zip

目前知道的是: post 请求单个视频http://api.ksapisrv.com/rest/n/photo/info

body参数photoIds,__NStokensig,sig 不同分享,这3个值也会变化的

queryString 参数中的lon 是会变化的

其它参数待研究 😄

分析是没错。就是想知道 sig的算法是什么?你知道怎么签名吗

wakasann commented 5 years ago

我使用的是小米2s手机进行操作

  1. 在快手中,随意进入一个视频,在 "分享"的弹窗,选择"复制链接"
  2. 将 复制到的链接,放入到 我自己的手机的“便签”应用中
  3. 将快手 app的进程杀死,进入"便签"应用中,将刚才保存的分享链接复制到剪切板
  4. 然后打开 快手app,过一会儿,快手app会弹出一个监听到 分享链接的弹窗,然后点击"去看看"
  5. 使用 Fiddler5 可以监听到点击单个视频的请求url

附上 Postman导出的Collection 文件 gifshow_one.postman_collection.json.zip 目前知道的是: post 请求单个视频http://api.ksapisrv.com/rest/n/photo/info body参数photoIds,__NStokensig,sig 不同分享,这3个值也会变化的 queryString 参数中的lon 是会变化的 其它参数待研究 😄

分析是没错。就是想知道 sig的算法是什么?你知道怎么签名吗

我不知道sig是怎么签名的 :cry: