Created
April 14, 2011 07:02
-
-
Save kimoto/919038 to your computer and use it in GitHub Desktop.
GSDの仕組みについてレポート
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Subject: GSDの仕組みについてレポート | |
Author: KIMOTO | |
※関連事項としてVACのチート検出についてもメモ | |
■GSDについて | |
DirectXのAPIフックをして、任意のピクセルを上書きすることが出来るライブラリ | |
DirectXのAPIをフックしてるため、対象となるアプリケーションがDirectXを使っていないと意味がない。 | |
たとえばMinecraftなどOpenGLで映像を描画しているソフトでは使えない | |
GSDを利用したソフトウェアについて | |
GSD BBS Reader - http://mosax.sakura.ne.jp/fswiki.cgi?page=FrontPage | |
GSD Movie Player - http://mosax.sakura.ne.jp/fswiki.cgi?page=GSD+-+MoviePlayer | |
GSD FPS - http://www.geocities.jp/pokan_chan/ | |
■ライセンスについて | |
GSDはソースをふくめ、gsd.dll, gsd.lib.vc, gsd.hが公開されてるので | |
これらを使用して自分のアプリケーションに組み込むことができる。 | |
ライセンスはLGPLなのでDLLを外部からリンクする(使用する)だけなら | |
GPLのように利用側のソースを公開する義務はないので比較的気軽に利用できる | |
■GSD_Crosshair | |
GSDを利用した習作として、画面の中央にcrosshairを描画するソフトを作ってみた。 | |
GSDによって描画する画像データが小さければそれほど処理は重くなさそうだ。 | |
参考画像: http://gyazo.com/f228ab5feaa2620c5dad4e994328b22d.png | |
■GSD_Crosshairはチートかどうか | |
結論から言えば限りなくチートに近いがチートではない、存在だと思う | |
たとえば、字幕表示ソフトはやっていることがまったく同じだ。しかしBANされていない。 | |
他にもSound Blaster社のCreative ALchemyの仕組みも手法は同じで | |
DirectSoundのDLLのAPIフックをしている。 | |
DLLに存在する主要な関数(API)のアドレスを書き変えて自分のプログラムを経由させるようにしているのだ。 | |
つまりこういった手法がチートであるとすれば、字幕ソフトもチートとして扱わなければならないはずだ。 | |
もちろん人間的な意志が介在してGSDを利用したクロスヘア描画アプリだけチートとして扱う可能性はあるが | |
ValveのVAC BAN FAQを見るとこのような「人間的な意志は介在することはない」と書いてあるし | |
そして「絶対に誤検出しない」とも言っている。 | |
Steam Forum VAC2 FAQ(和訳) - http://www.negitaku.org/news/4540/ | |
>VAC BANは人間の判断が主観には決してなりません | |
■とはいえリスク管理の必要性 | |
そうはいっても突然VACに「人間的な意志」が介在するようになるかもしれないし | |
すっかり安心してしまって多用するのは非常に危険だ。 | |
BANの範囲はGame Engineごとらしいので、たとえばCSをメインでやるのであればHL1のエンジンのゲームでは | |
万が一のためにこういったソフトウェアは利用しないようにするのがベターなリスク管理方法だろうと思う。 | |
L4DをメインでやりたいのであればSourceエンジンゲーム(CS:Sなど)。 | |
当たり前だが過去にBANされた前例がないGSD方式の字幕ソフトを利用することは危険性は高くない。 | |
その事実を知っていたとしても精神的に不安であればリスク管理として、 | |
自分がこれからメインでやろうとしてるゲームと同じエンジンではこういったソフトは利用しないという | |
リスク管理をしたほうがいいんじゃないという話、俺はそんなことしないけどね | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment