亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

談談SSAID

2023-07-24 03:01:56
124
0

Android 開發人員文檔(針對 API > 26)說明了有關ANDROID_ID的以下內容:

在 Android 8.0(API 級別 26)和更高版本的平臺上,一個 64 位數字(表示為十六進制字符串),對于應用簽名密鑰、用戶和設備的每個組合都是唯一的。ANDROID_ID 的值受簽名密鑰和用戶的限制。如果在設備上執行恢復出廠設置或 APK 簽名密鑰更改,則該值可能會更改。

在 O 中,Android ID(Settings.Secure.ANDROID_ID 或 SSAID)對于每個應用程序和設備上的每個用戶都有不同的值。需要設備范圍標識符的開發人員應改用可重置的標識符,例如廣告 ID,為用戶提供更多控制權。
廣告 ID 還提供面向用戶的設置以限制廣告跟蹤。

另外在 Android O 中:只要軟件包名稱和簽名密鑰相同,ANDROID_ID 值在軟件包卸載/重新安裝時就不會改變。應用程序可以依靠此值在重新安裝時保持狀態。

如果應用安裝在運行較早版本 Android 的設備上,當設備更新到 Android O 時,Android ID 保持不變,除非卸載并重新安裝該應用。

僅當設備恢復出廠設置或簽名密鑰在卸載和重新安裝事件之間輪換時,Android ID 值才會更改。此更改僅適用于隨附 Google Play 服務和廣告 ID 的設備制造商。其他設備制造商可能會提供替代的可重置 ID 或繼續提供 ANDROID ID。

而且,查看了計算SSAID的SettingsProvider.java的源碼,好像流程如下:

  1. 每個設備用戶都被分配了一個 32 字節的隨機密鑰。
  2. 對于每個 APK:帶有 sha256 的 hmac 用于計算 APK 簽名者密鑰的 SSAID(其中使用的密鑰是在步驟 1 中生成的密鑰)。
  3. hmac 被截斷為 16 個字符。
  4. 截斷的值被保存到settings_ssaid.xml(ANDROID_ID從這個文件中查找未來的請求)。

因此,安全性似乎完全取決于步驟 1 中生成的密鑰(也存儲在 中settings_ssaid.xml)的保密性。

查看微博、QQ這些應用寫入的ssaid值如下,他們通過這樣的方式來識別登錄設備:

127|LAX53:/data/system/users/0 # cat settings_ssaid.xml                                                                                                                          
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<settings version="-1">
  <setting id="5" name="userkey" value="82EAFEC6513D9ED124CF9324591D09BAECC1729C24DD8406051ADD3C51FBAFE5" package="android" defaultValue="82EAFEC6513D9ED124CF9324591D09BAECC1729C24DD8406051ADD3C51FBAFE5" defaultSysSet="true" tag="null" />
  <setting id="3" name="10017" value="7a6026fde685fce3" package="com.yueme.itv" defaultValue="7a6026fde685fce3" defaultSysSet="false" tag="null" />
  <setting id="2" name="10028" value="1a606f39beae91d3" package="com.hisense.hiphone.appstore" defaultValue="1a606f39beae91d3" defaultSysSet="false" tag="null" />
  <setting id="4" name="10031" value="960cb1bc9c65a8e2" package="com.sohu.inputmethod.sogou" defaultValue="960cb1bc9c65a8e2" defaultSysSet="false" tag="null" />
  <setting id="1" name="10032" value="db099c001d559093" package="com.ctg.itrdc.file" defaultValue="db099c001d559093" defaultSysSet="false" tag="null" />
  <setting id="7" name="10060" value="4145e238e054cc8a" package="com.tencent.mobileqq" defaultValue="4145e238e054cc8a" defaultSysSet="false" tag="null" />
  <setting id="6" name="10062" value="e1220d9271c69e66" package="com.sina.weibo" defaultValue="e1220d9271c69e66" defaultSysSet="false" tag="null" />
