見出し画像

GUI を滅す。―AI の新活用―

CUI >>> GUI

僕は GUI が嫌いだ。GUI は自動化を愛するプログラマーの敵だ。Git によるバージョン管理の目の上のたん瘤だ。

もちろんすべての GUI を否定するわけではないが、僕は Excel よりも Matplotlib を使いたい。Powerpoint より Marp を使いたい。Word よりも Markdown, LaTeX を使いたい。

CUI やテキストベースファイルを用いることの重要性は、LLM がそれらを扱いやすいことから強まってきていると感じる。今でも CLI や Markdown を頑なに拒む層は存在するが、時代の潮流を背に堂々と批判できるのは心地よいものだ。

しかし、現実には「GUIしか提供されていないアプリ」が山のように存在する。企業の公式アプリやクーポンアプリ、そして日常的に使うメッセージングアプリなどがそうだ。これらは広告が煩わしかったり、UI が洗練されていなかったりと、公式クライアントを使いたくない理由が多々あるにもかかわらず、代替品が存在しない。

AI で CLI を作ってみる

これまで僕らは、こうした不便なアプリに対し、改造 APK や Xposed モジュールを用いて対抗してきた。ゼロからサードパーティ製クライアントを開発するより、既存の APK をリバースエンジニアリングする方がはるかに手っ取り早かったからだ。

しかし、今僕の手には AI がある。そこで僕は、とあるアプリに対して TrustMe モジュールを適用し、Certificate Pinning を解除した上で、mitmproxy によって傍受した通信内容を Codex に解析させてみることにした。

その結果、いとも簡単に CLI を作ることに成功し、また様々な操作を自動化することに成功した。(具体的は言えない。すくなくとも、例のサイゼリヤ CLI よりは技術者倫理の域をはるかに超えている👊からだ。)

通信内容は APK などと違い逆コンパイルして地道にメソッドを探す必要がないし、難読化もあまりされていない。これが AI の超高速な実装力とうまくマッチしていたのだ。

リバースエンジニアリングの新たな可能性

AI は、通信のリバースエンジニアリングの大変さという問題を一挙に解決した。ほぼノーコストであらゆるアプリの CLI を作ることができる時代になったのだ。CLI さえあれば僕たちはどこまでも行ける。シェルで自動化を組むことも、Codex に頼んで注文させることも、サードパーティ製クライアントを作ることでベターな GUI を再構築ことだってできる。

今後 GUI として生き残れるのは、X や YouTube のように、すでに極めて洗練された UI/UX を備えているプラットフォームだけであろう。そうしたサービスですら、モジュールによる改変(広告ブロックなど)の対象にはなり得るが。

粗悪な GUI しか持たないアプリの壁は、いとも簡単に突破される。産廃代表の某メッセージングアプリでさえ、非公式の CLI やサードパーティ製クライアントを AI の力で構築できてしまうだろう。

AI は質の低い GUI を淘汰するのだ。



いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
GUI を滅す。―AI の新活用―|ジアゲン (Chippppp)
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1