# STRUCTURE OF THE ADB BACKUP HEADER
# 1. Magic: ANDROID BACKUP
# 2. Version (1 only): 1
# 3. Compression (1=compressed): 1
# 4. Encryption (AES-256/none): AES-256
# 5. User Password Salt (128 Hex): 7369CED537D83E155219...
# 6. Master Key Checksum Salt (128 Hex): 21D8562EA19F0AA81B5D...
# 7. Number of PBDKF2 Rounds (10000): 10000
# 8. User key Initiatlization Vector (IV) (32 Hex): 434A7A67212109AE1903...
# 9. Master IV+Key+Checksum (192 Hex): 49B0BEFBFE7CD8D7A18D...
# Notes: lines 5-8 only occur if encrypted.
# Hex is written in ALL-CAPS.
# The decrypted blob structure is:
# <iv len-1B><iv-16B><key len-1B><key-32B ><checksum len-1B><checksum-32B>
# where B=byte and len=length in bytes
#
# Decryption occurs as follows:
# 1. Create PBKDF2-derived User Key from user password (entered) and User Salt
# 2. Decrypt the Blob using the derived user key and user IV
# 3. Separate Blob into 3 components
# 4. Generate PBKDF2-derived Master Checksum from Master Key and Master Key
# Checksum Salt
# 5. Check derived Master Checksum against Master Checksum recoverd from Blob
# 6. If matches, proceed with decryption using Master Key and Master IV
adb backup 文件格式解析
最新推荐文章于 2024-03-23 10:01:42 发布