サブChromeを用意し、バイナリ書換で横幅を縮めたり起動バッチを仕込んだりして快適ブラウザソシャゲライフを送る
概要とか
UA偽装をメインとした PCブラウザ経由でのソシャゲプレイを行うにあたり、自分が仕込んでいる幾つかのギミックを紹介していきます
※ 自身が GoogleChrome をメインブラウザに据えている事を前提にしています
- ソシャゲ用のブラウザとしてGoogleChromeをコピーしたものを使う
- 起動の際、
.vbs
ファイルを経由する
2-1. メインと完全に切り分けたChromeとして扱う(別プロファイル)
2-2. 同じく、起動時にUA指定コマンドを含ませ、拡張機能なしでUA偽装を行う (好みによる) - バイナリ書換で横幅表示の制限を撤廃し、コンパクトなサイズで運用できるようにする
順を追って解説していきます
1.ブラウザはGoogleChrome(のコピー)を使う
メインでChromeを使っている人ほど、こう取り廻すのが正解であると自分は考えており、
これは 3. で触れている「バイナリ書き換え」と深く結びついています。
バイナリを書き換えると、ブラウザの横幅が既定未満に縮められる等の恩恵を受けられますが、
副作用として PrimeVideo といった一部のサービスでエラーが発生するといった現象が起きるようです。
( これは恐らく、改竄したブラウザ経由で動画を録画する等が出来ない様に、超厳格な体制を敷いているのだと個人的に推測しています )
更に、GoogleChromeは自動強制アップデートがセットになっており、一度バイナリを書き換えてもしばらく(数日・数週)のち、更新された新しいChromeで上書きされてしまいます。
この対応策として、既にインストールしているChromeをコピーして別のフォルダに退避させたものを用意し、それをサブのソシャゲ用ブラウザとして取り廻しておけば、ごく一部の厳格なサービスでエラーを吐こうとも気にせずに済みますし(←そもそもメインで使わないので)、自動アップデートの対象にもならず バイナリ書き換えの手間も一度だけで済む...といった寸法です。
Chromeのコピー元とコピー先
大抵の方であれば C:\Program Files (x86)\Google\Chrome\Application\
フォルダ内に GoogleChrome 本体が格納されていると思います。
この中身を丸ごと、任意の場所へコピーしてください。
ちなみに自環境だと
C:\MyProjects\ChromeCustomize\SubChrome\
という場所を用意して、その中にコピーして使っています。
以降は、元のChromeは従来通り自動アップデート対象となりながらも コピーしたほうのChromeはアップデート対象とはなりません
( 自らの更新時、エラーが発生して処理が中断されるので )
2. 起動の際、.vbs ファイルを経由する
これに関しては 既にChromeのショートカットを編集したり、別途 .bat
ファイルなどに命令を書き込んで運用しているソシャゲーマーの方もいらっしゃるかもしれません。
自分は .bat
ではなく .vbs
に処理を書いて運用しています
※ 画像は運用イメージ。 このファイルを実行すれば、サブのChromeが立ち上がるという寸法
以下、1つの.vbsで、2アカウント分のソシャゲブラウザを同時に起動 させる内容です。
※ 一部のコマンド・ファイル位置は自身で用意した環境に応じて変えてください
以下をコピーして適当なテキストファイルに貼り付け、拡張子を .txt
から .vbs
に変更するだけで(自分用の内容にはなりますが)完成です。
後述のテキストを読めば、馴染みの無い方でも 軽い改造・カスタマイズ程度は出来るかなーとも思います。
Dim ExePath
ExePath = "C:\MyProjects\ChromeCustomize\SubChrome\chrome.exe"
Dim UA_iPhone
UA_iPhone = """ --user-agent=Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5"""
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\01 " & UA_iPhone
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\02 " & UA_iPhone
二重引用符 "
がやたら重なっていたり、一見不要と思われる半角スペース等が混ざっているように思われますが、
削ると正常に認識されなくなったりエラーが発生するので注意してください
ExePath =
の右辺は、コピーしたサブChromeの chrome.exe 位置を記します
UA_iPhone =
の右辺は、これから起動するChrome側に「このUAモードで起動してね」という情報を与える下準備に相当します。
環境によっては改行されているように見えますが、横に長い一行分として記述してください。
あと、やたら """
が多いですが、これはそういうものだとスルーしてください。
WshShell.Run
の箇所にて、コピーした方の chrome.exe を実行させつつも
同時に「クッキー情報やキャッシュなどを格納するフォルダの位置」を決め打ちで指定しています。
また、先程用意したUAの情報も与えています
もしあなたが「あとでUA偽装の拡張機能を入れて、そちらでON/OFFを任意に切り替えたい。 起動時からの強制UA偽装は不便」
...というのであれば、以下のように、& UA_iPhone
の箇所を削ればOKです。
「UA偽装の用意はしたけれども、結局使いませんでした」 みたいな感じですね。
' ...前略...
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\01 "
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\02 "
さて、" --user-data-dir=c:\socialgame\[ホニャララ] "
という箇所がありますが、
これは先程触れた「メインと完全に切り分けたChromeとして扱う」という命令のようなもので、
ここに指定したフォルダ位置に、起動させたChromeのクッキーや設定ファイル、キャッシュなどを格納させるよう振る舞わせます。
「別のユーザープロファイルで扱う」と説明したほうが伝わり易いかもしれませんね。
丁度 c:\socialgame\01
や c:\socialgame\02
がこれに相当します。
あらかじめ c:\socialgame\
というフォルダ(場所も名前も任意)さえ作成しておけば、あとはそこに上手い事格納してくれます
今後もし、そのソシャゲをアカウント削除・引退・休止等して、サブブラウザでの運用が不要になれば
そのブラウザログイン情報等が格納されているフォルダ ( つまり、対応する c:\socialgame\[ホニャララ]
) を削除すれば、残っているブラウザ情報をスッキリ消す事が出来ます。
勿論 これらを削除しても、メインで使っているGoogleChromeのキャッシュはまた別のところにありますので、そちらへの影響はありません。
.vbs サンプル画像
3. バイナリ書換で横幅表示の制限を撤廃し、コンパクトなサイズで運用できるようにする
2019年頃でしょうか、はっきりとは覚えてないのですが GoogleChrome の横幅最小値の制限が大幅に上がってしまい、従来の様なスリムな横幅での運用が出来なくなりました。
付け焼刃的に、細かい設定項目やバグを利用した対処法もあったのですが、現在はそういったものも無くなってしまったようで正攻法では横幅を縮められなくなっています。
この為、独自に Chromeのバイナリを弄り、無理やり横幅の制限を緩和・撤廃させる方法 を編み出しました。
個人的なメモとして切り分けている節もあるのですが、関連した記事を貼り付けておきますので以下を参考にしてください
-
Chromeの横幅最小制限をバイナリ書き換えで撤廃させる
Chromeの横幅制限を撤廃させ、従来より小さく出来るようにします -
Chrome.dll のバイナリ内で LocationIconView を特定してスキーム文字列を消したり LocationBarView を特定して、横幅の制限を撤廃したりする
上記全体幅とは別に、内部の「ロケーションバー」という箇所の横幅制限を別途撤廃させ、
横幅を縮めても拡張機能アイコンが優先的に折りたたまれたりしないようにできます。
また、全体幅を縮めた副作用によって起こりえる「メニューボタンが右側においやられて隠れ気味になる現象」も緩和されやすくなります。 -
Chrome系のツールバーから拡張機能ボタンやらアバターボタンやらを吹き飛ばす
タイトル通りです。 ややネタ枠です -
chrome.dll の横幅制限箇所を探るまでのノウハウメモ
単純な覚書・ノウハウを記した自分用メモみたいなところがあります
.vbs 起動に関する補足
UA偽装無しであれば以下のような感じでいけます
Dim ExePath
ExePath = "C:\MyProjects\ChromeCustomize\SubChrome\chrome.exe"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\01 "
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\02 "
また、上記の様に2アカウント分同時に起動ではなく、
単純に1アカウント分のブラウザだけ起動させたければ、実行命令を1行分減らせばOKです ↓
Dim ExePath
ExePath = "C:\MyProjects\ChromeCustomize\SubChrome\chrome.exe"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ExePath & " --user-data-dir=c:\socialgame\01 "
この様に、自分なりにカスタマイズした .vbs
を用意し、そこから起動することで、
メインのGoogleChromeとは別のChromeとして立ち上げる事が出来ます。
正直、特にバイナリを書き換えたりしなければ 一々コピーしたサブChromeを用意する必要はないのですが、
まぁこの手を用いてソシャゲ遊んでいる人って昔馴染みの横幅で遊びたい人も結構多いと思いますので...
創意工夫で、快適なブラウザソシャゲライフを、なのです!