我目前正在研究我的项目,智能手机跟踪本机应用程序,我有四个问题。我将非常感谢能够阅读的任何材料的链接,并且将接受最有用/最全面的回复。
主要目标智能手机是Android,Blackberry和iPhone型号。
对于初学者我在Uniquely Identify an Android Handset发现IMEI可用于唯一识别机器人,但我想我曾经读过它可能是伪造的。我不知道iPhone和黑莓手机。
编辑: 更多背景。正如Till正确地说的那样,Apple的“Find my Phone”已经完成了这个问题(我只是发现了它,但它看起来已经完美契合了)。选择安装应用程序的用户会被告知,如果他们确实安装了应用程序,则会识别该手机。至于锁定设备,“查找我的手机”就可以了(我收集)。现在我需要知道如何在其他两个平台上实现这一点。
答案 0 :(得分:3)
关于iPhone的一面:
答案 1 :(得分:1)
只有网络运营商才能与IMEI级别的手机通话。 IMEI号是GSM网络的 MAC地址。但是,除非您拥有对网络的控制权,否则无法访问它。当然你可以从用户那里获得IMEI,但你不能用它来定位手机。在CDMA网络上,该地址称为MEID号。
但还有其他方法:
您可以在用户许可的情况下在任一平台上获取位置数据。这是您应该考虑开发应用程序的方式。在用户下载并在手机上安装应用程序后,您需要为用户分配UUID。然后,您可以经常将电话报告给服务器(心跳)。只要手机开机并连接到网络,用户就能找到手机。
您还可以获取网络上的电话IP地址,以及其他信息 - 例如联系人,消息,文件,缓存数据等。
在Android上,将这种功能实现为服务非常容易,只能在包页面上看到。此外,如果您具有root访问权限,则可以编写任何类型的rootkit,使其隐藏在系统中。与越狱的iPhone相同。我不是关于iPhone服务的知识。
无论哪种方式,您可以利用的唯一跨平台兼容性可能是数据从服务器发送和接收的方式。您可以使用一些标准(如JSON)来发送和接收数据(因此也可以使用相同的服务器)。虽然这两个平台都有JSON和Apache库,但是应用程序或服务本身的其他部分需要完全依赖于每个平台(UI,内部内容Handeling,Syscalls,权限等)。
您可以使用安全和设备管理Android系统界面远程锁定,擦除,恢复出厂设置等。这仍然需要用户授予权限,并且它要求他们更加......令人讨厌的方式,以便他们知道他们在给予应用设备管理权限时到底同意了什么。如果你曾经使用过交换服务器用于商业或学校,你很可能会碰到这个。
我不确定在被监禁的系统上进行远程iPhone设备管理。
如果你真的想要一些无法移除的东西,以免你重置工厂,那么你需要知道一些关于Unix编程的事情,还有很多关于他们各自的SDK没有的操作系统(并且可能不应该告诉你。如果需要的话,你需要舒服地寻找源,甚至逆向工程。如果你仍然感兴趣的话,你会想要围绕那些适用于iPhone,Android(和Blackberry)的定制手机固件和软件的圈子。我会从Android开始。这可能是最简单的,因为AOSP的资源很容易合法。