pymobiledevice3 4.26.3__py3-none-any.whl → 4.26.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pymobiledevice3 might be problematic. Click here for more details.

@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '4.26.3'
32
- __version_tuple__ = version_tuple = (4, 26, 3)
31
+ __version__ = version = '4.26.5'
32
+ __version_tuple__ = version_tuple = (4, 26, 5)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -288,7 +288,7 @@ class RSDCommand(BaseServiceProviderCommand):
288
288
  if udid != '':
289
289
  try:
290
290
  # Connect to the specified device
291
- self.service_provider = [rsd for rsd in rsds if rsd.udid == udid][0]
291
+ self.service_provider = [rsd for rsd in rsds if rsd.udid == udid or rsd.udid.replace('-', '') == udid][0]
292
292
  except IndexError:
293
293
  raise DeviceNotFoundError(udid)
294
294
  else:
@@ -31,6 +31,7 @@ COMPONENT_FOURCC = {
31
31
  'Ap,RestoreANE2': 'ran2',
32
32
  'Ap,RestoreANE3': 'ran3',
33
33
  'Ap,RestoreCIO': 'rcio',
34
+ 'Ap,RestoreDCP2': 'rdc2',
34
35
  'Ap,RestoreTMU': 'rtmu',
35
36
  'Ap,Scorpius': 'scpf',
36
37
  'Ap,SystemVolumeCanonicalMetadata': 'msys',
@@ -132,14 +133,17 @@ def stitch_component(name: str, im4p_data: bytes, tss: dict, build_identity: Bui
132
133
  if fourcc is not None:
133
134
  im4p.fourcc = fourcc
134
135
 
135
- # hack if we have a *-TBM entry for the give
136
+ # check if we have a *-TBM entry for the given component
136
137
  tbm_dict = tss.get(f'{name}-TBM')
137
138
 
139
+ info = build_identity['Info']
140
+ nonce_slot_required = info.get('RequiresNonceSlot', False) and name in ('SEP', 'SepStage1', 'LLB')
141
+
138
142
  im4r = None
139
- if tbm_dict is not None:
143
+ if tbm_dict is not None or nonce_slot_required:
140
144
  im4r = IM4R()
141
- info = build_identity['Info']
142
- if info.get('RequiresNonceSlot', False) and name in ('SEP', 'SepStage1', 'LLB'):
145
+
146
+ if nonce_slot_required:
143
147
  logger.debug(f'{name}: RequiresNonceSlot for {name}')
144
148
  if name in ('SEP', 'SepStage1'):
145
149
  snid = ap_parameters.get('SepNonceSlotID', info.get('SepNonceSlotID', 2))
@@ -154,6 +158,7 @@ def stitch_component(name: str, im4p_data: bytes, tss: dict, build_identity: Bui
154
158
  RestoreProperty(fourcc='anid', value=anid)
155
159
  )
156
160
 
161
+ if tbm_dict is not None:
157
162
  for key in tbm_dict.keys():
158
163
  logger.debug(f'{name}: Adding property {key}')
159
164
  im4r.add_property(RestoreProperty(fourcc=key, value=tbm_dict[key]))
@@ -80,9 +80,10 @@ class Recovery(BaseRestore):
80
80
  tss.add_common_tags(parameters)
81
81
  tss.add_ap_tags(parameters)
82
82
 
83
- build_manifest_info = self.build_identity['Info']
84
- for manifest_property in build_manifest_info.get('RequestManifestProperties', []):
85
- tss.add_tags({manifest_property: build_manifest_info[manifest_property]})
83
+ # TODO: This break updating iPhone 15P Pro. Consider re-adding it once we figure out what went wrong
84
+ # build_manifest_info = self.build_identity['Info']
85
+ # for manifest_property in build_manifest_info.get('RequestManifestProperties', []):
86
+ # tss.add_tags({manifest_property: build_manifest_info[manifest_property]})
86
87
 
87
88
  # add personalized parameters
88
89
  if self.device.is_image4_supported:
@@ -344,10 +345,10 @@ class Recovery(BaseRestore):
344
345
  self.device.irecv.set_autoboot(enable)
345
346
 
346
347
  def enter_restore(self):
347
- if self.ipsw.build_manifest.build_major >= 8:
348
- self.restore_boot_args = 'rd=md0 nand-enable-reformat=1 -progress'
349
- elif self.macos_variant:
348
+ if self.macos_variant:
350
349
  self.restore_boot_args = 'rd=md0 nand-enable-reformat=1 -progress -restore'
350
+ elif self.ipsw.build_manifest.build_major >= 8:
351
+ self.restore_boot_args = 'rd=md0 nand-enable-reformat=1 -progress'
351
352
 
352
353
  # upload data to make device boot restore mode
353
354
 
@@ -701,7 +701,7 @@ class Restore(BaseRestore):
701
701
 
702
702
  if chip_id == 0x20211:
703
703
  comp_name = 'SE,Firmware'
704
- elif chip_id in (0x73, 0x64, 0xC8, 0xD2, 0x2c, 0x36):
704
+ elif chip_id in (0x73, 0x64, 0xC8, 0xD2, 0x2c, 0x36, 0x37):
705
705
  comp_name = 'SE,UpdatePayload'
706
706
  else:
707
707
  self.logger.warning(f'Unknown SE,ChipID {chip_id} detected. Restore might fail.')
@@ -14,7 +14,7 @@ from pymobiledevice3.utils import bytes_to_uint, plist_access_path
14
14
 
15
15
  TSS_CONTROLLER_ACTION_URL = 'http://gs.apple.com/TSS/controller?action=2'
16
16
 
17
- TSS_CLIENT_VERSION_STRING = 'libauthinstall-1033.80.3'
17
+ TSS_CLIENT_VERSION_STRING = 'libauthinstall-1104.0.9'
18
18
 
19
19
  logger = logging.getLogger(__name__)
20
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 4.26.3
3
+ Version: 4.26.5
4
4
  Summary: Pure python3 implementation for working with iDevices (iPhone, etc...)
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
@@ -8,7 +8,7 @@ misc/understanding_idevice_protocol_layers.md,sha256=8tEqRXWOUPoxOJLZVh7C7H9JGCh
8
8
  misc/usbmux_sniff.sh,sha256=iWtbucOEQ9_UEFXk9x-2VNt48Jg5zrPsnUbZ_LfZxwA,212
9
9
  pymobiledevice3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  pymobiledevice3/__main__.py,sha256=tBERBLftc5ENGB4NQfNJRIecok0LQfNvkqXlsi1feFw,11572
11
- pymobiledevice3/_version.py,sha256=pCfjK9_ghujjugHtMtYVQlFLGXgDd6tnrDePi2lFIRk,706
11
+ pymobiledevice3/_version.py,sha256=tktWF2Uc_i5Wvc6Xa6yZWQVTAr1hYBz5fNmMVt1CPeY,706
12
12
  pymobiledevice3/bonjour.py,sha256=-Q_TLBGJ6qW3CX_DgBcz-CXfWSwxWVQ2L64hk6PxnDY,5631
13
13
  pymobiledevice3/ca.py,sha256=mTvWdSjTZw6Eb-22-IZ323GyA1G6CXYmdPedImTjm3A,10542
14
14
  pymobiledevice3/common.py,sha256=-PG6oaUkNFlB3jb7E0finMrX8wqhkS-cuTAfmLvZUmc,329
@@ -29,7 +29,7 @@ pymobiledevice3/cli/amfi.py,sha256=6hlqKrKOFj0secUnLQ8grDDnnh3fRsO6x_vo40oy22w,9
29
29
  pymobiledevice3/cli/apps.py,sha256=LH75A1gDRGP0nWO4QFcOUDg0EdphkGuYnWJgIQHrIBg,3859
30
30
  pymobiledevice3/cli/backup.py,sha256=SyHojiRRguxdkAPMz_Rp_9-zJNeuOtmpa0imdPN12-4,6691
31
31
  pymobiledevice3/cli/bonjour.py,sha256=qWFH05BZ-FlnSilVP0PMzPUidfBs5LPdepMhPyIliFE,2806
32
- pymobiledevice3/cli/cli_common.py,sha256=i51C8Y4ST_BqUMBvwuoLanGDJZ-rZS6GsxX6OYqsPd0,12908
32
+ pymobiledevice3/cli/cli_common.py,sha256=lQFhkTwPfi1UYFkMiDc-jrId2s2yHwzF5lFTK0dXM_s,12945
33
33
  pymobiledevice3/cli/companion_proxy.py,sha256=ey0X3moJ49zVJoNCpRMMHmf9fBZfdqimhz2VCA35oII,581
34
34
  pymobiledevice3/cli/completions.py,sha256=t8oryezQTcWDno_E2Cch7o1f-qURVL9M1Z4o6uLA_kM,1722
35
35
  pymobiledevice3/cli/crash.py,sha256=m1vs0_KUy4cxu8vHYjn7olay8oPQGTFZqMCHspnGpVs,3181
@@ -90,12 +90,12 @@ pymobiledevice3/restore/consts.py,sha256=C4HheYOFbalRNPGsfc0DRr3ogo7RYQachUslVlO
90
90
  pymobiledevice3/restore/device.py,sha256=TZahPSKHxfrF7A8DC70fwcoQK9bXD6QV1dAr80YAgmw,2710
91
91
  pymobiledevice3/restore/fdr.py,sha256=KOXZH50oNYseP-PzSkw_uxu1NyGP5d32_DYSoYdbFu8,6269
92
92
  pymobiledevice3/restore/ftab.py,sha256=SWNKZRN1pFWzx_qHCkycvsLaHFAqkqQJYRBJYQ_-Wjw,1507
93
- pymobiledevice3/restore/img4.py,sha256=qkygkcul1RAXoBVMSAb8uKI4IUORrfCjsALp26NXyrk,4750
94
- pymobiledevice3/restore/recovery.py,sha256=YB2wZST3uhQMO1DwewfHb2VdEb-gH8nW58RbTmHIhZE,17090
95
- pymobiledevice3/restore/restore.py,sha256=GE86M79jd6nnd5GyY4ZLiEyhMKe0GxLTKe_bDcqtpJg,57479
93
+ pymobiledevice3/restore/img4.py,sha256=V03nq1L7FMkdmC15MN7W9Wct4MQx472aDpy5IkuNvII,4888
94
+ pymobiledevice3/restore/recovery.py,sha256=1eHQ-I1iJG31TLIAz890fBtGqopBQT3FB--UYESIkEQ,17205
95
+ pymobiledevice3/restore/restore.py,sha256=86qTivTKuYT0cwWcYPoRtLKvsFvPoiUyKtq_9YWjXw0,57485
96
96
  pymobiledevice3/restore/restore_options.py,sha256=qeh_wRa_bi0Ccl0p0JuX9EChEQBqwJt94EBImWcEJ3E,7255
97
97
  pymobiledevice3/restore/restored_client.py,sha256=h_yBZ_e1wfaIzi0f9-R8Ky2x6xFTkvDlpWIV561uxoU,3638
98
- pymobiledevice3/restore/tss.py,sha256=egguhU3aVt8yWba-MFa2aoL999bn61kty8ON0QcTKoE,29853
98
+ pymobiledevice3/restore/tss.py,sha256=QHq5OTyCn7iIrYhhgOxT5_gpV7wggcy5Faje5160FHQ,29852
99
99
  pymobiledevice3/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  pymobiledevice3/services/accessibilityaudit.py,sha256=PtQujwFLL3E1OgOSUjkKHvgmk2e8Ij2XZIp8JicAphs,15547
101
101
  pymobiledevice3/services/afc.py,sha256=9Ddc0emUrwLPOi0DLy1MZ5w7zqotYNxBB2OU0WyIWsk,36244
@@ -164,9 +164,9 @@ pymobiledevice3/services/web_protocol/switch_to.py,sha256=hDddJUEePbRN-8xlllOeGh
164
164
  pymobiledevice3/tunneld/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  pymobiledevice3/tunneld/api.py,sha256=EfGKXEWhsMSB__menPmRmL9R6dpazVJDUy7B3pn05MM,2357
166
166
  pymobiledevice3/tunneld/server.py,sha256=SvC57AV_R8YQhA0fCwGNUdhfy8TKMFWwL_fp_FmXrBI,22715
167
- pymobiledevice3-4.26.3.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
168
- pymobiledevice3-4.26.3.dist-info/METADATA,sha256=rod9BxYNBcX_9scPwLDKytmvF9P1lsiHPhIYQ64WkYg,17463
169
- pymobiledevice3-4.26.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
170
- pymobiledevice3-4.26.3.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
171
- pymobiledevice3-4.26.3.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
172
- pymobiledevice3-4.26.3.dist-info/RECORD,,
167
+ pymobiledevice3-4.26.5.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
168
+ pymobiledevice3-4.26.5.dist-info/METADATA,sha256=oBIsXTxeVzRXEPBnyAW1a3jidnWN8f5bbM2QrjRVn5c,17463
169
+ pymobiledevice3-4.26.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
170
+ pymobiledevice3-4.26.5.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
171
+ pymobiledevice3-4.26.5.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
172
+ pymobiledevice3-4.26.5.dist-info/RECORD,,