2012-04-16 6 views
1

現在、私のプロジェクト、ネイティブアプリケーションを追跡するスマートフォンについていくつかの調査を行っています。私が読むことができる資料へのリンクは非常に高く評価され、最も有用で包括的な応答が受け入れられます。スマートフォンハンドセットを一意に識別、追跡、ロックするためのネイティブアプリの作成

主なターゲットスマートフォンは、Android、Blackberry、iPhoneモデルです。

私はここで見つけましたUniquely Identify an Android Handset IMEIを使ってアンドロイドを一意に識別することができますが、私はかつてこれが偽装されていると読んでいると思います。私はiPhoneとBlackberryについて知らない。

  1. スマートフォンデバイスを一意に識別する最も信頼できる方法はありますか? MACアドレスは機能することができますか、それともなりすますことができますか? IMEIは本当に偽装できますか?
  2. デバイスが盗難として報告されると、独自の識別情報を使用してデバイスをカスタムエラーメッセージでリモートで「ロック」することはできますか?このロック状態は、ネットワークに接続されていなくても、ネットワークに再接続され、再びリモートでロック解除されるまで、電話に残ります。
  3. このような遠隔の電話のロックが可能であると仮定すると、そのような泥棒によって可逆的なことができますか?ネイティブアプリはステルスモードで実行され、アンインストールできません。
  4. この場合、クロスプラットフォームソリューションを使用できますか、またはプラットフォームごとにさまざまなネイティブアプリケーションを開発する必要がありますか?

編集: もう少しの文脈。正直言って、アップルの「Find my Phone」は、この正確なことを既に行っている(私はただそれについて知っているが、すでに完璧なフィット感のように見える)。アプリのインストールを選択しているユーザーには、アプリをインストールすると電話が一意に識別されることが通知されます。デバイスをロックするために、「私の電話を見つける」はそれを行います(私は集まります)。今私はそれが他の2つのプラットフォームでどのように可能であるかを知る必要があります。

+1

iOS/iPhoneの場合、Appleは[Find my iPhone](http://itunes.apple.com/us/app/find-my-iphone/id376101648?mt=8)というアプリでこれを実行しています。 – Till

+0

ありがとう、まで!私はちょうどそれをチェックし、それはまさに私がiPhone上でほしいと思うものと思われる。可能であれば、他の2つのプラットフォームで同様のことをする方法を知る必要があります。 – Cogicero

答えて

1

を参照してください。 IMEI番号は、GSMネットワークのMACアドレスです。しかし、あなたがネットワークのコントロールを持っていない限り、それにアクセスすることはできません。 IMEIをユーザーから取得することはできますが、IMEIを使用して電話の場所を特定することはできません。 CDMAネットワークでは、このアドレスはMEID番号と呼ばれます。

しかし、他の方法があります。

あなた、ユーザーの許可を得てどちらのプラットフォーム上の位置データを取得することができます。これは、アプリケーション開発の考え方です。ユーザーが携帯端末にアプリケーションをダウンロードしてインストールすると、そのユーザーにUUIDを割り当てる必要があります。その後、頻繁にハートビートごとに電話機にレポートを送信することができます。電話の電源が入っていて、ネットワークに接続されている限り、ユーザーは電話を見つけることができます。

また、他のものの間で、ネットワーク上の電話のIPアドレスを取得することができます - それはとしてこの種の機能を実装するために非常に簡単ですAndroidの..に、そのような連絡先、メッセージ、ファイル、キャッシュデータなどとして

サービスは、パッケージページでのみ表示される可能性があります。さらに、root権限を持っていれば、システムから隠れるような任意の種類のルートキットを書くことができます。 jailbroken iPhoneと同じです。私はiPhoneサービスに関して知識がない。

どちらの方法でも、クロスプラットフォームとの互換性は、おそらくデータがサーバーから送受信される方法と同じです。 JSONなどの標準を使用してデータを送受信することができます(したがって同じサーバー)。どちらのプラットフォームにもJSONライブラリとApacheライブラリがありますが、アプリケーションやサービスの他の部分は、各プラットフォーム(UI、内部コンテンツハンドリング、Syscalls、権限など)ごとに完全に依存して開発する必要があります。

セキュリティとデバイス管理のAndroidシステムインターフェイスを使用して、Androidデバイスをリモートでロック、ワイプ、工場出荷時設定にリセットすることができます。これには依然としてユーザーに許可を与える必要があり、ユーザーにアプリの管理権限を与えるときに、彼らが何に同意しているのかを知るために、より嫌な方法を求めます。あなたがビジネスや学校の為に交換サーバーを使用したことがあるなら、あなたはこれにぶつかるでしょう。

私は、投獄されたシステムでのリモートのiPhoneデバイス管理についてはわかりません。

工場出荷時の設定にリセットされないようにするために削除できないものが本当に必要な場合は、Unixプログラミングに関することを知る必要があります。また、それぞれのSDKが提供していないオペレーティングシステム(そして、おそらくそうではありません)あなたに教えてください。ソースを掘り起こしたり、必要に応じてリバースエンジニアリングをしたりするのは快適である必要があります。それでも興味があればiPhone用のカスタム電話機ファームウェアとソフトウェア、Android(とBlackberry)で動作するサークルをぶらつくことになります。私はAndroidから始めるだろう。おそらく、AOSPのソースが簡単かつ法的に利用可能なので最も簡単です。

+0

うわー。ありがとう、これは本当に非常に包括的です。このアプリの目的は、盗難されたスマートフォンの購入予定者がロック/エラーメッセージでそれを購入することはないため、盗難を最小限に抑えることです。私はいくつか質問があります。(1)AndroidとBlackberryのJSON経由で、連絡先、メッセージ、ファイルをネットワーク経由でバックアップすることは可能ですか? (2)盗難や紛失の前に、ユーザーがAndroidの権限を許可することはできますか? Unixのものに関しては、phewは多くのように聞こえる。確かめます。ありがとう。 – Cogicero

+0

@Cogicero 1:はい。しかし、JSONを使用する必要はありません。なぜFTP経由でファイルを送信しないのですか? 2:はい。彼らは許可を与えない限り、通常はアプリケーションをインストールすることはできません。たとえば、Android用のアプリケーションをダウンロードする前に許可が与えられます。 また、既に述べたように、関連する機能を実行するアプリがたくさんあります。 最後に、盗まれたスマートフォンの購入者が工場データのリセット方法を知らないと思うのは素朴です。 – dcow

3

物事のiPhone側:

  1. あなたが一意にそのようにiPhoneを識別するために許可されていません。あなたが最初にユーザーの許可を得ない限り、アップルはそれを禁止しています。だから彼らがあなたの許可を拒否すれば、あなたのアプリは機能せず、別の方法を見つける必要があります。
  2. いいえ、できません。
  3. また、あなたは「ステルスモード」
  4. でアプリを実行することはできません。2.を参照してくださいのみ、ネットワークオペレータは、IMEIレベルの携帯電話に話すことができます。2.
+1

ユニークID(UDID)について、あなたの答えは完全ではありません。アップルはそれだけを禁じていません。あなたはまだそれを使用することはできますが、ユーザにそれを知らせる必要があります(オプトアウト)。 – Till

+0

@ティルよく見られます。私はそれを反映する答えを更新しました。 –

+0

@Till_UUID_を意味します。 – dcow

関連する問題