iOS位置情報スプーファー
概要
このリポジトリは「脱獄不要」でiPhoneの位置情報を偽装(spoofer)するための実験的な実装です。作者はAppleのCoreLocationの仕組み(APスキャン→Appleサーバへ送信→AP位置を受信→端末で三角測量)を利用して、VPNによるMan‑in‑the‑Middleで応答を書き換える手法を提案・実装しています。Swiftで書かれたiOS側コンポーネントと、応答を書き換えるためのGoベースのサーバ部品(GoSpoofer)を含み、研究目的での動作検証を行う構成です。(約300字)
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 9
- ファイル数: 11
- メインの言語: Swift
主な特徴
- NetworkExtension(VPN)を利用してデバイスの通信を中継し位置情報取得の応答を改変するアプローチ
- iOSクライアント(Swift)と応答改変用のGoコンポーネントを含むハイブリッド構成
- 脱獄不要で動作させることを目標とした実験実装
- 研究/教育目的のサンプルとして設計(商用・配布前に注意が必要)
技術的なポイント
本プロジェクトの核は、iPhoneが位置情報を推定する際に参照するWi‑Fiアクセスポイント情報や位置返信データを“経路上で”書き換える点にあります。iOSは端末側で周辺のアクセスポイントをスキャンし、そのリストをAppleの位置情報サービスに送信、サーバから返されるアクセスポイントの座標情報などを用いて端末位置を算出します。作者はこの流れに対してNetworkExtensionのVPN(パケットトンネル)を導入し、端末と外部のやり取りを中継/解析して、位置を決めるために返されるレスポンスを改変することで任意の位置を返す仕組みを作っています。
実装面ではiOS側がSwiftでVPN関連の処理(トンネル起動、パケットの読み書き、プロキシ処理の導入)を行い、GoSpoofer側がサーバ的にレスポンスのパースと書き換えロジックを担う構成が見受けられます。TLSやAppleのサービスの振る舞い、通信フォーマットの変更に対処するためにパケット解析・プロキシ処理・HTTP/HTTPSの再構築(必要に応じてミドルボックス処理)といったネットワーク技術が利用されています。
注意点として、実環境での運用は多数の制約があります。NetworkExtensionの利用には適切な権限(entitlement)やプロビジョニングが必要であり、App Store配布は困難です。さらにApple側のサービスはTLSや認証で保護され、完全なMITMにはカスタム証明書やデバイス側での信頼設定が必要となる場合があります。プライバシーと法令順守も重要であり、実施は自己責任で研究・検証用途に限定すべきです。(約700字)
プロジェクトの構成
主要なファイルとディレクトリ:
-
.gitignore: file
-
App: dir
-
AppIcon.icon: dir
-
GoSpoofer: dir
-
HACKS.md: file
-
README.md: file
-
LICENSE: file
-
Info.plist: file
-
Podfile: file
-
Sources: dir
-
Utils.swift: file
…他 6 ファイル
まとめ
脱獄不要でiOS位置偽装を試すための研究用実装。扱いと配布には注意が必要です。(約50字)
リポジトリ情報:
- 名前: ios-location-spoofer
- 説明: Spoof IOS GPS Location without jailbreaks
- スター数: 2
- 言語: Swift
- URL: https://github.com/acheong08/ios-location-spoofer
- オーナー: acheong08
- アバター: https://avatars.githubusercontent.com/u/36258159?v=4
READMEの抜粋:
IOS Location Spoofer
https://github.com/user-attachments/assets/456d508c-2104-4d10-9458-e58e84b74788
How it works
I did some research a few years back on how IOS location services worked: https://github.com/acheong08/apple-corelocation-experiments
TL;DR: iPhone scans for WIFI access points, sends the list of access points to Apple, Apple tells device where those points are, iPhone triangulates. What you can do here is have a VPN that does a Man in the Middle attack and rewrite the res…