FF11ログインが大変だからちょっとだけ楽したい

FF11をやるときにやるかやらないかまぁまぁ大きい壁
それは「ログインではありませんか。」

一度入力すれば保存してくれる項目もありますが、
スクウェア・エニックスアカウントのパスワードとワンタイムパスワードは、
もう十年以上、いまだに毎回入力しないとゲームまでたどり着けません。

ざっくり書いても押すボタンが多い

UACクリック
↓
POLアカウント選択
↓
SQEXのパスワード入力
↓
ワンタイムパス入力
↓
FF11選択起動
↓
キャラクター選択
↓
ゲームへ。

めちゃくちゃ粗い計算だけど

ログぽだけでも貰うかーと思ってログイン
時間にして20秒程度の作業だけしようにも

めんどくさいが先に立ってやめる
そのまま、ログインしないこともあります。

塵ツモで1日1~2回ログインする場合
365日で730回 それに x20秒 14,600秒
2垢の場合 x2で29,200秒 3垢だと43,800秒
つまり時間にして

年間あたり

ソロだと4時間3分20秒のロス(オデシー8回分)
2垢だと8時間6分40秒のロス(ソーティ8回分)
3垢だと12時間10分0秒(ダイバー6回分)
くらいの作業量。※作業といっていいのか

そこで!
起動から最初のパスワードを入力するまでを行うスクリプトを書きました。
(ワンタイムパスをつかってなかったら元々スクエニアカウントのパスは
保存してくれていたと思うんですけどね・・・)


ワンタイムパスワードは、さすがにセキュリティ上自分で
入れたほうがいいと思うので、入力欄にカーソルを合わせた
ところで終了します。

使い方

ダウンロード方法は記事末尾の『DLについて』をご覧ください。

セットアップファイルをDL後インストールしたら

起動する前の設定を行います。

POLの実行ファイルを指定します。
アカウント選択では↓に対応する場所のアカウントをクリックするようになります。

詳細設定を開いたところです。

クリックがずれたりPOLの起動が遅く
タイミングがずれる場合は
詳細設定から調整できます。

設定保存後に

ショートカットのFF11Bootを起動すると
パワーシェルとPOLが起動します。
パワーシェルでは何のキー操作が行われたかログが表示されます。
※キー操作中にアクティブなウィンドウを切り替えたり、何かPC上で操作すると
クリックなどの位置がずれるのでスクリプトが操作している間PCは触れないです。

後は勝手に

設定で指定されているアカウントの場所をクリックします。

ログインをクリックします。

スクウェア・エニックスパスワードの入力欄をクリックして

設定で保存していたパスワードをペーストします。

ワンタイムパスワードの入力欄にカーソルを合わせます。

ワンタイムパスワードを入力するときにキーボードを表示するに
チェックがあるとソフトウェアキーボードが開きます。
マウスだけ完結したいときにいいかもです。
自分でワンタイムパスをいれてここからはいつも通り手動で進めます。

なぜインストーラー形式なのか

POLでFF11を起動しようとすると、毎回画面が暗転して
「このアプリがデバイスに変更を加えることを許可しますか?」
(UAC)の確認が出ます

セキュリティのための仕組みなので、完全に切るまではしなくていいと思います。
ただ、起動回数が多いとこのクリックすらかなりうっとうしい。
アイコンをクリックしたら、ワンタイムパスワードの入力までは
何もせずに進んでほしいわけです。

そこでFF11Bootでは、タスクスケジューラ経由でPOLを起動するようにしています。
タスクスケジューラなら、管理者権限を付与した設定のまま
プログラムを実行できるので、UACの確認が出ません。
「管理者だからいいよ」という感じです。

ただ、タスクの作成・削除を使う人が毎回意識するのは面倒です。

そこで、

・インストール時:タスクスケジューラのタスク作成、管理者権限の設定、ショートカットの作成
・アンインストール時:タスクの削除、インストールしたファイルの削除

を自動で行うようにしました。要は「UACの画面を出さない」を楽に実現するためのインストーラーです。

※セキュリティを気にするなら、UAC自体は有効のままにしておくのが安心だと思います。

使っている技術

・Python:パスワードの保存やアカウントの選択など、設定をGUIで行う部分
・PowerShell 5.1:polboot.exeの起動、キー送信、クリック、パスワードの貼り付け

POLのメモリを読んだり、イベントフックしたりする動作は一切していません。
なお、POLはウィンドウモードでの使用を前提にしています(フルスクリーンでの動作は確認していません)。

保存されるデータ

場所内容
%LOCALAPPDATA%\FF11Boot\config.ini設定。SQEXパスワードは暗号化されず平文で保存されます
%LOCALAPPDATA%\FF11Boot\otp.txt入力したワンタイムパスワード。読み込み後に削除される
  • パスワードとワンタイムパスワードは、貼り付けのためにクリップボードを通ります。Windowsのクリップボード履歴・クラウド同期には残らないよう設定していますが、履歴オンの実機での確認はまだできていません。
  • 外部への通信や、利用状況の送信は行いません

アンインストール

スタートメニューの「FF11Boot」フォルダ内「FF11Boot をアンインストール」、またはWindowsの「設定 → アプリ」から実行します。削除されるのは以下です。

・インストール先:C:\Program Files (x86)\FF11Boot 内のファイル
・タスクスケジューラ:タスク「FF11Boot」
・デスクトップショートカット:「FF11 起動」「FF11 起動設定」
・%LOCALAPPDATA%\FF11Boot:config.ini(保存したパスワードを含む)を含めてフォルダごと削除(確認なし)

注意点:
・設定を残したい場合は、アンインストール前に %LOCALAPPDATA%\FF11Boot\config.ini をコピーしておいてください
・POL / FF11本体には触れません
・削除されるのは、アンインストールを実行したユーザーのデスクトップと %LOCALAPPDATA% です。別のユーザーで使っていた場合、そのユーザー側の設定は残ります
・タスクだけが残ってしまった場合は、管理者のコマンドプロンプトで schtasks /delete /tn FF11Boot /f を実行してください

ソースコード・ライセンス

MITライセンスでOSSとして公開しています。ソースコードも添付します。

開発方針

ゲームが有利になるような機能、つまりゲーム内操作の自動化・放置プレイ・繰り返し動作にあたる機能は追加しません。

免責(必ず読んでください)

本ツールは非公式の個人制作物で、株式会社スクウェア・エニックスおよびPlayOnlineとは関係ありません。「FINAL FANTASY」「PlayOnline」等は各社の商標または登録商標です。

対象はPOLのログイン画面の操作のみです。ゲームには一切入らず、ゲーム内の操作は行いません。POLのプロセスへのコード注入やメモリの読み取りもしません(画面上のクリック、キー入力、クリップボードを使うだけです)。

ただし、POLの規約(PlayOnline会員規約第13条など)は、ログイン補助を明示的に許可も禁止もしていません。文言からあからさまに違反しているわけではないものの、グレー寄りだと考えています。

利用は自己責任で、公式の規約を各自で確認してください。
ソフトウェアは無保証です(LICENSE参照)。

こんなことせずとも、POLを公式で早く整理してもらえたら……!

DLについて

「FF11BootSetup.exe をダウンロード(v1.06)」

ソースコードはGitHubで公開しています

GitHub – naoijponly/FF11Boot: POL起動補助
POL起動補助. Contribute to naoijponly/FF11Boot development by creating an account on GitHub.

タイトルとURLをコピーしました