ゲームの多重起動とか窓化とか

ゲームによっては多重起動したいやつとか窓化したいゲームとかある。
まあたいてい特定ジャンルのオンラインゲームだけど。
で、最近書いてるとおり仮想マシン使えば種別問わず共通の方法でそれらを実現できるわけだけども、検索できてるやつみて気づいた。
やり方っていうやり方は大して書いてないことに。
ということでまとめてみる。

続きを読む ゲームの多重起動とか窓化とか

仮想環境3D性能比較。。。のつもりが

比較しようとおもったんだが。
3dmark06が動いたのがVMWare Playerだけだった。
別のベンチつかってもいいっちゃいいけど面倒だった。
VirtualBoxでもいけるかと思ったんだけど、shader model 2.0に対応していないらしくて動かず。
Direct3Dは動いたんだけどね。
バージョン7はこけてたけど。
DirectX 8,9はとりあえずVirtualBoxでもいけるらしい。
ということでVMWare Playerで3dmark06動かしてみた。
結果は1280*768で2810。
Geforce 6800無印くらいみたい。
余談だけどメインだと1360*768で18537。

ここでちょっとDirectX 10を試したくなった。
Windows7のゲストを作って3dmark vantageを試してみる。
。。。が、DirectX 10は動作しないとのこと。
まあ、そうだよなー、と思いつつ、でもなんかさっきまでいじっていたXPと比べて妙に動きがしゃきしゃきしてる。
ダウンロードの速度とかもだいぶ速いような。
もしかして、とおもい、Windows7のゲストで3dmark06を実行。

あるぇえええええええええええええ。
なんかだいぶ速い。
スコアは8215。
ホストの40%くらいか。
7900GTXくらいにまでなってもうた。
VMWare toolsのディスプレイアダプタドライバの出来がとんでもに違うのかはたまたほかの理由なのかはよくわからないが、とりあえず少なくともうちの環境ではWindows XPよりもWindows7のゲストの方が遙かに性能がでる。
操作感からして、PCMarkとってもきっと差が出てる。
なんか想定外な発見だ。

アークサイン2010/01/19アップデートのバグ報告

ええと、結構このゲームアップデートのたびになにかとバグ降らしてくるんですけど、今回もきたのでせっかくなので書いておきますね。

まず、アップデート直後。
1ch, 2chのデータがおかしく、経験値が99.99%になったり、お金が0になったりするひとが発生。
レベルキャップ40なのにレベル93になっちゃったりする人が登場。
ダメージを受けたときに出す声と、死んだときに出す声が入れ替わって悲鳴オンライン開始。

そして23時頃、掲示板にいくとギルドチャットが使えなくなる現象が発生。
ギルド情報を見ると自分の接続チャンネルがころころ変わって意味不明な状態に。
23:30頃、ギルドがうんたらというエラーが出る。
そしてギルドに所属してないことになる。

そして掲示板サーバに接続できなくなる。

いつの間にかPTが崩壊。
気づけばボス戦のアナウンスや、+8以上の強化成功のアナウンス等々もでなくなっている。
今ここ。
未だに23時以降の不具合について、運営からの告知もなにもない。

Themida突破

ついさっきThemidaうぜええええええって叫んでたんだけども、なんか突破できちった。
ああ、暗号化の方じゃないよ、仮想マシン検出の方ね。
チートしたい人とかはそっちはどうでもいいんだろうけど、まあ探せばアンパッカーきっと見つかるだろうからがんばって。
んで、仮想化検出を突破出来たと言っても、正直自分でも細かいところはわかってない。
というかわかろうとしていない。
動けばいいやっていう感じで今回は調べてるので。
んでまあどういうながれかっていうと、いやね、VMってばれてるってことは、どっかをみてVMかどうかを判別してるんだから、そこをどうにかすれば突破出来るのはまあ誰でも察しがつくだろう。
そこで、まあ一番資料が豊富そうなきがしてなおかつDirect3dに対応してるVMWareでなんかないものかとおもって、vmxの設定のリファレンスないかとおもってさがしてみたのよ。
で、まあこんなところがでてきた。
で、眺めていたら以下のような記述が。

disable VM-detection

あ、はい。
設定させていただきます。

this example prevents that the app
Sword of the New World
detects that it is running in a VM

あ、はい。
設定させていただきます。

両方の設定をくっつけたのが以下。

