以前もEmperor AIOと連携するAndroidアプリのOTP連携ツールを作っていましたが、新型を作成しています。
自動動作におけるOne Time Passwordの連携をこのAndroidアプリが担ってくれます。
iOS版も開発予定ですが、iOSの制約で全自動はできないようで、ワンタップは必要なようです。Androidアプリをリリース後に投入します。
近々、Relief Ticket自動購入を投入予定です。お楽しみに!!

2025/8/10追記
Google Play公開のための審査動画に使用した動画を公開します。
アプリは前面で起動している状態で、画面OFFになっている状態からSMSを受信したときにOTPを抽出したことを現しています。
2025/8/11更新
Googleの承認が下りました。今後は12人以上にクローズドテストを14日間以上行って頂くことで公開アプリの要件をを満たすことができます。
そこでテスターになって頂ける方を募集します。メールアドレスをこちらでテスター登録すると、下記リンクからアプリをインストールできます。起動したらhideさせておけば起動していることになりますのでそのまま14日以上経過させてください。hide状態のときは、アプリはsuspended状態で停止しています。Androidのみの対応となっています。
https://play.google.com/store/apps/details?id=org.qtproject.UsefulTools
※テスター登録を行わないとアクセスできません
2025/8/14追記
Chromiumのバージョンアップと共に、私が愛用していたQtとの共存が不可能になりました。やり方はあるのかもしれないが、私なりに色々試した結果の結論です。
Chromium v138からそれまでの設計思想から破壊的仕様変更が行われたことが原因ですが、詳細が良く分からず、そこに時間を掛けてまでしてQtを使い続けるか自問自答していましたが、遂に諦める決意をしました。
他の仕事ではC#を使っているのですが、進化が凄く過ぎて、一昔前に今のコードを見たとき、この書き方はどうやって処理されるコードなの?と疑問になるぐらい書き方が変わってしまっています。でもコードの書き方も便利になっていることは確かなので、今後はC# with Chromium Engineを使ってアプリ開発を行っていきます。
但し、当面は認証がきついサイトのみの使用となります。RELIEF TICKETは認証がきついために最新のブラウザを使う必要があるため最新のChromium Versionを使用するためにC#アプリを使います。
2025/8/17追記
C#版のベースとなるアプリが完成しました。
処理速度はC++版に比べれば多少は劣ると思いますが、人間の目では分からない程のものです。これを使うのはreCAPTCHA v2 or v3、その他CAPTCHAを使うサイトに対して有効なものであり、全てのBOTがC#に移行する訳ではありません。
https://github.com/zattu1/CefSharp
2025/8/27追記
Googleより審査結果に違反があるとの通知を受けました。
Android15でSMS受信時にアプリを起動できる権限なのですが、無効と判断されてしまいました。

これに連動しているようで、Googleが本アプリの権限をリモート操作で不可にされてしまったようで、SMS受信時にアプリが起動できなくなってしました。(開発時は起動していたのを確認できていたのですが。。。)
そのため、本アプリを利用するときは、開発者オプションでスリープモードにしないを設定して、電源をつけっぱなしの状態にするほかありません。

2025/9/11追記
上記の設定は不要になりました。スリープ中でもSMSは受信するので、そのときにUIは表示せずにJava層だけでTCP送信する仕組みに変えたことで、スマホの画面が復帰しなくてもOTPを受け取ることができるようになりました。
このRELIEF-TICKETサイトは、購入の手続きは異様に多く、
1.日時選択画面
2.携帯電話番号認証画面
3.携帯電話番号入力画面
4.購入に関する注意事項画面
5.同行者情報の登録画面(2人チケットの場合のみ)
6.クレジットカードの指定画面
7.Confirm画面(まだ見たことが無い)
8.恐らくComplete画面
とやることがめちゃくちゃ多い。
SMSのOTP連携を経て、やっとここまで来ました。
試す機会が極端に少ないから開発の進捗が遅くなってしまう。。。


2025/09/16
テスト購入しました。
リセールのリセールはできないので、経費で落とすのみです。

2025/09/18追記
ついに自動購入動作が完結することが確認できました。
3Dセキュア画面に遷移するときのファイアウォールブロックの許可メッセージは、最初のみ出現します。
OTP(ワンタイムパスワード)認証については、iPhoneのをお持ちの場合は、BOT内のブラウザから手動入力を行ってください。
購入枚数は、1枚のみ、2枚のみ、1枚 or 2枚のときで選択できます。
購入動作に入った時点で、座席確保状態になっているので、恐らくOTP認証の5分間の猶予中に購入が完了できれば問題ありません。
今回は、Chromiumを使ったアプリを今までのC++からC#に変えたことで、ほぼほぼコードを書き換えた点、Androidアプリのバックグラウンドの動作や挙動の調査に時間が掛かった点、RELIEF-TICKETサイトにPostリクエストを完全に同じデータを送っても失敗してしまうため(違うところがCookieぐらいしか残っていないが全てのコード解析は厳しいので)、やむを得ずブラウザの自動操作に切り替えた点、当社のライセンス認証回りのコードの移植に時間が掛かってしまった点、なかなかリストックされない点などなどがあり、1か月半の時間が掛かってしまいました。
Androidアプリを利用時に、1点だけ注意点があります。
Androidアプリは、SMSからOTP受信すると、RELIEF TICKET自動購入ツールがAndroidアプリに接続しに行き、OTPの受信を待つことになります。Android側のIPアドレスが変わると、RELIEF TICKET自動購入ツールが接続できなくなりOTP連携が出来なくなるため、IPアドレスを固定にする必要があります。
以下の設定から、IP設定をDHCPから静的に切り替えてください。

次に、赤枠部分がOTPサーバのIPアドレスになります。これをRELIEF TICKET自動購入のIPアドレス欄に入力します。
そして、青枠が「サーバー停止」の状態になっていることを確認してください。「サーバー開始」の場合は繋げることができません。

また、「サーバー開始」ボタンを押下してもエラーが表示される場合は、以下の「アプリ終了」ボタンにて終了してから、再度OTP連携アプリを開いてください。

購入動作を開始する前に必ずOTP連携アプリと接続ができることを確認するようにしてください。確認が出来たら切断してください。

当社製のAndroidアプリを世に出したいので、興味がある方は以下にアクセスしてボタンを押下してください。
https://play.google.com/apps/testing/org.qtproject.UsefulTools

このアプリは、Android側からPCに接続するのではなく、PCからAndroidに接続する形態を取っているため、複数のPCアプリから受け付けることを想定した設計になっており、SMSを受信してから10秒以内にAndroidアプリに接続してきたPCに対してのみOTP連携する仕様になっています。そのため、SMS認証が同時に発生する事がまず起きない状況であれば、「1:多=Android:PC」という環境にて動作させることが可能です。