[点击测试 https://authapi.applekuid.com](https://authapi.applekuid.com/)

目前国内有很多获取udid的方法,例如蒲公英 还有其他的网站都提供了获取udid的功能,但是如何通过代码集成获取?我分析过国内的文章,大部分都差不多,基本都是可以伪装验证通过的;如何保证获取的是真正的设备的udid

## 如何获取苹果真正的udid?

baidu 搜索不下千篇的文章,没有一个是安全 或者可以说是的可以安全防止伪装 伪造udid

市面上是如何获取udid?
1、引导用户安装udid描述文件
2、安装描述文件后 手机会向服务器发送 udid imei 机型等信息

但是 怎么知道是真的 还是假的?

## 怎么知道是真的 还是假的?

不好意思 目前市面上暂时没有 目前已经出现很多伪装udid的软件 有通过fiddler软件修改 还各种软件 都是一些撸羊毛的团队在维护

是不是真的不能防止伪装?

## 是不是真的不能防止伪装?

接下来 我们先来看下 普通的udid获取方式

1.准备一个苹果描述文件 .mobileconfig

```

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>http://xxx/app/uuid</string>
<key>DeviceAttributes</key>
<array>
<string>UDID</string>
<string>IMEI</string>
<string>ICCID</string>
<string>VERSION</string>
<string>PRODUCT</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>www.yun-bangshou.com</string>
<key>PayloadDisplayName</key>
<string>xxx</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>8C7AD0B8-3900-44DF-A52F-3C4F92921807</string>
<key>PayloadIdentifier</key>
<string>com.yun-bangshou.profile-service</string>
<key>PayloadDescription</key>
<string>获取当前iOS设备的UDID号码</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
```

2.把文件放到web服务器上

3.引导用户下载文件的链接

4.用户安装后 设备会向http://xxx/app/uuid 发送设备的信息

```
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IMEI</key>
<string>12 123456 123456 7</string>
<key>PRODUCT</key>
<string>iPhone4,1</string>
<key>UDID</key>
<string>b59769e6c28b73b1195009d4b21cXXXXXXXXXXXX</string>
<key>VERSION</key>
<string>9B206</string>
</dict>
</plist>
```

但是 这就结束了 不还远远不够 这些都不是安全的

## 是否安全真正安全获取

答案是否定的,无法识别是否是苹果手机,通过抓包([https://authapi.applekuid.com](https://authapi.applekuid.com/))发现里边的获取udid的方式 和我们的不一样,里边的数据有4次请求,基本都是加密的,几天都没有研究出来,有兴趣的可以去研究一下!

如何获取安全获取苹果udid,imei的更多相关文章

  1. iOS 获取一个不变的UDID

    原文:iOS7: 如何获取不变的UDID 如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID ...

  2. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  3. 获取ios设备的udid

    今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...

  4. 【机器学习】Pandas库练习-获取yahoo金融苹果公司的股票数据

    # 获取yahoo金融苹果公司的股票数据. # 1.分析拉取的数据,找到收盘数据列的列名. # 2.绘制收盘价格柱状图. # 3.分析拉取的数据涨跌率,股价移动平均和波动率. # 4. 找出开盘价和收 ...

  5. 记录几个爬取动态网页时的问题(下拉框,旧的元素无法获取,获取的源代码和f12看到的不一致,爬取延迟)

    更新.....这个动态网页其实直接抓取ajax请求就可以了,很简单,我之前想复杂了,虽然也实现了,但是效率极低,不过没关系,就当作是对Selenium的一次学习吧 1.最近在爬取一个动态网页,其中为了 ...

  6. 获取 苹果UDID 序列号

    UDID是什么? UDID 是由子母和数字组成的40个字符串的序号,用来区别每一个唯一的iOS设备,包括 iPhones, iPads, 以及 iPod touches,这些编码看起来是随机的,实际上 ...

  7. 获取iPhone手机的UDID和设备名称.

    关于设备名称: iPhone的设备名称也可以在手机上面查看到:设置-通用-关于本机-名称(设备名称是可以自己改的) 关于UUID: 什么?用了iPhone这么久你不知道什么叫UDID! UDID 是由 ...

  8. Android获取手机设备识别码(IMEI)和手机号码

    最近看了下获取手机设备ID和手机信息以及SIM的信息例子,主要还是借鉴别人的,现在自己写一下,算是巩固加深了,也希望能给大家一个参考 必要的条件还是一部真机,SIM卡或者UIM卡. 首先,在Andro ...

  9. 获取定位,苹果IOS10以上不支持h5的geolocation获取不到地理位置信息解决办法

    今天开发应用,获取地理位置,最先采用H5的Geolocation的方法来获取地理位置,经过测试发现安卓的机子可以,但是IOS的就是不行,一查资料才知道:10.0苹果版本需要协议为https的才可以获取 ...

  10. 获取设置唯一的UDID的值

    http://blog.sina.com.cn/s/blog_5971cdd00102vqgy.html ---方法 http://www.jianshu.com/p/a7a4a14c8030  -- ...

随机推荐

  1. Python提取文本文件(.txt)数据的方法

      本文介绍基于Python语言,遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件,并从上述每一个文本文件中,找到我们需要的指定数据,最后得到所有文本文件中我们需要的数据的合集的方法 ...

  2. WPF摄像头使用(WPFMediaKit)

    添加WPFMediaKit引用 使用WPFMediaKit操作摄像头需要安装WPFMediaKit相关的Nuget包.选中需要进行摄像头操作的项目,然后通过Nuget安装即可. 页面代码 引入命名空间 ...

  3. Android Media Framework(一)OpenMAX框架简介

    学习开源代码最快的方式是先阅读它的文档,再查看它的头文件,最后研读代码实现并进行编译调试.Android早期引入OpenMAX IL作为使用音视频编解码器的标准接口,了解Android Media框架 ...

  4. MVCC(多版本并发控制)详解

    在 MySQL InnoDB存储引擎下,RC.RR 基于 MVCC 进行并发事务控制, MVCC 是基于"数据版本"对并发事务进行访问 用一个例子来解释一下,下面是一张事务执行流程 ...

  5. openCV编译安装-MSCV-Windows10-Qt

    openCV编译安装-MSCV-Windows10-Qt 1.准备工作 CMake:下载最新版本即可 openCV:下载任意版本,可以下载源码或者官方编译好的VS版(其中也带有源码),我下载的是ope ...

  6. webpack js兼容处理

    webpack在不需要引入任何loader可以对于js进行打包处理,但是它不会对于js兼容性进行任务的处理,而我们编写的项目是需要在不同的浏览器中运行的,此时就需要对于js的兼容性在打包过程中进行对应 ...

  7. 实例讲解多处理器下的计算机启动(xv6的启动过程)

    启动 启动方面的文章之前也写过,那是我的第一篇文章,本文在前文的基础之上完善,然后增加了多处理器启动的情况,废话不多说直接来看. 启动可以分为两种,一种为冷启动,是指计算机在关机状态下按 POWER ...

  8. 程序员面试金典-面试题 01.03. URL化

    题目: URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的"真实"长度.(注:用Java实现的话,请使用字符数组实 ...

  9. LeetCode 678. Valid Parenthesis String 有效的括号字符串 (C++/Java)

    题目: Given a string containing only three types of characters: '(', ')' and '*', write a function to ...

  10. 剑指Offer-56.删除链表中重复的结点(C++/Java)

    题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后为 ...