プロフィール

髭山髭人(ひげひと)

自分の書いた記事が、一人でも誰かの役に立てれば...
活動信条の一つとして「貴方のメモは、誰かのヒント」というのがあります。

このサイトについて

本家HP(packetroom.net)から切り離した いわゆる技術メモ用のブログで、無料レンタルサーバーにて運用しています。広告表示はその義務なのでご容赦。
XREA さんには長年お世話になっています

サ終した Qrunch (クランチ) と呼ばれる技術ブログサービスに掲載していた記事も含まれます

サブChromeを用意し、バイナリ書換で横幅を縮めたり起動バッチを仕込んだりして快適ブラウザソシャゲライフを送る

概要とか

UA偽装をメインとした PCブラウザ経由でのソシャゲプレイを行うにあたり、自分が仕込んでいる幾つかのギミックを紹介していきます

※ 自身が GoogleChrome をメインブラウザに据えている事を前提にしています

  1. ソシャゲ用のブラウザとしてGoogleChromeをコピーしたものを使う
  2. 起動の際、.vbs ファイルを経由する
    2-1. メインと完全に切り分けたChromeとして扱う(別プロファイル)
    2-2. 同じく、起動時にUA指定コマンドを含ませ、拡張機能なしでUA偽装を行う (好みによる)
  3. バイナリ書換で横幅表示の制限を撤廃し、コンパクトなサイズで運用できるようにする

順を追って解説していきます

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\01c:\socialgame\02 がこれに相当します。
あらかじめ c:\socialgame\ というフォルダ(場所も名前も任意)さえ作成しておけば、あとはそこに上手い事格納してくれます

今後もし、そのソシャゲをアカウント削除・引退・休止等して、サブブラウザでの運用が不要になれば
そのブラウザログイン情報等が格納されているフォルダ ( つまり、対応する c:\socialgame\[ホニャララ] ) を削除すれば、残っているブラウザ情報をスッキリ消す事が出来ます。

勿論 これらを削除しても、メインで使っているGoogleChromeのキャッシュはまた別のところにありますので、そちらへの影響はありません。

.vbs サンプル画像

3. バイナリ書換で横幅表示の制限を撤廃し、コンパクトなサイズで運用できるようにする

2019年頃でしょうか、はっきりとは覚えてないのですが GoogleChrome の横幅最小値の制限が大幅に上がってしまい、従来の様なスリムな横幅での運用が出来なくなりました。
付け焼刃的に、細かい設定項目やバグを利用した対処法もあったのですが、現在はそういったものも無くなってしまったようで正攻法では横幅を縮められなくなっています。

この為、独自に Chromeのバイナリを弄り、無理やり横幅の制限を緩和・撤廃させる方法 を編み出しました。

個人的なメモとして切り分けている節もあるのですが、関連した記事を貼り付けておきますので以下を参考にしてください

.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を用意する必要はないのですが、
まぁこの手を用いてソシャゲ遊んでいる人って昔馴染みの横幅で遊びたい人も結構多いと思いますので...


創意工夫で、快適なブラウザソシャゲライフを、なのです!