0條評論
0 / 1000
hi_long
16文章數
0粉絲數
hi_long
16 文章 | 0 粉絲
hi_long
16文章數
0粉絲數
hi_long
16 文章 | 0 粉絲
原創

談談SSAID

2023-07-24 03:01:56
124
0

Android 開發人員文檔(針對 API > 26)說明了有關ANDROID_ID的以下內容:

在 Android 8.0(API 級別 26)和更高版本的平臺上,一個 64 位數字(表示為十六進制字符串),對于應用簽名密鑰、用戶和設備的每個組合都是唯一的。ANDROID_ID 的值受簽名密鑰和用戶的限制。如果在設備上執行恢復出廠設置或 APK 簽名密鑰更改,則該值可能會更改。

在 O 中,Android ID(Settings.Secure.ANDROID_ID 或 SSAID)對于每個應用程序和設備上的每個用戶都有不同的值。需要設備范圍標識符的開發人員應改用可重置的標識符,例如廣告 ID,為用戶提供更多控制權。
廣告 ID 還提供面向用戶的設置以限制廣告跟蹤。

另外在 Android O 中:只要軟件包名稱和簽名密鑰相同,ANDROID_ID 值在軟件包卸載/重新安裝時就不會改變。應用程序可以依靠此值在重新安裝時保持狀態。

如果應用安裝在運行較早版本 Android 的設備上,當設備更新到 Android O 時,Android ID 保持不變,除非卸載并重新安裝該應用。

僅當設備恢復出廠設置或簽名密鑰在卸載和重新安裝事件之間輪換時,Android ID 值才會更改。此更改僅適用于隨附 Google Play 服務和廣告 ID 的設備制造商。其他設備制造商可能會提供替代的可重置 ID 或繼續提供 ANDROID ID。

而且,查看了計算SSAID的SettingsProvider.java的源碼,好像流程如下:

  1. 每個設備用戶都被分配了一個 32 字節的隨機密鑰。
  2. 對于每個 APK:帶有 sha256 的 hmac 用于計算 APK 簽名者密鑰的 SSAID(其中使用的密鑰是在步驟 1 中生成的密鑰)。
  3. hmac 被截斷為 16 個字符。
  4. 截斷的值被保存到settings_ssaid.xml(ANDROID_ID從這個文件中查找未來的請求)。

因此,安全性似乎完全取決于步驟 1 中生成的密鑰(也存儲在 中settings_ssaid.xml)的保密性。

查看微博、QQ這些應用寫入的ssaid值如下,他們通過這樣的方式來識別登錄設備:

127|LAX53:/data/system/users/0 # cat settings_ssaid.xml                                                                                                                          
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<settings version="-1">
  <setting id="5" name="userkey" value="82EAFEC6513D9ED124CF9324591D09BAECC1729C24DD8406051ADD3C51FBAFE5" package="android" defaultValue="82EAFEC6513D9ED124CF9324591D09BAECC1729C24DD8406051ADD3C51FBAFE5" defaultSysSet="true" tag="null" />
  <setting id="3" name="10017" value="7a6026fde685fce3" package="com.yueme.itv" defaultValue="7a6026fde685fce3" defaultSysSet="false" tag="null" />
  <setting id="2" name="10028" value="1a606f39beae91d3" package="com.hisense.hiphone.appstore" defaultValue="1a606f39beae91d3" defaultSysSet="false" tag="null" />
  <setting id="4" name="10031" value="960cb1bc9c65a8e2" package="com.sohu.inputmethod.sogou" defaultValue="960cb1bc9c65a8e2" defaultSysSet="false" tag="null" />
  <setting id="1" name="10032" value="db099c001d559093" package="com.ctg.itrdc.file" defaultValue="db099c001d559093" defaultSysSet="false" tag="null" />
  <setting id="7" name="10060" value="4145e238e054cc8a" package="com.tencent.mobileqq" defaultValue="4145e238e054cc8a" defaultSysSet="false" tag="null" />
  <setting id="6" name="10062" value="e1220d9271c69e66" package="com.sina.weibo" defaultValue="e1220d9271c69e66" defaultSysSet="false" tag="null" />
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0