抖音-扫码逻辑分析以及如何模拟
本文最后更新于 1013 天前,其中的信息可能已经有所发展或是发生改变。

最近有些比较有意思的需求,要模拟调用抖音扫码。常规的实现逻辑可能还是 用 模拟点击 实现类似的效果,调用扫一扫

或者进入到抖音主页去点击扫码按钮,但是这样都是一个比较常规的流程,有个很大的问题是,你怎么去扫码,每次的二维码都是不一样的。那怎么展现二维码给手机扫码。

到这里有些人可能就觉得做不了,或者说没思路了

1. 问题简化,探究本质

假设我们自己开发一个扫码功能,本质上二维码扫码出来还是一个 url

二维码的作用就是 方便传播,以及简单的加密让 url 的参数不直接暴露。

那我们是不是可以直接传 url 给抖音,让 抖音打开对应的 url

ok, 到这里问题已经简化了。

打开到 抖音的 扫码完成后的结果界面

adb shell dumpsys activity | grep mResum

得到结果如下:

com.ss.android.ugc.aweme/.crossplatform.activity.CrossPlatformActivity

查看 当前 activity 的名称,然后通过路由分析查看这个 activity 的路由信息(详情看我之前写的 抖音路由分析)

得到路由信息是

//ame/webview

2. 乘胜追击

进入这个 CrossPlatformActivity 类的源码界面,分析url的来源是通过 intent 的 获取,key 是 “url”( 这里省略了一些抖音逆向的解析)

到这里就很简单了,用 adb 根据 路由信息以及 intent 配置的 key 去打开对应的 url。

adb -s {self.device} shell  am start  -n com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.app.DeepLinkHandlerActivity -d  'snssdk1128://ame/webview/?url=https://www.baidu.com'

发现可以正常打开传进去的 url ,那我们通过这种方式 打开的 url ,和 抖音手动扫一扫打开 url 是一样的么,会不会被抖音监控发现到

那就要 分析 扫码界面到 扫码结果界面是怎么一个跳转逻辑

我目前自己分析是没发现有问题的,可以放心使用

扫码界面是

com.ss.android.ugc.aweme/.qrcode.view.ScanQRCodeActivityV2

看看 代码就知道了

最后还是 通过一个 中间件的 service 将扫码结果 传递给 CrossPlatformActivity ,本质上是没有区别的

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