レート表示プラグインは使うな

自称バトグラ技術部のレヲランガです。
デッキトラッカーのプラグイン開発で人生楽しんでます。




使ってはいけない理由

デッキトラッカーがサポートしていない方法でデータ取得を行っているのがプラグイン開発者として許せなかったためという個人的理由である。
現にプラグインは世にばら撒かれてしまい、利用者を知るすべはない。
せめて現利用者に対し、どんなプラグインを使っているのかを理解した上で個人の責任で使って欲しいという理由で記事を書いた。
日本国内で触れられるの俺くらいだろうし。


そもそもデッキトラッカーが何をしてるのか

そもそも話、デッキトラッカーがどういう仕組みで情報を取っているのか。
これを機によく理解しておいた方がいい。

クッソきたないデッキトラッカーの図

デッキトラッカーが情報源としているのは3つある。

  1.  ハースストーンのゲームから出力されたログファイルを解析して有益な情報をデータとして保持している
     ⇒ わかる

  2.  HearthDBというライブラリを用いてハースストーン公式サイトが公開しているデータベースにアクセスし、カード情報等を取得している
     ⇒ わかる

  3. HearthMirrorというライブラリを用いてハースストーンのメモリをハッキングして情報を取得している
     ⇒ ?????????????

今回の肝となるのがまさにこのHearthMirrorである。
こいつ、Unity製ゲームのメモリハッキングするための立派な著作物である。(以下英語記事参照)

なんでこんなのが許されているかは不明だが、少なくともデッキトラッカー側はHearthMirrorから取得したデータをラッピングして限られた情報のみを利用可能な仕組みにしている。(例えばバトグラの現在レートの値とか)
「ラッピングしたデータのみを利用しているため悪用は一切していない」
という建前において見逃されているんかなあと思ってる。


建前こわれる

前提の話をしたところで、本題の結論を簡潔に言う。
  件のプラグインは
  HearthMirrorが取得したハッキングデータを
  デッキトラッカーを介さずに
  直接無理やりデータを取得している

このため、
「ラッピングしたデータのみを利用しているため悪用は一切していない」
デッキトラッカーの(恐らく)建前がMUGEになった。
デッキトラッカーがサポートしている範囲でデータを扱うのであれば何ら非は生じない(責任はデッキトラッカー側にある)が、その制限を無視したプラグインであるならば、その責任は当然プラグイン開発者に向く。
プラグイン利用者も何言われるかわかったもんじゃあない。


件のプラグインが触れた闇のデータ

あのプラグインがハッキングデータを無理やり取得してまで欲しかった情報、それは左の盤面の「8人のプレイヤー名」である。

赤枠の箇所、いわゆる「左の盤面」

左の盤面情報はデッキトラッカーより全ての情報を取得することが出来ず、レヲランガも垂涎もののデータである。
8人のプレイヤー名すら取得できないのがトラッカーの現状でなのである。
これを取得できるようになれば俺のプラグインもさらに進化できるのに。
この領域のデータをHearthMirrorから取得すべきかどうか、公式GitHub上で4年前に議論されていたことがある。

現在になっても実現していないことから、何らかの阻害要因があったと思われる。議論ページにおいても「見てはいけないデータがある」ことが示唆されている。


杞憂と危惧

「プレイヤー名を取るだけなら何ら害がないじゃん」て思う人もいると思うし、それぐらいトラッカー側でサポートしろよとは俺も思う。
結局何が一番怖いかっていうと、触れられざる神の領域へ平気で踏み込むプラグインを作ってしまったのだから、この先もっとヤバいプラグインを作ってしまいそう、てことなんだよね。


おわりに

レヲランガは誇り高き光のデッキトラッカープラグイン開発者として日本国内で意識高い活動をこれからも続けてまいります。

この記事が気に入ったらサポートをしてみませんか?