ジェイルブレイクやファイルマネージャーを使用せずにiOSでファイルを自動的にコピーする

私は1つのプロジェクトに出くわしました。本質的に超自然的なものではありません。サーバーからデータがダウンロードされる最も一般的な写真のギャラリーですが、それでも非常に興味深いものでした。 まず第一に、このアプリケーションはこの世界の強力なオリガルヒのために特別に作成されたため、ギャラリーに表示される画像は決して第三者に届かないことを考慮する必要がありました。 すべての要件によれば、サーバとの通信はSSLを介して行わなければならない、その過程で各要求は、証明書は、委任状をサーバから受信した確認する必要があり、これだけ確認後、各特定の要求のためのユーザの検証に必要な証明書を送信します。 つまり、すべての要求が同じ証明書を使用するわけではありません。つまり、クライアントとその登録に応じて、特定の数の証明書をデバイスに転送する必要があります。



必要な証明書をデバイスに転送するにはどうすればよいかという疑問に直面しました。 最初に、ファイル共有を使用してiTunes自体にファイルをコピーする方法、Wi-Fiを介してキーチェーンに証明書をダウンロードする方法、電子メールで証明書を送信する方法などを検討しました。 しかし、それらはすべていくつかの要件に適合しませんでした。



1.セキュリティの概念に基づいて、有線接続のみを使用して、ワイヤレスネットワークを使用することはできません。

2.ユーザーはファイル転送に参加しないでください。

3.禁止システムのキーチェーンを使用してください。

4.すべてが多かれ少なかれ気付かなければなりません



すべての調査と議論の後、すべての要件を満たす方法が見つかりました。 これは、iPhone / iPad用のいくつかのファイルシステムブラウザー(iPhone Explorer、iDisk、iPhoneブラウザー)の実装で使用されましたが、そのアプローチは明確ではありませんでした。 私たちの最愛のグーグルでの次のレースと多くの審議の後、それはすべてのこれらのブラウザは、自分の仕事で、iTunesを使用して、それがプライベートフレームワークMobileDevice.frameworkていることが明らかになりました。 それを使用するために、MobileDevice.hファイルが抽出されました。このファイルは、リバースエンジニアリングを通じて親切な人々によって生成されました。 そして、魔法が始まりました...



この.hファイルのすべての機能を検証した結果、その目的と、デバイスを操作するおおよそのモデルがわかりました。 しばらくすると、私はのホールドとMを得ることができました。 これらの機能のいくつかのファイル実装。 そして、必要に応じて必要な変更を加えた後、次の機能を使用できます。



1.アプリケーションを識別子で検索します(アプリケーションとそのディレクトリの場所を決定するためにアプリケーションで必要です)。

2.インストールされているすべてのアプリケーションのリストを表示します。

3.ディレクトリのリストを表示します。

4.ディレクトリの内容を表示します。

5.コピー/お使いのデバイスにファイル。

6.接続/切断されたデバイスの定義。

7. Mediaフォルダーとそのすべてのフォルダーとファイル、および他のいくつかを表示します。



これらのすべての機能が脱獄なしで利用できることを追加する価値があります。 エンドユーザーのために、それがデバイスをハッキングし、SSHやSFTPおよび独立したコピーファイルを経由して、それを結ぶ理解するために、非常に不快、時には不可能であろうので、これは、非常に重要です。 さらに、ごく普通の市民が開発したプログラムを使用するべきではありません。



このシステムはクライアントによって最も頻繁に使用されるため、このライブラリを使用するために、Mac OS用のコマンドラインアプリケーションが作成されました。 簡単で便利なように、アプリケーション識別子、ファイルのソースパス、およびコピー先のパスは、アプリケーションの入力パラメーターに示されています。 デバイス自体のアプリケーションの/ Documentsフォルダーにあるファイルを使用すると便利なため、ほとんどの場合、ファイルの最終ディレクトリとして示されます。



すべての関数とソリューションの実装は不便であり、多くのコードを必要とします。記述されたライブラリは小さくないため、このコンソールアプリケーションは、GitHubのプロジェクトで使用するすべての人に投稿されました: github.com/xslim/mobileDeviceManager



誰もが仕事、面白いプロジェクトを楽しんでいるので、要件は常にあなたの能力に合っています!



追伸、誤字を訂正しました。 トピックは営業日後に書かれましたが、そこからエラーが発生しました。



All Articles