From dcdfcf53d10f83b7a0368b6d46d133a4a515cf41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Thu, 10 Oct 2024 18:46:44 +0200 Subject: [PATCH] fruity: Fix USB mode parsing on iOS < 16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Where the mode is a 3 byte blob. Co-authored-by: Håvard Sørbø --- src/fruity/usb.vala | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/fruity/usb.vala b/src/fruity/usb.vala index af4d48d27..728e9f926 100644 --- a/src/fruity/usb.vala +++ b/src/fruity/usb.vala @@ -123,10 +123,13 @@ namespace Frida.Fruity { } private static string parse_mode (Bytes mode) throws Error { - if (mode.get_size () != 4) - throw new Error.PROTOCOL ("Invalid mode response"); - unowned uint8[] m = mode.get_data (); - return "%u:%u:%u:%u".printf (m[0], m[1], m[2], m[3]); + var result = new StringBuilder.sized (7); + foreach (uint8 byte in mode.get_data ()) { + if (result.len != 0) + result.append_c (':'); + result.append_printf ("%u", byte); + } + return result.str; } private static string udid_from_serial_number (string serial) {