1

私は現在、自分のプロジェクトであるスマートフォン トラッキング ネイティブ アプリケーションについて調査を行っていますが、4 つの質問があります。私が読むことができる資料へのリンクは大歓迎です。最も有用で包括的な回答が受け入れられます。

主な対象となるスマートフォンは、Android、Blackberry、および iPhone モデルです。

手始めに、IMEI を使用して Android を一意に識別できるAndroid ハンドセットを一意に識別することをここで見つけましたが、偽造できることを一度読んだことがあると思います。iPhone と Blackberry についてはわかりません。

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

編集:もう少しコンテキスト。ティルが正しく言ったように、Apple の「Find my Phone」はすでにこれとまったく同じことを行っています (私はそれについて調べたばかりですが、すでに完全に適合しているように見えます)。アプリのインストールを選択しているユーザーには、アプリをインストールすると電話が一意に識別されることが通知されます。デバイスのロックについては、「Find my Phone」が行います (私は収集します)。次に、他の 2 つのプラットフォームでそれがどのように可能になるかを知る必要があります。

4

2 に答える 2

3

iPhone側に関しては:

  1. そのようにiPhoneを一意に識別することはできません。Apple は、最初にユーザーの許可を得ない限り、それを禁止しています。そのため、許可を拒否された場合、アプリは機能せず、別の方法を見つける必要があります。
  2. いいえ、できません。
  3. 2を参照してください。また、「ステルスモード」でアプリを実行することはできません
  4. 2を参照してください。
于 2012-04-16T12:10:10.583 に答える
1

IMEI レベルでハンドセットと通信できるのは、ネットワーク オペレータだけです。IMEI 番号は、GSM ネットワークの MAC アドレスです。ただし、ネットワークを制御できない限り、アクセスすることはできません。確かに、ユーザーから IMEI を取得できますが、それを使用して電話を見つけることはできません。CDMA ネットワークでは、このアドレスは MEID 番号と呼ばれます。

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

ユーザーの許可があれば、どちらのプラットフォームでも位置データを取得できます。これは、アプリケーションの開発について考える必要がある方法です。ユーザーが電話にアプリケーションをダウンロードしてインストールしたら、ユーザーに UUID を割り当てる必要があります。その後、電話をサーバーに頻繁に報告させることができます (ハートビート)。電話の電源が入っていて、ネットワークに接続されている限り、ユーザーは電話を見つけることができます。

連絡先、メッセージ、ファイル、キャッシュ データなど、ネットワーク上の電話機の IP アドレスを取得することもできます。

Android では、この種の機能をパッケージ ページにのみ表示されるサービスとして実装するのは非常に簡単です。さらに、root アクセス権を持っている場合は、必要な種類のルートキットを作成して、システムから自分自身を隠すことができます。ジェイルブレイクされたiPhoneと同じです。私はiPhoneサービスについてそれほど知識がありません。

いずれにせよ、利用できる唯一のクロスプラットフォーム互換性は、おそらくサーバーからデータを送受信する方法でしょう。JSON などの標準を使用して、データを送受信できます (したがって、同じサーバー)。どちらのプラットフォームにも JSON と Apache ライブラリがありますが、アプリまたはサービス自体の他の部分は、プラットフォームごとに完全に依存して開発する必要があります (UI、内部コンテンツ処理、Syscall、アクセス許可など)。

セキュリティとデバイス管理の Android システム インターフェイスを使用して、Android デバイスをリモートでロック、ワイプ、出荷時設定へのリセットなどを行うことができます。これには、ユーザーが許可を与える必要があり、アプリのデバイス管理許可を与えるときに何に同意しているのかを正確に知るために、より不快な方法をユーザーに求めます。ビジネスや学校で Exchange サーバーを使用したことがある場合は、この問題に遭遇する可能性があります。

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

工場出荷時設定にリセットしないように削除できないものが本当に必要な場合は、Unix プログラミングについて 1 つまたは 2 つ知っておく必要があります。また、それぞれの SDK が持っていない (おそらくそうすべきである) オペレーティング システムについても多くのことを知っている必要があります。 't) 教えてください。ソースを調べたり、必要に応じてリバース エンジニアリングを行ったりすることに慣れている必要があります。それでも興味がある場合は、iPhone および Android (および Blackberry) 用のカスタム電話ファームウェアおよびソフトウェアを扱っているサークルをぶらぶらしたいと思うでしょう。私はAndroidから始めます。AOSP のソースは簡単かつ合法的に入手できるため、おそらく最も簡単です。

于 2012-04-16T13:13:59.410 に答える