背景
非公式アプリ利用者をBANするという措置を取ってきたため、Salmonia3+にも対応が求められました。
以下、考えられうる対策とその対策を実現するためのモードの紹介です。
各モードについて
それぞれのモードについては、
- 非公式APIを使うかどうか
- リクエスト形式が独自のものかどうか
- 公式アプリを利用するかどうか
の違いしかありません。
各種モード | 非公式API | リクエスト形式 | 導入 | 公式アプリ | 有効期限 |
---|---|---|---|---|---|
Direct Mode | 利用 | 独自 | 楽 | - | 無期限/90日 |
Manual Mode | 利用 | 公式 | 楽 | - | 無期限/90日 |
VPN Mode | - | 公式 | 別アプリが必要 | 利用 | 無期限 |
Patch Mode | - | 公式 | 知識が必要 | 利用 | 無期限/7日/365日 |
Objection
通常、アプリを動的解析するのであればデバイスが脱獄されている必要があります。
ですがアプリ自体にバイナリを同梱することで未脱獄状態でも解析ができます。
めちゃくちゃ頑張っていたのですが、以下の作業は全て無になりました。
必要なもの
- Objection
- Frida
- Sideloadly
- FridaGadget.dylib
Sideloadly
SideloadlyはApp Storeを経由せずにデバイスにアプリケーションをインストールするSideloadを可能にするツールのこと。
ツール自体は公式サイトで手に入れることができる。
WindowsとmacOSの両方対応なので嬉しい。
Sideloadの仕組み
まず、大前提としてデバイスにインストールされるアプリは正しく「署名」がされていなければいけない。
Orion
公式ドキュメントには次のようにある。
Orion is a DSL designed to make it entirely effortless to interact with with Objective-C's dynamic aspects in Swift. The project's primary goal is to enable easy, fun, and versatile jailbreak tweak development in Swift. In some ways, it is to Swift what Logos is to Objective-C, but it's simultaneously a lot more than that.
背景
Yarnにはバージョン1とバージョン2(Berry)がありnode_modulesの肥大化を解決している模様。
キャッシュも利用していて、キャッシュが効く場合にはインストールもそれなりに速いらしいです。
効かない場合はむしろ依存関係の問題?でv1の方が10倍くらい速いときもある、謎
バージョン確認
yarn -v
1.22.19
背景
SSH が繋がらなくなっちゃった。
Linode で契約しているサーバーに、root とは異なるアカウント(tkgling)を作成しそのアカウントにログインを試みる。
tkgling@xxx.xxx.xxx.xxx: Permission denied (publickey,password).
背景
リバースプロキシを利用した何も考えずに TLS 対応のサーバーを立てる方法という記事を以前書いていたのですが、知人から「それ、Cloudflare Tunnel 使えばもっと楽だよ」と教えていただいたので、実際に使ってみることにしました。
感想としては、神でした。
背景としては前回と同じで、
- ウェブアプリが NodeJS でポート 3030 で起動中(ポート自体は何でも良い)
- HTTP に対応してポート(80)でウェブアプリにアクセスできるようにしたい
- TLS に対応して HTTPS(ポート 443)でウェブアプリにアクセスできるようにしたい
- TLS の更新に Cloudflare の SSL/TLS を利用したい
- IP アドレスが変更されたときに DDNS で自動的に対応したい