80 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# iOS Corellium に接続する方法
{{#include ../../banners/hacktricks-training.md}}
## **前提条件**
- Corellium の iOS VMjailbroken 可)。このガイドでは Corellium へのアクセスがあることを前提とします。
- ローカルツール: **ssh/scp**.
- (オプション)パスワードレスログイン用に **SSH keys** を Corellium プロジェクトに追加しておく。
## **ローカルホストから iPhone VM に接続する方法**
### A) **Quick Connect (no VPN)**
0) **`/admin/projects`** に ssh key を追加する(推奨)。
1) デバイスページを開く → **Connect**
2) Corellium に表示される **Quick Connect SSH command** をコピーして端末に貼り付ける。
3) パスワードを入力するか、推奨SSH key を使用する。
### B) **VPN → direct SSH**
0) **`/admin/projects`** に ssh key を追加する(推奨)。
1) デバイスページ → **CONNECT****VPN**`.ovpn` をダウンロードし、TAP モードをサポートする任意の VPN クライアントで接続する。(問題がある場合は [https://support.corellium.com/features/connect/vpn](https://support.corellium.com/features/connect/vpn) を確認)
2) VM の **10.11.x.x** アドレスに SSH で接続:
```bash
ssh root@10.11.1.1
```
## **ネイティブバイナリをアップロードして実行する**
### 2.1 **アップロード**
- もし Quick Connect が host/port を教えてくれた場合:
```bash
scp -J <domain> ./mytool root@10.11.1.1:/var/root/mytool
```
- VPN (10.11.x.x) を使用している場合:
```bash
scp ./mytool -J <domain> root@10.11.1.1:/var/root/mytool
```
## **iOSアプリをアップロードインストール (.ipa)**
### パス A — **Web UI最速**
1) Deviceページ → **Apps** タブ → **Install App**`.ipa` を選択。
2) 同じタブから **launch/kill/uninstall** が可能。
### パス B — **Scripted via Corellium Agent**
1) API Agent を使って **upload** し、続けて **install**:
```js
// Node.js (pseudo) using Corellium Agent
await agent.upload("./app.ipa", "/var/tmp/app.ipa");
await agent.install("/var/tmp/app.ipa", (progress, status) => {
console.log(progress, status);
});
```
### Path C — **Non-jailbroken (適切な署名 / Sideloadly)**
- プロビジョニングプロファイルがない場合、**Sideloadly** を使って Apple ID で再署名するか、Xcode にサインインしてください。
- また、**USBFlux** を使って VM を Xcode から利用できるようにすることもできます§5参照
- SSH がなくても素早くログやコマンドを確認したい場合は、UI のデバイス **Console** を使用してください。
## **補足**
- **Port-forwarding** (他のツールから VM をローカルのように扱えるようにする):
```bash
# Forward local 2222 -> device 22
ssh -N -L 2222:127.0.0.1:22 root@10.11.1.1
# Now you can: scp -P 2222 file root@10.11.1.1:/var/root/
```
- **LLDB remote debugging**: デバイスページ下部に表示される **LLDB/GDB stub** アドレスを使用してください (CONNECT → LLDB).
- **USBFlux (macOS/Linux)**: VM を **Xcode/Sideloadly** にケーブル接続されたデバイスのように認識させます。
## **よくある落とし穴**
- **Proper signing** は **non-jailbroken** デバイスで必要です。unsigned IPAs は起動しません。
- **Quick Connect vs VPN**: Quick Connect が最も簡単です。デバイスをローカルネットワーク上で使う必要がある場合(例: ローカルプロキシ/ツール)は **VPN** を使用してください。
- Corellium デバイスには **App Store** がありません。自分で (re)signed IPAs を用意してください。
{{#include ../../banners/hacktricks-training.md}}