Aruyo

チートを考えてみた

いずれはmixiミュージックのランキングもCDTVとかランキング番組の集計素材でとりあげられるのかなあ...と思っていたから、某アニメがジャックしている —いくつかの曲でランキング上位を占めているけど、だいたい10人程度で1曲あたり1000ポイントくらい稼いでる— のをみて、よっぽどかけっぱなしか或いは抜け穴があるんだろうなあと思って、集団投票心理で「対抗するなら抜け穴を使うしか !」というのを前提にしてやってみた。

カウントのタイミング

iTunesでは曲をちゃんと最後まで鳴らさないと「聴いた曲」として扱われず、mixiミュージックにはプレイ情報が送信されないみたい。 一時停止は問題ないようだけど、早送りもしくは曲の終わり付近に飛ばしたらカウントスルーされてる。ただし、短い曲はちゃんと短い曲として送信されるみたい。

カウントのソース

自分のiTunes上では「グラナダ」のサントラに記載されたアーティスト名ががCDDBで得た「WOLF TERM」となっているのたけど、mixiミュージックでは他の方は「ウルフチーム」と仮名表記になっている人のほうが多かった。 ( 今迄気づかなかった点はさておき ) 私が再生する都度「WOLF TERM」のほうの再生数がどんどん増えていく。

iTMSで買ったクイーンの曲なんかアーティスト情報は「クイーン」だし。「クイーン」の曲聴いた人は私一人だけ。みんなは「QUEEN」を聴いているんだろうなあ、ボッチ感パネエんで確認もしてないけど。

つまり、mixiに送信されるデータはユーザーのプレイリスト ( もしくはmp3ID ) がそのまま受付らけていて、整合性チェックとか何もフィルタリングされていない性善説と馬鹿正直の塊ということ。

鵜呑みさんをチートしてみる

  1. 10秒未満くらいの短い曲を用意する
  2. 専用プレイリストに登録する前にカウントを稼ぎたいお気に入りの曲名とアーティストに書き換える
  3. 安全のため別の曲も同様にして登録して同名曲の1曲リピート状態にならないようにする
  4. プレイリストをひたすらリピート再生

これで、1日にすさまじい数をリピートする投票マシーンのできあがり。

試してみた

用意したのは音素材の「正解」効果音。
「ぴんぽーん」ってやつ。
残響も含めてたった6秒くらい。

まずは、単純に1曲リピート。
うーん、さすがにこれではカウントされないみたい。

つぎに、2曲にしてみる。
同じデータを複製して名前を変えただけ。
これだけで、うまくいったみたい。
凄まじい勢いで投票してる。

では、これの名前を変えてみよう。 本家のランキングに影響したらアレなので、ここはとりあえずダミーで適当にでっちあげた痛い曲名で。

ええええええ ?

なんだかあっさりすぎね ?!

ただ、あまり短すぎる曲だとmixiへの送信が追いつかないみたい。許容量を超えたので現在送信出来ません、というエラーが。

今回は6秒程度の曲だったから短すぎたのかも。
まあ、適当な長さの曲を調整して織り交ぜれば解決できそう。

HTTPリクエストベースだろうから、ひょっとしたら複数台マシンからの投票ができるかもしれない。それなら1分くらいの曲でもいいのかも。これならPCを何台も持っているような人が24時間フル稼働 —電気代もったいないと思うかもだけど日頃から録画編集用にPCを複数台つけっぱなしという人はコアなアニメ好きに意外と人数いるものだ— でお気に入りの曲をかけることでぶっちぎり1位のポイントを稼ぐ、というのは簡単に出来そう。

未確認だけど、WindowsMediaPlayerなら1曲リピートでも大丈夫、との話もあるのでそっちのほうが不正しやすいかも。

まとめ

集団投票という行為自体は、ラジオや雑誌のハガキ職人という存在があるように一般的なことなので大きな問題ではないと思うけど、今回のこれは「チート」という言葉で記事書きはじめた自分が恥かしいくらい簡単すぎて誰でもできちゃうのが問題。サーバ負荷も高くなるし機械的に大規模な展開ができるから影響大きすぎそう。

mixiは本サービスの前にこのへんのテコ入れを頑張って。
収益源としてランキング系にコミット狙うならなおさらのこと。

余談

最初はふたばちゃんねる 電車板の「奴」で設定したら、まさか「奴」ってバンドが本当にあったとは ... 失敗した orz うーん、「危いタソ」とかにしとけばよかったかな。