## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-WZQCONGCONG-MACSUBSTRATE
# macSubstrate - macOS用Substrate

**macSubstrate** は、macOSにおけるプロセス間コード注入のためのプラットフォームツールであり、iOSのCydia Substrateと同様の機能を持ちます。macSubstrateを使用すると、プラグイン(`.bundle`または`.framework`)をmacアプリ(サンドボックス化されたアプリを含む)に注入して、ランタイムで改変できます。
* 必要なのは、対象アプリ用のプラグインを入手または作成することだけです。
* 元の対象アプリの修正やコード署名に手間はかかりません。
* 対象アプリが更新された後も追加作業は不要です。
* プラグインのインストールやアンインストールは非常に簡単です。
* 対象アプリが再起動されるたびに自動的にプラグインをロードします。
* 注入をより簡単にするGUIアプリを提供します。
* * *
### 準備
* SIPを無効にする
* なぜSIPを無効にする必要があるのか
> `System Integrity Protectionは、すべての実行中のプロセス(特権コードやサンドボックス外で実行されるコードを含む)に適用される新しいセキュリティポリシーです。このポリシーは、ディスク上およびランタイム時のコンポーネントに対する保護を拡張し、システムバイナリの変更をシステムインストーラとソフトウェアアップデートにのみ許可します。システムバイナリへのコード注入およびランタイムアタッチメントは許可されなくなりました。`
* * *
### 使用方法
1. macSubstrate.appをダウンロードし、`/Applications`に配置して起動します。

2. 必要に応じて認証を許可します。
3. プラグインをインポートするか、macSubstrateにドラッグ&ドロップしてインストールします。

4. 対象アプリを起動します。
_`手順3と手順4は入れ替え可能です`_
**一度プラグインがmacSubstrateによってインストールされると、すぐに効果が現れます。ただし、対象アプリが再起動されるたび、またはmacOSが再起動されるたびに機能させるには、macSubstrateを実行したままにし、ログイン時に自動起動するように設定する必要があります。**
5. プラグインが不要になったらアンインストールします。

* * *
### プラグイン
macSubstrateは **`.bundle`** または **`.framework`** のプラグインをサポートしているため、有効な`.bundle`または`.framework`ファイルを作成するだけで済みます。最も重要なことは、`info.plist`にキー **`macSubstratePlugin`** を追加し、その値をディクショナリにすることです:
Key| Value
---|---
`TargetAppBundleID`
詳細については、デモプラグインdemo.bundleとdemo.frameworkを確認してください。
##### Xcodeテンプレート
macSubstrateは、プラグインを便利に作成するための `Xcodeテンプレート` も提供しています:
1. `ln -fhs ./macSubstratePluginTemplate ~/Library/Developer/Xcode/Templates/macSubstrate\ Plugin`
2. Xcodeを起動すると、2つの新しいプラグインテンプレートが利用できるようになります。
##### 自作プラグイン
WeChat用のプラグインも作成しました:
* _HongBao_ (お年玉)メッセージを受信したときに通知を送信します。
* カスタマイズしたキーワードを含むメッセージを受信したときに通知を送信します。
* メッセージの取り消しを防ぎ、通知を送信します。
あなた自身のプラグインのプルリクエストをPluginsに歓迎します :)
* * *
### セキュリティ
1. SIPはmacOSの新しいセキュリティポリシーであり、潜在的なセキュリティリスクからあなたを守るのに役立ちます。SIPを無効にすると、SIPによる保護を失うことになります。
2. 開発者からプラグインをインストールする場合、プラグインのセキュリティについてはあなた自身が責任を負う必要があります。信頼できない場合はインストールしないでください。macSubstrateはプラグインのコード署名を検証するのに役立ちますが、VirusTotalを使用してスキャンすることをお勧めします。いずれにせよ、macSubstrateは単なるツールであり、どのプラグインをインストールするかはあなたの選択です。
* * *
### ライセンス
macSubstrateはMITライセンスの下で公開されています。詳細はLICENSEを参照してください。
* * *
### 謝辞
macSubstrateは以下のプロジェクトに触発され、その助けを借りて作成されました:
* Cydia Substrate
* mach_inject