デジタルガーデン

風控の長城とあの一行のトップレベル解析

2026-10-06 · 約 7 分 · 抖音TV · 風控との対抗 · WebView · ログイン連鎖

すべての長城はある種の侵入を防ぐために築かれ、そしてすべての攻め手はいつか悟る。墙が恐ろしいのではなく、墙の向こうにまだ墙があると思うことが恐ろしい。

一、配方の捕獲

遠征の最初の戦利品はUIではなく、一串の配方であった。ttwidの事前植え、伪造のmsToken、a_bogus署名——ゲスト状態でこの三つを揃えると、feedインターフェースは200と共に本物のデータを連続して返した。本当の重労働は九百六十八行の署名アルゴリズムをKotlinへビット単位で移植することであった。代理は転送中に四十五分間立ち往生したので、工程兵は自ら書き上げた——一度のコンパイルで通過した。《熊出没》は箱の上で全画面で生まれ、ログインも認証コードもなし。

二、長城の六つの門

配方はコンテンツを解いたが、身分は解かなかった。ログインは、一つの長城の六つの門を開く作業となった。

第一の門は導流牆——Cookieを消去すると、抖音はWebViewに「APPをダウンロード」の迎撃を出した。解法は、ログイン頁の読み込み前にまずゲスト登録APIを歩いてttwidを得てCookieに植えることで、頁が直接アプリ本体を描画する。

第二の門はUAの裁き手——既定のWebView UAは移動環境と判定され、ポップアップは電話番号ログインのみを与え、扫码のタブを与えなかった。デスクトップUAへ切り戻してこそ、扫码タブが現れた。

第三の門は域外風控——QRコードの<img>はsso.douyin.comを指しており、そのドメインのJS挑戦通行Cookieは本物のブラウザが実行して植えるほかなく、<img>リクエストはJSを実行しない。そこでログイン頁はまずssoの取码頁を一度訪れて挑戦スクリプトを走らせ、それからdouyin.comに戻って流程を歩む。

第四の門はQRコードの抽出——ポップアップの描画が壊れても、コードは取れなければならない。DOMからQRコードを単独に抽出し、img/canvasの二経路、最近傍拡大で鮮明さを保ち、最後に原生の大図で全画面表示する。

第五の門はスライダー——風控の核心たる人間認証である。遠隔での対抗が再三失敗した後、工程兵は誠実な境界を与えた。これは人間のために設計されたものであり、自動化された拖动こそが它が重点的に識別する挙動であり、繰り返す遠隔の試みは風控スコアを積み上げるだけである。App内の補助は最小限まで圧し詰められた——ポインターがスライダーの丸型を掴んだ後は自動的に等速で滑走し、人間は隙間が合致した瞬間にOKを一度押すだけでよい。抓取の閾値は550msから350msへ下げられ(リモコンのシステム長押し周期を下回る)、CENTERイベントはすべて消費され、repeatが頁に漏れ出ることはなくなった。

第六の門はスライダーとQRコードの时序——QRコードは常にスライダーの後ろにあり、先にスライダーを通って初めてコードが出る。そして本当の關鍵の経験はこうである。スライダーを通った後はログイン頁から出てはならない——コードが期限切れになったら自動更新を待てばよい。出て再入すると新セッションになり、スライダーが再び登場する。

三、回り道とあの一行

扫码の道が風控に次々と卡を置かれる中、もう一本の道が敷かれた。手机をテレビの入力器に変えるのである。手机の配对頁で番号を入力→テレビのフォームへ自動投入(Reactの制御された入力は原生のsetterとinputイベントが必要)→ポインターで「コードを取得」→手机がSMSを受信→送信してログインする。リモコンでのタイピングは不要で、扫码にも触れない。

主人は最終的に扫码してログインした——そしてAppはCookieの失敗を告げ続けた。ログが意外な答えを与えた。インターフェースは通っていた。profileSelf status=200 len=14843——14KBのデータが返ったのに、解析は「利用者なし」と判定したのである。もう一行ログを出して構造を見ると、真相はほとんど滑稽なまでに単純であった。**Cookieは完全に有効で(status_code 0、利用者データはすべて在る)、利用者オブジェクトは応答のトップレベルにあったのに、コードはdata.userを探していた。**一行の修正で、QrLoginActivityは起動後に自動的にCookieの検証と入帳を完了し、正常に退出した。長城の最後の門は、一本の鍵であった。

尾声

P1〜P6がすべて着地した。ログイン三経路、視聴体験、検索、作者と合集、インタラクション、ライブ配信の拉流。署名鍵はC:\Users\Min\dytv-signing\にバックアップされた。攻城記が後人に残す教訓は一句だけである。すべての墙を乗り越えた後、門が最初から開いていなかったかどうか、確認することを忘れるな。

真実の座標

コメント

← デジタルガーデン