monitor_control.disable_directexec = "true"
monitor_control.disable_chksimd = "true"
monitor_control.disable_ntreloc = "true"
monitor_control.disable_selfmod = "true"
monitor_control.disable_reloc = "true"
monitor_control.disable_btinout = "true"
monitor_control.disable_btmemspace = "true"
monitor_control.disable_btpriv = "true"
monitor_control.disable_btseg = "true"
monitor_control.virtual_rdtsc = "false"
monitor_control.restrict_backdoor = "true"
isolation.tools.getPtrLocation.disable = "true"
isolation.tools.setPtrLocation.disable = "true"
isolation.tools.setVersion.disable = "true"
isolation.tools.getVersion.disable = "true"

それを対象の仮想マシンのvmxに設定して起動。
あ。突破出来た。
んが、くそ重くなってどうしようもない。
んでいじくってみた結果、monitor_control.virtual_rdtsc = “false”は除去。
軽くなった。
重いのはこいつが原因だったみたい。
時間の同期パラメータだそうだ。(falseだとホストの時刻を参照)
ということで以下が最終パターン。

monitor_control.disable_directexec = "true"
monitor_control.disable_chksimd = "true"
monitor_control.disable_ntreloc = "true"
monitor_control.disable_selfmod = "true"
monitor_control.disable_reloc = "true"
monitor_control.disable_btinout = "true"
monitor_control.disable_btmemspace = "true"
monitor_control.disable_btpriv = "true"
monitor_control.disable_btseg = "true"
monitor_control.restrict_backdoor = "true"
isolation.tools.getPtrLocation.disable = "true"
isolation.tools.setPtrLocation.disable = "true"
isolation.tools.setVersion.disable = "true"
isolation.tools.getVersion.disable = "true"

使用は自己責任で。

追記

その後、どこ使えばいいかちょこちょこいじって突き止めていったところ、一項目だけでいいことにたどり着いた。
それが以下。

monitor_control.restrict_backdoor = "true"

これなんなのかと思って前述のサイトでチェックしたら以下のような記述。

if you want to run VMware inside a VM you will need this setting – it may cheat any program that scans for the VMware-backdoor channel like Ken Katos vmchk.exe

It is NOT enough to cheat advanced VM-scanning methods like redpill or scoopy

かなり要約すると、仮想マシンじゃないふりを仮想マシンにさせるけど、高レベルなツールはだませないんだぜ、っていうフラグらしい。
先に説明読んでおけばまずこれだけで試したんじゃないだろうか。。。

んで、もうちょっと調べてみたらこんなのでてきた。

This closes the backdoor channel that VMware uses to communicate with guests via the vmware-tools.

なるほど、得心がいった。
VMWareがvmware toolsで通信するバックドアチャネルを閉じるのか。

Themidaうぜえええええええええええええええ

オンラインゲームとかで2垢とかやってアイテム受け渡しとかしたいときあるじゃない。
そういうときって、多重起動できないゲームとか、仮想化つかって仮想マシン上でゲーム起動して同時起動とかしたいじゃない。
で、やってみた。

うぜええええええええええええええええええええええ。
sorryじゃねーよぼけ。

themidaっていうのはプログラムを暗号化したりするいわゆるパッカーなんだけども、仮想マシン検出機能なんかもついていたりする。
そいつがxtrapに同梱されているらしくて、「Sorry, this application cannot run under a Virtual Machine」と。
んだが、これがまたウィルスと一緒にくっついてきてるやつなんかもある。
どういうことかというと、元々パッカーはプログラムが解析されたりするのがいやんなことから作られてるのだが、ウィルスなんかはもちろん解析されるとワクチン作られるのでいやんにきまってる。
そのため、パッカーで解析困難にするために一緒にくっつけてきたりするわけだ。
で、ウィルスの解析なんかは仮想化環境上でわざと感染させるようなのをおいて(ハニーポット)行ったりするわけで、こういうやつがいると非常に邪魔になるわけだ。
んでまあ、Themidaは実際ウィルスに搭載されてまき散らされたことがあり、その絡みでThemidaそのものをウィルスと認識して駆除しようとするウィルス対策ソフトもある始末。
別にゲームをハックするきもクラックするきもないしアセンブラなんてミジンコ程度しか読めないからそもそも出来ないし、ついでにパックされてればアンパックする気もないから読めるはずもないんだからVMで実行くらいさせろよksgってはなしだ。

ちなみに、VMWare Player, Virtual PC, VirtualBoxでだめだった。
XenはそもそもDirectXの関係で起動しなかった。

ふいた

