1

我目前正在对我的项目进行一些研究,一个智能手机跟踪本机应用程序,我有四个问题。非常感谢我可以阅读的任何材料的链接,并且将接受最有用/最全面的回复。

主要目标智能手机是安卓、黑莓和 iPhone 机型。

对于初学者来说,我在这里找到了唯一识别 Android 手机,IMEI 可用于唯一识别 Android,但我想我曾经读过它可以被伪造。我不知道 iPhone 和黑莓。

  1. 唯一识别智能手机设备(如果有)的最可靠方法是什么?MAC地址可以工作还是可以欺骗?IMEI 真的可以伪造吗?
  2. 一旦设备被报告为被盗,是否可以通过设备的唯一标识远程使用自定义错误消息“锁定”设备?即使与网络断开连接,此锁定状态也会保留在手机上,直到重新连接到网络并再次远程解锁。
  3. 假设这样的远程电话锁是可能的,那么小偷可以逆转吗?本机应用程序将以隐身模式运行,因此无法卸载。
  4. 在这种情况下,跨平台解决方案可以工作吗,还是我必须为每个平台开发各种原生应用程序?

编辑:更多的上下文。正如 Till 所说,Apple 的“查找我的手机”已经做到了这一点(我只是在了解它,但它看起来已经很完美了)。选择安装应用程序的用户会被告知,如果他们安装了应用程序,手机将被唯一标识。至于锁定设备,“查找我的手机”可以做到(我收集)。现在我需要知道这在其他两个平台上是如何实现的。

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 访问权限,你可以编写任何你想要的 rootkit,这样它就会对系统隐藏起来。与越狱的 iPhone 相同。不过,我对 iPhone 服务并不了解。

无论哪种方式,您可以利用的唯一跨平台兼容性可能是从服务器发送和接收数据的方式。您可以使用诸如 JSON 之类的标准来发送和接收数据(因此使用同一台服务器)。尽管这两个平台都有 JSON 和 Apache 库,但应用程序或服务本身的其他部分需要为每个平台完全且独立地开发(UI、内部内容处理、系统调用、权限等)。

您可以使用安全和设备管理 Android 系统界面远程锁定、擦除、恢复出厂设置等 Android 设备。这仍然需要用户授予权限,并且它会询问他们一种更.. 令人讨厌的.. 方式,以便他们在授予应用程序设备管理权限时知道他们到底同意了什么。如果您曾经将交换服务器用于企业或学校,您很可能会遇到这种情况。

我不确定在入狱系统上的远程 iPhone 设备管理。

如果您真的想要一些无法删除的东西,以免您进行出厂重置,那么您需要了解一两件事关于 Unix 编程,以及他们各自的 SDK 不了解的操作系统(并且可能应该了解) 't)告诉你。如果需要,您将需要熟悉源代码甚至逆向工程。如果你仍然感兴趣,你会想在为 iPhone 和 Android(和黑莓)开发定制手机固件和软件的圈子里闲逛。我会从安卓开始。这可能是最简单的,因为 AOSP 的资源很容易合法获得。

于 2012-04-16T13:13:59.410 回答