pub struct ImageMounterClient<S> { /* private fields */ }Expand description
High-level image mounter client.
Implementations§
Source§impl<S: AsyncRead + AsyncWrite + Unpin + Send> ImageMounterClient<S>
impl<S: AsyncRead + AsyncWrite + Unpin + Send> ImageMounterClient<S>
pub fn new(stream: S) -> Self
Sourcepub async fn copy_devices(
&mut self,
) -> Result<Vec<Dictionary>, ImageMounterError>
pub async fn copy_devices( &mut self, ) -> Result<Vec<Dictionary>, ImageMounterError>
Return raw mounted image entries reported by mobile_image_mounter.
Sourcepub async fn is_image_mounted(&mut self) -> Result<bool, ImageMounterError>
pub async fn is_image_mounted(&mut self) -> Result<bool, ImageMounterError>
Check if a developer image is already mounted.
Sourcepub async fn lookup_image_signatures(
&mut self,
image_type: &str,
) -> Result<Vec<Vec<u8>>, ImageMounterError>
pub async fn lookup_image_signatures( &mut self, image_type: &str, ) -> Result<Vec<Vec<u8>>, ImageMounterError>
Return mounted image signatures for an image type.
Sourcepub async fn mount_standard(
&mut self,
image_bytes: &[u8],
signature: &[u8],
) -> Result<(), ImageMounterError>
pub async fn mount_standard( &mut self, image_bytes: &[u8], signature: &[u8], ) -> Result<(), ImageMounterError>
Mount a standard (pre-iOS 17) developer disk image.
image_bytes: the DeveloperDiskImage.dmg contents
signature: the DeveloperDiskImage.dmg.signature contents
Sourcepub async fn mount_personalized(
&mut self,
trustcache: &[u8],
build_manifest: &[u8],
image_bytes: &[u8],
ticket: &[u8],
) -> Result<(), ImageMounterError>
pub async fn mount_personalized( &mut self, trustcache: &[u8], build_manifest: &[u8], image_bytes: &[u8], ticket: &[u8], ) -> Result<(), ImageMounterError>
Mount a personalized (iOS 17+) developer disk image.
trustcache: the trust cache data
build_manifest: the BuildManifest.plist bytes
image_bytes: the personalized disk image
ticket: the TSS ticket (ApImg4Ticket)
Sourcepub async fn query_personalization_identifiers(
&mut self,
) -> Result<HashMap<String, Value>, ImageMounterError>
pub async fn query_personalization_identifiers( &mut self, ) -> Result<HashMap<String, Value>, ImageMounterError>
Query personalization identifiers (board ID, chip ID, etc.)
Sourcepub async fn query_personalization_identifiers_with_type(
&mut self,
personalized_image_type: &str,
) -> Result<HashMap<String, Value>, ImageMounterError>
pub async fn query_personalization_identifiers_with_type( &mut self, personalized_image_type: &str, ) -> Result<HashMap<String, Value>, ImageMounterError>
Query personalization identifiers for a specific personalized image type.
Sourcepub async fn query_personalization_manifest(
&mut self,
personalized_image_type: &str,
image_signature: &[u8],
) -> Result<Vec<u8>, ImageMounterError>
pub async fn query_personalization_manifest( &mut self, personalized_image_type: &str, image_signature: &[u8], ) -> Result<Vec<u8>, ImageMounterError>
Query the personalization manifest associated with a mounted personalized image.
Sourcepub async fn query_nonce(&mut self) -> Result<Vec<u8>, ImageMounterError>
pub async fn query_nonce(&mut self) -> Result<Vec<u8>, ImageMounterError>
Query the personalization nonce.
Sourcepub async fn query_nonce_with_type(
&mut self,
personalized_image_type: &str,
) -> Result<Vec<u8>, ImageMounterError>
pub async fn query_nonce_with_type( &mut self, personalized_image_type: &str, ) -> Result<Vec<u8>, ImageMounterError>
Query the personalization nonce for a specific personalized image type.
Sourcepub async fn query_developer_mode_status(
&mut self,
) -> Result<bool, ImageMounterError>
pub async fn query_developer_mode_status( &mut self, ) -> Result<bool, ImageMounterError>
Query whether developer mode is enabled on the device.
Sourcepub async fn unmount_image(
&mut self,
mount_path: &str,
) -> Result<(), ImageMounterError>
pub async fn unmount_image( &mut self, mount_path: &str, ) -> Result<(), ImageMounterError>
Unmount a mounted image at a mount path such as /Developer or /System/Developer.
Sourcepub async fn hangup(&mut self) -> Result<(), ImageMounterError>
pub async fn hangup(&mut self) -> Result<(), ImageMounterError>
Send Hangup to close the session.