942名無しさん@お腹いっぱい。sage2008/05/01(木) 01:41:11 ID:GF8zdpg90
回復不能のエラーが出て起動すら出来ない・・。
自分のvmxが悪いのかと思って、普通に起動してるVirtualPCのvmc指定してみても、同じ状態に・・orz

誰か助けて
943名無しさん@お腹いっぱい。sage2008/05/01(木) 01:48:53 ID:GF8zdpg90
ちなみに、

VMware Player 回復不可能なエラー: (vmx)
NOT_REACHED C:/ob/bora-55017/bora/vmcore/vmx/main/hostDisasm.c:522

とか出ます。
944名無しさん@お腹いっぱい。sage2008/05/01(木) 01:52:14 ID:8ZEAbQZn0
冷静になって日本語を読むんだ

「回復不可能」だからもう回復することは無い

ノートにMobility Radeonの最新ドライバをインストールする

旧ATI現AMDのグラフィックカードドライバなんだが、ノート用のドライバは各ノートPCベンダが用意しろっていう話になっていて、AMDからは配布されていない。
つまり、メーカーがドライバを配布していなかったりすると、OS変更したときとかに詰みかねないし、配布してても当然更新なんぞそこそこしかしないわけで、最新のドライバはすぐに使えない事態に陥る。
で、これを突破するための、ATI Mobility Modderというプログラムがある。
これは、デスクトップPC用のRadeonのドライバをノートPCでも使えるようにするもの。
当然使用は自己責任。
とりあえず、Mobility Radeon 9600なWindows7マシンでもいけた。

で、使い方。

  1. MSXML 6.0をダウンロードしていんすこ。.NET Framework(Windows Updateより)も。(Vista, 7は不要)
  2. UACをオフにする(Vista, 7以外は不要)
  3. デスクトップ用のRadeonのドライバを落とす
  4. ダウンロードしたドライバのインストーラを一度実行して、展開する。(一回目のInstallで展開される)
    展開が終わってインストールマネージャが起動したらキャンセルする。
  5. Mobility Modderを実行して、展開先のフォルダ(C:ATIsupportうんたら)を指定して、Modifyをぽちっと。
    うちだと結構時間かかった。
  6. 展開先のSETUP.EXEをたたいてインストール。
    ドライバーソフトウェアの発行元を検証できませんとかでても気にしない。

まあそんなかんじで。

最近やってるゲーム

あけおめことよろ。
言い忘れてた。

で、最近アークサインっつーMMORPGをやっております。
ふれこみは「掟破り系 ふるぼっこRPG」ってやつでして、なんとなくはじめてみたらはまっちゃった系です。

で、このゲーム、運営はハンビットってとこでして、まあ名前から察せますがあっち系のゲームなんです。
半島系ね。

代表取締役CEO 金 裕羅 (Yoo Ra Kim)
取締役 金 基永(Kee Young Kim)
取締役 金 鐘佑 (David Woo Kim)
取締役 金田 行孝 (Yukitaka Kaneda)
監査役 呉 政承(Jeong Seung Oh)
監査役 田邊 俊夫 (Toshio Tanabe)

でまあ、ここがまたいろいろやってくれる。
アークサインは結構最近にサービス開始したんですが、ほぼ同時期にAIKA(エイカ)っつーMMORPGも開始しております。
で、アークサインではクリスマスイベントのときに【GM】ウェルシュっつーGMが「めりー くり○○す」とかくだらない発言をして炎上。

個人的には炎上するほどのものでもないとおもうが、この発言のほかにも、イベントと称して一部のユーザと一緒にプレイしたっていうのも発覚。
6ヶ月のGM権限停止と相成りました。

で、AIKAの方は、BOT天国、RMT天国(業者のシャウトでログが埋まるほど)、アカウントハック祭り、誤BAN祭りと。
さらに運営への電話が録音されてニコニコにアップされて、これまた電話かけてる方もどうかと思うが、企業としての対応とはとうてい思えない対応っぷりで大炎上。
ちなみにわたくしの友人もアカウントハックの被害に遭ってしまいました。

なかなか愉快でしょ^-^

vi(vim)で文字化け

日本語環境だとたいていデフォルトだと文字化けしていそうなvi(vim)。
放置してたんだけどこの間文字化けしたままだと困ることが起きたので、直した。
~/.vimrcに以下のように記述。

syntax on
set encoding=japan
set fileencodings=iso-2002-jp,euc-jp,cp932,utf-8
set termencoding=utf-8

実際のところ関係するのは3,4行目。