Week13はVanson Leathersとのコラボ商品が販売されました。
今回の代行料金は以下です。
- 全商品一律 1,000円
サクセスツイート(購入成功時に画像付きでツイート)していただければ、代行費半額としました。
既存のBot解析
今週から既存Botの解析も同時に始めることにしました。MEKPreme、Tohruについて調べていますが、Electronで作られているようです。中身はJavaScriptなので、簡単にコードも調べられるかと思いましたが、バイトコードに変換されているため直接コードを見ることはできません。
特にMEKPremeに関してはコード保護の仕組みが念入りされている印象です。さすが実績もあり、かなり技術力があると思いました。まだライセンスを入手していないため、asarを展開した一部のコードしか確認できていませんが、実際に動かしてパケットキャプチャして確認するしかなさそうです。
Tohruに関してはまだ詳しく解析できていませんが、同じくバイトコードに変換されているため、直接コードを確認することはできません。
バイトコード内で何となく確認できる文字列を調べてみると、どちらのBotもTicketの回避方法はブラウザで生成したCookieを読み込んでいるような感じに見えます。どちらのBotもSupremeモバイルにしかアクセスしていないようです。
あとはBrowser Normal、Browser Safeと2つのモードがあるようですが、Normalは必要なリソース以外は読み込まないようにして高速化しているような感じでしょうか。Safeはそのようなことはしないで、手動購入に近い環境で購入処理するといった感じでしょうか。
他には、バイトコードの中から商品情報を取得できる場所を新たに発見できました。中身は現在のAPIとまったく同じなので、あまり意味はなさそうですが、試しに調べてみることにします。
MEKPremeを動かしている動画を見てみると、購入時に在庫状況に関わらずカートインを繰り返しているように見えました。もしかすると在庫チェックをスキップしてカートインを試行しているのかもしれません。在庫が反映されるのにタイムラグをあるとすると、反映される前にカートイン→チェックアウトすることができるため、購入できる確率は上がりそうな気がします。あくまでも動作している動画を見てなので、なんとも言えないですが…
前回からの改良
今回は商品情報取得処理を分離化し、モニタープログラムを並行して走らせることにしました。新たに商品情報を取得する場所を2つ追加し、商品情報が反映されるタイミングが異なるのか確認です。
あとは、reCAPTCHAのByPassが利用できない場合も考慮し、reCAPTCHAハーベスターからトークン取得→トークン不足の場合にByPassにスイッチする設定を追加しました。
今回の結果
今回は4件の依頼数となりました。結果は、購入成功3件、ブラックリストエラー1件となりました。ブラックリストを除くとすべて成功となりました。
購入できた商品は以下となります。
- Intarsia Spellout S/S Top(XL含む)x2
- Supreme®/Leatherman® Squirt® PS4 Multitool
今回は特別なBot対策はなかったように思えます。
商品情報が反映されたのが11時5秒となりました。特別プレ値になっている商品はなかったためか、それほど競争率も高くなく問題なく購入に至りました。
同時に新しいモニタープログラムも動かしてみましたが、同じく11時5秒に商品情報を取得しており、時間差はなかったようです。無事に動作した点、少ないリクエスト数で同じ取得時間を得られた点は良かったです。しばらくは平行して動作確認のみとなりますが、少しずつ改善しながら高速化、効率化していきたいと思います。
@usagibot0
いつも有り難うございます☆ pic.twitter.com/xqDx5AQMqk— コイン (@X5cM3DYPFXIAqp6) May 22, 2021
初めてでしたが、ありがとうございました!
またよろしくお願いします。@usagibot0 pic.twitter.com/1CVJcSxK7R— TNF_lover (@LoverTnf) May 22, 2021
コメント