activation_record.plistからSIMロックを調べる
1) Terminalを使用してAccountTokenを抽出
UserName$ /usr/libexec/PlistBuddy activation_record.plist
Command: Print AccountToken
{
"InternationalMobileEquipmentIdentity" = "0123456789ABCDE";
"CertificateURL" = "https://albert.apple.com/deviceservices/certifyMe";
"ActivationTicket" = "[val]\n";
"PhoneNumberNotificationURL" = "https://albert.apple.com/deviceservices/phoneHome";
"SerialNumber" = "XXXXXXXXXXXX";
"InternationalMobileSubscriberIdentity" = "44010xxxxxxxxxx";
"MobileEquipmentIdentifier" = "0123456789ABCD";
"ProductType" = "iPhone6,1";
"UniqueDeviceID" = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
"ActivationRandomness" = "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
"ActivityURL" = "https://albert.apple.com/deviceservices/activity";
"IntegratedCircuitCardIdentity" = "89014104278656914506";
}
Command: exit
必要なのはActivationTicketの値です。base64でエンコードされているのでデコードします。
UserName$ echo "[val]" > AccountToken_base64
UserName$ base64 --decode < AccountToken_base64 > AccountToken
2) Hex Editorで確認
AccountTokenをHex Editorで開き、IMEIの上から7桁(上の場合は"0123456789ABCD")を検索(Hex Search)
IMEIの始点offset + 0x10の地点(周辺)から0x8 byteのHex値がSIMロックのデータ(IMSI Mask)
EE EE EE EE EE EE EE EF ならSIMロックフリー
44 01 0E EE EE EE EE EF ならDocomoでSIMロック
*SIMロックがかかっている場合はIMSIのキャリアごとの固定値が指定されています。