LoginSignup
1
0

More than 5 years have passed since last update.

星翼ナビをPCから閲覧する(+α)

Last updated at Posted at 2019-04-01

はじめに

本記事はエイプリルフールとして扱っていただければ幸いです。

背景

星翼ナビ(HTN)ですが、1.0.1から脱獄対策が入ったのか、起動できなくなりました。もはやPC以外からやる意味はないので、イカリング2を見る記事も公開されているようですし、此方も公開することにします。

uuidを得る

アプリインストール時に内部的に生成されるトークンです。APIへのアクセスはこのトークンを使って行います。
これがわからないと無力です。得るのは少し難しいですが、がんばりましょう。

方法ですが、
SSLプロキシを立てて https://mobile.starwing.jp/api/auth/sign_in?uuid=*** へのアクセスが確認できたら、この***がuuidになります。35桁の英小文字・ハイフンからなる文字列です。
SSLプロキシは私はCharlesを使いました。mitmproxyでもいいと思います。

AndroidでSSLプロキシを使う場合、アプリの改造が必要らしいです。
- https://stackoverflow.com/a/40944883/2641271
- https://github.com/levyitay/AddSecurityExceptionAndroid
どこかからapkを拾ってきて、パッチして、adbから入れてください。
勿論アプリの再インストールにはデータバックアップが必須となりますのでご注意。

ブラウザでの準備

  1. Chromeで、Android UserAgentにして https://mobile.starwing.jp/ に飛ぶ
  2. デベロッパーコンソールから localStorage.auth='{"uuid":"取得したUUID"}' と入れる
  3. window.navigator.userAgentにHTN-iOS-1.0.1(または HTN-Android-1.0.1)が含まれる状態にする cTouchを使ってokです
  4. リロードする

以上でHTNが立ち上がりました。

データバックアップ

(iOS 10 HTN 1.0.0の場合不具合があるので)データバックアップは手動で取りましょう。
といっても難しくないです。
iOSなら https://psg.sqex-bridge.jp/ntv/189/reg/top?type=1&UUID=[取得したUUID]
Androidなら https://psg.sqex-bridge.jp/ntv/189/reg/top?type=2&UUID=[取得したUUID]
にアクセスすればよいです。「UUID」は大文字、取得したUUIDの中身は小文字になるので注意です。

iOS 10への引き継ぎ

(iOS 11以上、またはHTN 1.0.1以降は通常の引き継ぎが行なえますので、本項は必要ありません)
(初稿はHTN 1.0.0時代に書かれたものですので実行しても意味はありません。むしろ脱獄することで使用不能になるおそれがあります)

iOSへの引き継ぎをシミュレーションする

AndroidからiOS 10へ引き継ぐためには、引き継ぎをシミュレーションする必要があります。type=1だとiOS、type=2だとAndroidのUserAgentしか受け付けないからです。なのでOSをまたいで共存させることはできません。しかしOS種別が同じであれば無制限にログイン状態を共有できます。

  1. Chromeで、https://psg.sqex-bridge.jp/ntv/189/update/top?type=1&UUID=[UUID] にアクセスする。UUIDの生成はよくわかりません。不安ならAndroidアプリを初期化してもう一個生成しちゃいましょう。
  2. 引き継ぎ処理を行う
  3. https://mobile.starwing.jp/callback/sqex にアクセスする
  4. ログイン画面に飛ばされますが、引き続き https://mobile.starwing.jp/api/my/migrate?uuid=[UUID] にアクセスする
  5. ログイン画面に飛ばされますが、引き続き https://mobile.starwing.jp/api/auth/sign_in?uuid=[UUID] にアクセスする
  6. トークンが得られることを確認したら、localStorage.authを入力してからトップに移動。動作を確認したら、SafariでlocalStorage.authを入力する
  7. Safariを終了し、https_mobile.starwing.jp_0.localstorage*を得る

iOS端末に引き継ぎ情報を導入する

  1. iOSを 脱獄 し、SSHd(dropbear)を立てておく
  2. iOSのアプリ領域/Library/WebKit/WebsiteData/LocalStorage/にコピーする

# localstorageだけ生きてれば他のデータが全て死んでても起動するってアプリの作りとしてあかんやろorz

課金

uuidを使い回す以上、課金はしないほうがいいかもしれません。私は課金するつもりはないです(そこまでカスタマイズするものでもない)。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0