From d9609b8b71f45d6c86444697a6e90bb270225903 Mon Sep 17 00:00:00 2001 From: Shawn C Date: Wed, 24 Jul 2019 16:07:51 +0800 Subject: [PATCH 01/86] Add supported device: 403zt Add supported device: 403zt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7585db6..1ebee28 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ QCSuper was successfully tested with: * Option Icon 225 (USB Modem) - 3G, 2008 * Novatel Ovation MC998D (USB Modem) * ZTE WCDMA Technologies MSM MF110/MF627/MF636 (USB Modem) +* ZTE 403zt (USB Modem) - 4G Is it however aiming to be compatible with the widest possible range of devices based on a Qualcomm chipset, for the capture part. From 80d2072e370bbd2422178d75ba2a6e5bcca8d5e5 Mon Sep 17 00:00:00 2001 From: Marin Date: Sun, 28 Jul 2019 19:12:11 +0200 Subject: [PATCH 02/86] Add the Nexus 6P to the list of supported devices --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7585db6..82bce13 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ If ModemManager is active on your system, QCSuper will attempt to dynamically ad QCSuper was successfully tested with: * Sony Xperia Z (Phone) - 4G - works out of the box after rooting an enabling adb +* Nexus 6P (Phone) - 4G - works out of the box after rooting an enabling adb * ZTE MF823 (USB Modem) - 4G - may require to [mode-switch the device to CDC-WDM](https://wiki.archlinux.org/index.php/ZTE_MF_823_%28Megafon_M100-3%29_4G_Modem#Device_Identification), set the device to [factory mode](https://wiki.archlinux.org/index.php/ZTE_MF_823_%28Megafon_M100-3%29_4G_Modem#Commands), then execute the AT command mentioned above * ZTE MF667 (USB Modem) - 3G, 2011 - should work out of the box (may require mode switching) * Option Icon 225 (USB Modem) - 3G, 2008 From ff44913204171a5fa81b8d818c5e06303624eaf9 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 18 Dec 2019 19:37:55 +0100 Subject: [PATCH 03/86] Add phones that were reported to work to the "README.md" file --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 82bce13..c13f165 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,9 @@ QCSuper was successfully tested with: * Option Icon 225 (USB Modem) - 3G, 2008 * Novatel Ovation MC998D (USB Modem) * ZTE WCDMA Technologies MSM MF110/MF627/MF636 (USB Modem) +* OnePlus One and 3 (Phones) +* Andromax A16C3H (Phone) +* Samsung Galaxy S4 GT-I9505 (Phone) Is it however aiming to be compatible with the widest possible range of devices based on a Qualcomm chipset, for the capture part. From 037113172c0f409dbc5910b2691785ab391ea4d3 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 9 Oct 2020 15:20:06 +0200 Subject: [PATCH 04/86] Add support for decoding NB-IOT diag logs, as requested in issue #49 --- modules/pcap_dump.py | 11 +++++++++-- protocol/gsmtap.py | 16 ++++++++++++++++ protocol/log_types.py | 7 +++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 13da4ef..8f675b9 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -214,7 +214,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): if channel_type in (254, 255, RRCLOG_EXTENSION_SIB, RRCLOG_SIB_CONTAINER): return # Frames containing only a MIB or extension SIB, as already present in RRC frames, ignoring - if channel_type > LTE_UL_DCCH: + if LTE_UL_DCCH < channel_type < LTE_BCCH_DL_SCH_NB: channel_type -= 7 gsmtap_channel_type = { @@ -223,7 +223,14 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_DL_CCCH: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message, LTE_DL_DCCH: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message, LTE_UL_CCCH: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message, - LTE_UL_DCCH: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message + LTE_UL_DCCH: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, + + LTE_BCCH_DL_SCH_NB: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_NB + LTE_PCCH_NB: GSMTAP_LTE_RRC_SUB_PCCH_Message_NB, + LTE_DL_CCCH_NB: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message_NB, + LTE_DL_DCCH_NB: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message_NB, + LTE_UL_CCCH_NB: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message_NB, + LTE_UL_DCCH_NB: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message_NB, }.get(channel_type) if gsmtap_channel_type is None: diff --git a/protocol/gsmtap.py b/protocol/gsmtap.py index bee3f10..008190d 100644 --- a/protocol/gsmtap.py +++ b/protocol/gsmtap.py @@ -138,4 +138,20 @@ def build_gsmtap_ip(gsmtap_protocol, gsmtap_channel_type, payload, is_uplink): GSMTAP_LTE_RRC_SUB_PCCH_Message = 6 GSMTAP_LTE_RRC_SUB_MCCH_Message = 7 +GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message_MBMS = 8 +GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_BR = 9 +GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_MBMS = 10 +GSMTAP_LTE_RRC_SUB_SC_MCCH_Message = 11 +GSMTAP_LTE_RRC_SUB_SBCCH_SL_BCH_Message = 12 +GSMTAP_LTE_RRC_SUB_SBCCH_SL_BCH_Message_V2X = 13 +GSMTAP_LTE_RRC_SUB_DL_CCCH_Message_NB = 14 +GSMTAP_LTE_RRC_SUB_DL_DCCH_Message_NB = 15 +GSMTAP_LTE_RRC_SUB_UL_CCCH_Message_NB = 16 +GSMTAP_LTE_RRC_SUB_UL_DCCH_Message_NB = 17 +GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message_NB = 18 +GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message_TDD_NB = 19 +GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_NB = 20 +GSMTAP_LTE_RRC_SUB_PCCH_Message_NB = 21 +GSMTAP_LTE_RRC_SUB_SC_MCCH_Message_NB = 22 + GSMTAP_LTE_NAS_PLAIN = 0 diff --git a/protocol/log_types.py b/protocol/log_types.py index 8d6d02b..868a42a 100644 --- a/protocol/log_types.py +++ b/protocol/log_types.py @@ -50,6 +50,13 @@ LTE_UL_CCCH = 7 LTE_UL_DCCH = 8 +LTE_BCCH_DL_SCH_NB = 46 +LTE_PCCH_NB = 47 +LTE_DL_CCCH_NB = 48 +LTE_DL_DCCH_NB = 49 +LTE_UL_CCCH_NB = 50 +LTE_UL_DCCH_NB = 52 + """ These are 3G-related log types. """ From 15e7a4ee98d45569921449cc438e48a5ae97e581 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 9 Oct 2020 17:32:01 +0200 Subject: [PATCH 05/86] Complete the fix issued for issue #49 by handling uplink NB-IOT RRC channels well --- modules/pcap_dump.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 8f675b9..8ce77d2 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -202,11 +202,6 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): packet = signalling_message[:length] - is_uplink = channel_type in ( - LTE_UL_CCCH, - LTE_UL_DCCH - ) - # GSMTAP definition: # - https://github.com/wireshark/wireshark/blob/wireshark-2.5.0/epan/dissectors/packet-gsmtap.h # - http://osmocom.org/projects/baseband/wiki/GSMTAP @@ -217,6 +212,13 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): if LTE_UL_DCCH < channel_type < LTE_BCCH_DL_SCH_NB: channel_type -= 7 + is_uplink = channel_type in ( + LTE_UL_CCCH, + LTE_UL_DCCH, + LTE_UL_CCCH_NB, + LTE_UL_DCCH_NB + ) + gsmtap_channel_type = { LTE_BCCH_DL_SCH: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message, LTE_PCCH: GSMTAP_LTE_RRC_SUB_PCCH_Message, From e6340e75843f3435492574ecedb040ce384450c7 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 21 Oct 2020 21:55:31 +0200 Subject: [PATCH 06/86] Fix a syntax issue introduced in the last commit --- modules/pcap_dump.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 8ce77d2..0268a51 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -227,7 +227,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_UL_CCCH: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message, LTE_UL_DCCH: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, - LTE_BCCH_DL_SCH_NB: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_NB + LTE_BCCH_DL_SCH_NB: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message_NB, LTE_PCCH_NB: GSMTAP_LTE_RRC_SUB_PCCH_Message_NB, LTE_DL_CCCH_NB: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message_NB, LTE_DL_DCCH_NB: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message_NB, From e8d1fdc9d69ce897846c9df17e482ef93bec2e17 Mon Sep 17 00:00:00 2001 From: Marin Date: Mon, 17 May 2021 11:10:54 +0200 Subject: [PATCH 07/86] improv/add-3g-4g-rrc-channel-types-from-scat: Add missing Qualcomm Diag LTE and WCDMA channel type decoding routines, in order to be able to handle certain recent basebands --- modules/pcap_dump.py | 104 ++++++++++++++++++++++++++++++++++-------- protocol/log_types.py | 40 +++++++++++++--- 2 files changed, 117 insertions(+), 27 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 0268a51..cc9a654 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -80,9 +80,16 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): # - https://github.com/wireshark/wireshark/blob/wireshark-2.5.0/epan/dissectors/packet-gsmtap.h # - http://osmocom.org/projects/baseband/wiki/GSMTAP - if channel_type in (254, 255, RRCLOG_EXTENSION_SIB, RRCLOG_SIB_CONTAINER): + # RRC channel types: + # - https://github.com/fgsect/scat/blob/0e1d3a4/parsers/qualcomm/diagwcdmalogparser.py#L259 + + if channel_type in (254, 255, 0x89, 0xF0, RRCLOG_EXTENSION_SIB, RRCLOG_SIB_CONTAINER): return # Frames containing only a MIB or extension SIB, as already present in RRC frames, ignoring + if channel_type >= 0x80: # We are in presence of an explicit ARFCN/PSC + channel_type -= 0x80 + log_payload = log_payload[4:] + gsmtap_channel_type = { RRCLOG_SIG_UL_CCCH: GSMTAP_RRC_SUB_UL_CCCH_Message, RRCLOG_SIG_UL_DCCH: GSMTAP_RRC_SUB_UL_DCCH_Message, @@ -90,7 +97,9 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): RRCLOG_SIG_DL_DCCH: GSMTAP_RRC_SUB_DL_DCCH_Message, RRCLOG_SIG_DL_BCCH_BCH: GSMTAP_RRC_SUB_BCCH_BCH_Message, RRCLOG_SIG_DL_BCCH_FACH: GSMTAP_RRC_SUB_BCCH_FACH_Message, - RRCLOG_SIG_DL_PCCH: GSMTAP_RRC_SUB_PCCH_Message + RRCLOG_SIG_DL_PCCH: GSMTAP_RRC_SUB_PCCH_Message, + RRCLOG_SIG_DL_MCCH: GSMTAP_RRC_SUB_MCCH_Message, + RRCLOG_SIG_DL_MSCH: GSMTAP_RRC_SUB_MSCH_Message }.get(channel_type) if gsmtap_channel_type is None: @@ -188,6 +197,9 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): (ext_header_ver, rrc_rel, rrc_ver, bearer_id, phy_cellid), ext_header = unpack('= 26: # Handle post-NR releases + (ext_header_ver, rrc_rel, rrc_ver, nc_rrc_rel, bearer_id, phy_cellid), ext_header = unpack(' Date: Mon, 17 May 2021 11:24:43 +0200 Subject: [PATCH 08/86] improv/add-3g-4g-rrc-channel-types-from-scat: Improve and correct the heuristics of the change for decoding the LTE RRC channel type packet field --- modules/pcap_dump.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index cc9a654..9c21c74 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -237,21 +237,24 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_UL_CCCH_NB: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message_NB, LTE_UL_DCCH_NB: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message_NB, } - - if ext_header_ver in (9, 12): - - channel_lookup_table.update({ - LTE_BCCH_BCH_v9: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, - LTE_BCCH_DL_SCH_v9: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message, - LTE_MCCH_v9: GSMTAP_LTE_RRC_SUB_MCCH_Message, - LTE_PCCH_v9: GSMTAP_LTE_RRC_SUB_PCCH_Message, - LTE_DL_CCCH_v9: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message, - LTE_DL_DCCH_v9: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message, - LTE_UL_CCCH_v9: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message, - LTE_UL_DCCH_v9: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, - }) - elif ext_header_ver in (14, 15, 16, 20, 24): + # The v9 channel type values don't overlap a lot with other + # existing values as they start at "8", so handle these in + # all case and allow these to be erased with other values + # subsequently + + channel_lookup_table.update({ + LTE_BCCH_BCH_v9: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, + LTE_BCCH_DL_SCH_v9: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message, + LTE_MCCH_v9: GSMTAP_LTE_RRC_SUB_MCCH_Message, + LTE_PCCH_v9: GSMTAP_LTE_RRC_SUB_PCCH_Message, + LTE_DL_CCCH_v9: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message, + LTE_DL_DCCH_v9: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message, + LTE_UL_CCCH_v9: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message, + LTE_UL_DCCH_v9: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, + }) + + if ext_header_ver in (14, 15, 16, 20, 24): channel_lookup_table.update({ LTE_BCCH_BCH_v0: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, @@ -264,7 +267,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_UL_DCCH_v14: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, }) - elif ext_header_ver in (19, 26): + elif ext_header_ver == 19 or ext_header_ver >= 26: channel_lookup_table.update({ LTE_BCCH_BCH_v19: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, @@ -277,7 +280,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_UL_DCCH_v19: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, }) - else: + elif ext_header_ver not in (9, 12): channel_lookup_table.update({ LTE_BCCH_BCH_v0: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, From c2291bde73dc2200c4eb76ce87eb1aad83f9cc52 Mon Sep 17 00:00:00 2001 From: Marin Date: Tue, 18 May 2021 10:20:57 +0200 Subject: [PATCH 09/86] improv/add-3g-4g-rrc-channel-types-from-scat: Add support for decapsulating the "DIAG_MULTI_RADIO_CMD_F" (152) message type, as suggested by @Melon08P4 and in issue #36 --- inputs/_base_input.py | 6 ++++++ protocol/messages.py | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/inputs/_base_input.py b/inputs/_base_input.py index 8da72e1..ff0af7b 100644 --- a/inputs/_base_input.py +++ b/inputs/_base_input.py @@ -351,6 +351,12 @@ def dispatch_received_diag_packet(self, unframed_diag_packet): time() # Timestamp ) + elif opcode == DIAG_MULTI_RADIO_CMD_F: + + # See https://github.com/fgsect/scat/blob/f1538b3/parsers/qualcomm/qualcommparser.py#L331 + + self.dispatch_received_diag_packet(payload[7:]) + elif opcode in (DIAG_MSG_F, DIAG_EXT_MSG_F, DIAG_EXT_MSG_TERSE_F, DIAG_QSR_EXT_MSG_TERSE_F): # This is a "message" string self.dispatch_diag_message(opcode, payload) diff --git a/protocol/messages.py b/protocol/messages.py index 37c78a1..0786e9a 100644 --- a/protocol/messages.py +++ b/protocol/messages.py @@ -244,4 +244,18 @@ DIAG_SSM_DISALLOWED_CMD_F = 150 -DIAG_MAX_F = 150 +DIAG_LOG_ON_DEMAND_EXT_F = 151 + +DIAG_MULTI_RADIO_CMD_F = 152 + +DIAG_QSR4_EXT_MSG_TERSE_F = 153 + +DIAG_DCI_CONTROL_PACKET = 154 + +DIAG_COMPRESSED_PKT = 155 + +DIAG_MSG_SMALL_F = 156 + +DIAG_QSH_TRACE_PAYLOAD_F = 157 + +DIAG_MAX_F = 157 From ce50768cfb067a17626ac094a459c5b596144237 Mon Sep 17 00:00:00 2001 From: Marin Date: Tue, 18 May 2021 13:33:11 +0200 Subject: [PATCH 10/86] improv/add-3g-4g-rrc-channel-types-from-scat: Fix decoding 3G/WCDMA signalling payload logs when the channel type is higher than 0x80 (still according to SCAT) --- modules/pcap_dump.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 9c21c74..8f9ebe8 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -69,8 +69,6 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): (channel_type, radio_bearer, length), signalling_message = unpack('= 0x80: # We are in presence of an explicit ARFCN/PSC channel_type -= 0x80 - log_payload = log_payload[4:] + signalling_message = signalling_message[4:] + + packet = signalling_message[:length] gsmtap_channel_type = { RRCLOG_SIG_UL_CCCH: GSMTAP_RRC_SUB_UL_CCCH_Message, From c11340fd4953bf64aea214501734cea009faacf1 Mon Sep 17 00:00:00 2001 From: Marin Date: Tue, 18 May 2021 15:05:17 +0200 Subject: [PATCH 11/86] improv/add-3g-4g-rrc-channel-types-from-scat: Fix decoding 4G signalling payload logs with the extended version 20 for LTE RRC packets (still according to SCAT) --- modules/pcap_dump.py | 15 ++++++++------- protocol/log_types.py | 6 ++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 8f9ebe8..c32306f 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -257,12 +257,12 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): if ext_header_ver in (14, 15, 16, 20, 24): channel_lookup_table.update({ - LTE_BCCH_BCH_v0: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, - LTE_BCCH_DL_SCH_v0: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message, - LTE_MCCH_v0: GSMTAP_LTE_RRC_SUB_MCCH_Message, - LTE_PCCH_v0: GSMTAP_LTE_RRC_SUB_PCCH_Message, - LTE_DL_CCCH_v0: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message, - LTE_DL_DCCH_v0: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message, + LTE_BCCH_BCH_v14: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, + LTE_BCCH_DL_SCH_v14: GSMTAP_LTE_RRC_SUB_BCCH_DL_SCH_Message, + LTE_MCCH_v14: GSMTAP_LTE_RRC_SUB_MCCH_Message, + LTE_PCCH_v14: GSMTAP_LTE_RRC_SUB_PCCH_Message, + LTE_DL_CCCH_v14: GSMTAP_LTE_RRC_SUB_DL_CCCH_Message, + LTE_DL_DCCH_v14: GSMTAP_LTE_RRC_SUB_DL_DCCH_Message, LTE_UL_CCCH_v14: GSMTAP_LTE_RRC_SUB_UL_CCCH_Message, LTE_UL_DCCH_v14: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, }) @@ -304,7 +304,8 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): if gsmtap_channel_type is None: - warning('Unknown log type received for LOG_LTE_RRC_OTA_MSG_LOG_C: %d' % channel_type) + warning('Unknown log type received for LOG_LTE_RRC_OTA_MSG_LOG_C version %d: %d' % ( + ext_header_ver, channel_type)) return packet = build_gsmtap_ip(GSMTAP_TYPE_LTE_RRC, gsmtap_channel_type, packet, is_uplink) diff --git a/protocol/log_types.py b/protocol/log_types.py index 3818498..05a80ab 100644 --- a/protocol/log_types.py +++ b/protocol/log_types.py @@ -52,6 +52,12 @@ LTE_UL_CCCH_v0 = 7 LTE_UL_DCCH_v0 = 8 +LTE_BCCH_BCH_v14 = 1 +LTE_BCCH_DL_SCH_v14 = 2 +LTE_MCCH_v14 = 4 +LTE_PCCH_v14 = 5 +LTE_DL_CCCH_v14 = 6 +LTE_DL_DCCH_v14 = 7 LTE_UL_CCCH_v14 = 8 LTE_UL_DCCH_v14 = 9 From d1d9c479e5b8dddd1824c8da82a01ef5c8beab79 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 19 May 2021 10:29:14 +0200 Subject: [PATCH 12/86] Consider "LOG_LTE_RRC_OTA_MSG_LOG_C" Diag log headers to contain an extended 5G/NR release field since log packet version 25 rather than 26 --- modules/pcap_dump.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index c32306f..cda50ee 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -197,7 +197,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): (ext_header_ver, rrc_rel, rrc_ver, bearer_id, phy_cellid), ext_header = unpack('= 26: # Handle post-NR releases + if ext_header_ver >= 25: # Handle post-NR releases (ext_header_ver, rrc_rel, rrc_ver, nc_rrc_rel, bearer_id, phy_cellid), ext_header = unpack(' Date: Fri, 21 May 2021 14:38:20 +0200 Subject: [PATCH 13/86] improve/update-ioctl-support: Update the "adb_brige.c" file from MobileInsight's "diag_revealer.c" in order to improve Android device support and compatibility --- inputs/adb_bridge/Makefile | 2 +- inputs/adb_bridge/README.md | 4 +- inputs/adb_bridge/adb_bridge | Bin 11636 -> 16332 bytes inputs/adb_bridge/adb_bridge.c | 660 +++++++++++++++++++++++++++++++-- 4 files changed, 627 insertions(+), 39 deletions(-) diff --git a/inputs/adb_bridge/Makefile b/inputs/adb_bridge/Makefile index 74b6512..7520da2 100644 --- a/inputs/adb_bridge/Makefile +++ b/inputs/adb_bridge/Makefile @@ -1,4 +1,4 @@ -CC := $(HOME)/ndk/bin/arm-linux-androideabi-clang +CC := $(HOME)/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi16-clang adb_bridge: adb_bridge.c $(CC) adb_bridge.c -std=c99 -Werror -fPIE -pie -o adb_bridge diff --git a/inputs/adb_bridge/README.md b/inputs/adb_bridge/README.md index f43f17f..f83f86f 100644 --- a/inputs/adb_bridge/README.md +++ b/inputs/adb_bridge/README.md @@ -6,5 +6,5 @@ For looking at the Python source code performing the upload process to the Andro If you wish to recompile the C program, you can follow these steps: -* Download the latest [Android NDK toolchain](https://developer.android.com/ndk/downloads/), and [build it](https://developer.android.com/ndk/guides/standalone_toolchain) for ARM -* Execute `make CC=$clang_path` where `$clang_path` is the path to the `arm-linux-androideabi-clang` binary in the toolchain you have built. +* Download and extract the latest pre-built [Android NDK toolchain](https://developer.android.com/ndk/downloads/) +* Execute `make CC=$clang_path` where `$clang_path` is the path to the `arm*-linux-androideabi*-clang` binary in the pre-build toolchain that you have download and extracted. diff --git a/inputs/adb_bridge/adb_bridge b/inputs/adb_bridge/adb_bridge index 51085e91499db5b2a1f7bbcc5bcf53df4138d9e5..d9d0aa4a089b56756db203e4658aa81952ca9b3b 100755 GIT binary patch literal 16332 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 wh;z?Qy|5bv2> Author: Jiayao Li, Yuanjie Li, Haotian Deng + * > Changes: + * > Ruihan Li: Probe ioctl argument length. + * > Fix libdiag.so logging switching. + * > Add Android 10 support. */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #define QCSUPER_TCP_PORT 43555 #define BUFFER_LEN 1024 * 1024 * 10 @@ -36,21 +64,222 @@ #define QCSUPER_SIZE_FIELD_SIZE 4 #define DIAG_DATATYPE_FIELD_SIZE 4 -#define DIAG_CON_APSS 1 /* Bit mask for APSS */ -#define DIAG_CON_MPSS 2 /* Bit mask for MPSS */ -#define DIAG_CON_LPASS 4 /* Bit mask for LPASS */ -#define DIAG_CON_WCNSS 8 /* Bit mask for WCNSS */ -#define DIAG_CON_SENSORS 16 /* Bit mask for Sensors */ +#define LOGE(...) fprintf(stderr, __VA_ARGS__) +#define LOGW(...) fprintf(stderr, __VA_ARGS__) +#define LOGD(...) fprintf(stderr, __VA_ARGS__) +#define LOGI(...) fprintf(stderr, __VA_ARGS__) + +static void* (*real_pthread_create)(pthread_t*, const pthread_attr_t*, void *(*) (void *), void *) = NULL; + +typedef int (*D_FUNC)(int, int); +typedef signed int (*I_FUNC)(); +typedef int (*F_FUNC)(int); +typedef int (*R_FUNC)(const char *); + +#define LIBDIAG_TMPPATH "/data/local/tmp/libdiag.so" + +/* + * MDM VS. MSM + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/include/linux/diagchar.h + */ +enum remote_procs { + MSM = 0, + MDM = 1, + MDM2 = 2, + QSC = 5, +}; + +/* Raw binary data type + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/include/linux/diagchar.h + */ +#define MSG_MASKS_TYPE 0x00000001 +#define LOG_MASKS_TYPE 0x00000002 +#define EVENT_MASKS_TYPE 0x00000004 +#define PKT_TYPE 0x00000008 +#define DEINIT_TYPE 0x00000010 +#define USER_SPACE_DATA_TYPE 0x00000020 +#define DCI_DATA_TYPE 0x00000040 +#define CALLBACK_DATA_TYPE 0x00000080 +#define DCI_LOG_MASKS_TYPE 0x00000100 +#define DCI_EVENT_MASKS_TYPE 0x00000200 +#define DCI_PKT_TYPE 0x00000400 + +/* IOCTL commands for diagnostic port + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/include/linux/diagchar.h + */ +#define DIAG_IOCTL_SWITCH_LOGGING 7 +#define DIAG_IOCTL_LSM_DEINIT 9 +#define DIAG_IOCTL_DCI_REG 23 +#define DIAG_IOCTL_DCI_INIT 20 +#define DIAG_IOCTL_DCI_DEINIT 21 +#define DIAG_IOCTL_DCI_CLEAR_LOGS 28 +#define DIAG_IOCTL_DCI_CLEAR_EVENTS 29 +#define DIAG_IOCTL_REMOTE_DEV 32 +#define DIAG_IOCTL_VOTE_REAL_TIME 33 +#define DIAG_IOCTL_GET_REAL_TIME 34 +#define DIAG_IOCTL_PERIPHERAL_BUF_CONFIG 35 +#define DIAG_IOCTL_PERIPHERAL_BUF_DRAIN 36 + +#define MEMORY_DEVICE_MODE 2 +#define CALLBACK_MODE 6 +#define TTY_MODE 8 + +/* + * NEXUS-6-ONLY IOCTL + * Reference: https://github.com/MotorolaMobilityLLC/kernel-msm/blob/kitkat-4.4.4-release-victara/include/linux/diagchar.h + */ +#define DIAG_IOCTL_OPTIMIZED_LOGGING 35 +#define DIAG_IOCTL_OPTIMIZED_LOGGING_FLUSH 36 + +/* + * Buffering mode + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/include/linux/diagchar.h + */ +#define DIAG_BUFFERING_MODE_STREAMING 0 +#define DIAG_BUFFERING_MODE_THRESHOLD 1 +#define DIAG_BUFFERING_MODE_CIRCULAR 2 +#define DEFAULT_LOW_WM_VAL 15 +#define DEFAULT_HIGH_WM_VAL 85 +#define NUM_SMD_DATA_CHANNELS 4 +#define NUM_SMD_CONTROL_CHANNELS NUM_SMD_DATA_CHANNELS + +#define MODEM_DATA 0 +#define LAST_PERIPHERAL 3 + +/* + * Structures for DCI client registration + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/drivers/char/diag/diag_dci.h + */ +#define DCI_LOG_MASK_SIZE (16 * 514) +#define DCI_EVENT_MASK_SIZE 512 +struct diag_dci_reg_tbl_t { + int client_id; + uint16_t notification_list; + int signal_type; + int token; +} __packed; + +/* + * Android 10.0: switch_logging_mode structure + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-10.0.0_r0.87/drivers/char/diag/diagchar.h + * Android 11.0.0 (RD1A.201105.003.C1) + * https://android.googlesource.com/kernel/msm.git/+/refs/tags/android-11.0.0_r0.27/drivers/char/diag/diagchar.h + */ +struct diag_logging_mode_param_t_q { + uint32_t req_mode; + uint32_t peripheral_mask; + uint32_t pd_mask; + uint8_t mode_param; + uint8_t diag_id; + uint8_t pd_val; + uint8_t reserved; + int peripheral; + int device_mask; +} __packed; +#define DIAG_MD_LOCAL 0 +#define DIAG_MD_LOCAL_LAST 1 +#define DIAG_MD_BRIDGE_BASE DIAG_MD_LOCAL_LAST +#define DIAG_MD_MDM (DIAG_MD_BRIDGE_BASE) +#define DIAG_MD_MDM2 (DIAG_MD_BRIDGE_BASE + 1) +#define DIAG_MD_BRIDGE_LAST (DIAG_MD_BRIDGE_BASE + 2) + +struct diag_con_all_param_t { + uint32_t diag_con_all; + uint32_t num_peripherals; + uint32_t upd_map_supported; +}; +#define DIAG_IOCTL_QUERY_CON_ALL 40 + +/* + * Android 9.0: switch_logging_mode structure + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-9.0.0_r0.31/drivers/char/diag/diagchar.h + */ +struct diag_logging_mode_param_t_pie { + uint32_t req_mode; + uint32_t peripheral_mask; + uint32_t pd_mask; + uint8_t mode_param; + uint8_t diag_id; + uint8_t pd_val; + uint8_t reserved; + int peripheral; +} __packed; + +/* + * Android 7.0: switch_logging_mode structure + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-7.1.0_r0.3/drivers/char/diag/diagchar.h + */ +struct diag_logging_mode_param_t { + uint32_t req_mode; + uint32_t peripheral_mask; + uint8_t mode_param; +} __packed; +#define DIAG_CON_APSS (0x0001) /* Bit mask for APSS */ +#define DIAG_CON_MPSS (0x0002) /* Bit mask for MPSS */ +#define DIAG_CON_LPASS (0x0004) /* Bit mask for LPASS */ +#define DIAG_CON_WCNSS (0x0008) /* Bit mask for WCNSS */ +#define DIAG_CON_SENSORS (0x0010) /* Bit mask for Sensors */ +#define DIAG_CON_NONE (0x0000) /* Bit mask for No SS*/ +#define DIAG_CON_ALL (DIAG_CON_APSS | DIAG_CON_MPSS \ + | DIAG_CON_LPASS | DIAG_CON_WCNSS \ + | DIAG_CON_SENSORS) + +/* + * Structures for ioctl + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/drivers/char/diag/diagchar_core.c + */ + +struct diag_buffering_mode_t { + uint8_t peripheral; + uint8_t mode; + uint8_t high_wm_val; + uint8_t low_wm_val; +} __packed; + +#define DIAG_PROC_DCI 1 +#define DIAG_PROC_MEMORY_DEVICE 2 -#define DIAG_CON_ALL (DIAG_CON_APSS | DIAG_CON_MPSS | DIAG_CON_LPASS | DIAG_CON_WCNSS | DIAG_CON_SENSORS) +struct real_time_vote_t { + uint16_t proc; + uint8_t real_time_vote; +}; -// make && adb push hello /data/local/tmp && adb forward tcp:43555 tcp:43555 && adb shell "su -c /data/local/tmp/hello" +struct real_time_query_t { + int real_time; + int proc; +} __packed; + +/* + * DCI structures + */ +struct diag_dci_client_tbl { + struct task_struct *client; + uint16_t list; /* bit mask */ + int signal_type; + unsigned char dci_log_mask[DCI_LOG_MASK_SIZE]; + unsigned char dci_event_mask[DCI_EVENT_MASK_SIZE]; + unsigned char *dci_data; + int data_len; + int total_capacity; + int dropped_logs; + int dropped_events; + int received_logs; + int received_events; +}; + +/* + * Default logging mode and buffer + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/drivers/char/diag/diag_dci.h + */ + +// int mode = CALLBACK_MODE; // Logging mode +static int mode = MEMORY_DEVICE_MODE; // logging mode +static uint16_t use_mdm = 0; // MSM (0) or not +static int client_id; // DCI client ID (allocated by diag driver) +static int diag_fd; // file descriptor to /dev/diag struct pollfd fds[FDS_LEN] = { 0 }; int number_fds = 0; -int diag_fd; - -int use_mdm = 0; pthread_mutex_t fdset_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -115,7 +344,385 @@ void* diag_read_thread(void* arg) { } } -int main(void) { +/* + * Explicitly probe the length of the argument that ioctl(diag_fd, req, ...) takes. + * + * Assumptions: + * 1. The length is fixed. + * 2. The insufficient length is the only reason to make ioctl(diag_fd, req, ...) + * fail and set errno to EFAULT. + * 3. The argument filled with 0x3f won't cause unrecoverable errors, or + * interfere with what we're going to do next. + */ +static ssize_t +probe_ioctl_arglen (int req, size_t maxlen) +{ + size_t pagesize = sysconf(_SC_PAGESIZE); + char *p; + size_t len; + + if (maxlen > pagesize) { + LOGE("probe_ioctl_arglen: maxlen > pagesize is not implemented\n"); + return -1; + } + + p = mmap(NULL, pagesize * 2, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); + if (p == MAP_FAILED) { + LOGE("probe_ioctl_arglen: mmap fails (%s)\n", strerror(errno)); + return -1; + } + p += pagesize; + munmap(p, pagesize); + memset(p - maxlen, 0x3f, maxlen); + + for (len = 0; len <= maxlen; ++len) { + if (ioctl(diag_fd, req, p - len) >= 0) + break; + if (errno != EFAULT) + break; + } + munmap(p - pagesize, pagesize); + return len; +} + +/* + * Calling functions into libdiag.so will create several threads. For example, + * in diag_switch_logging, three threads (disk_write_hdl, qsr4_db_parser_thread_hdl, + * db_write_thread_hdl) will be created. But actually we don't need them at all. + * Meanwhile we cannot call dlclose when these useless threads are still alive. + * So the following fake pthread_create is used to prevent them from being created. + * + * Note this fake pthread_create may cause some unexpected side effects on another + * untested version of libdiag.so. If so, futher modification is needed. + * + * Tested devices: + * Xiaomi Mi 5S Android 7.1.2 + * Huawei Nexus 6P Android 8.0.0 + * Xiaomi Redmi Note 8 Android 10.0.0 + * Samsung Galaxy A90 5G Android 10.0.0 + */ +int +pthread_create (pthread_t *thread, const pthread_attr_t *attr, + void *(*start_routine)(void *), void *arg) { + *thread = 1; + return 0; +} + +static int +__enable_logging_libdiag (int mode) +{ + static char libdiag_copycmd[256]; + const char *LIB_DIAG_PATH[] = { + "/system/vendor/lib64/libdiag.so", + "/system/vendor/lib/libdiag.so", + }; + + int ret; + const char *err; + void *handle; + void (*diag_switch_logging)(int, const char *); + int *diag_fd_ptr; + int *logging_mode; + + /* + * "Starting in Android 7.0, the system prevents apps from dynamically linking against + * non-NDK libraries, which may cause your app to crash." + * Reference: https://developer.android.com/about/versions/nougat/android-7.0-changes#ndk + * + * Copy it into LIBDIAG_TMPPATH and load it. + */ + handle = NULL; + for (unsigned int i = 0; i < sizeof(LIB_DIAG_PATH) / sizeof(LIB_DIAG_PATH[0]) && !handle; ++i) { + sprintf(libdiag_copycmd, "su -c cp %s " LIBDIAG_TMPPATH "\n", LIB_DIAG_PATH[i]); + system(libdiag_copycmd); + handle = dlopen(LIBDIAG_TMPPATH, RTLD_NOW); + if (!handle) + LOGE("dlopen %s failed (%s)\n", LIB_DIAG_PATH[i], dlerror()); + // else + // LOGI("dlopen %s succeeded\n", LIB_DIAG_PATH[i]); + } + if (!handle) + return -1; + + // Note diag_switch_logging does NOT have a return value in general. + err = "diag_switch_logging"; + diag_switch_logging = (void (*)(int, const char *)) dlsym(handle, "diag_switch_logging"); + if (!diag_switch_logging) + goto fail; + err = "diag_fd_ptr/fd"; + diag_fd_ptr = (int *) dlsym(handle, "diag_fd"); + if (!diag_fd_ptr) + diag_fd_ptr = (int *) dlsym(handle, "fd"); + if (!diag_fd_ptr) + goto fail; + logging_mode = (int *) dlsym(handle, "logging_mode"); + + /* + * It seems that calling Diag_LSM_Init here is not necessary. + * + * When diag_fd_ptr is not set, Diag_LSM_Init will try to open + * /dev/diag, which will fail since we've already opened one + * (errno=EEXIST). + * + * When diag_fd_ptr is set, Diag_LSM_Init will also do nothing + * related to our goal. + */ + *diag_fd_ptr = diag_fd; + (*diag_switch_logging)(mode, NULL); + + if (logging_mode && *logging_mode != mode) { + LOGE("diag_switch_logging in libdiag.so failed\n"); + ret = -1; + } else if (!logging_mode) { + LOGW("Missing symbol logging_mode in libdiag.so, " + "assume diag_switch_logging succeeded\n"); + ret = 0; + } else { + ret = 0; + } + + // We have never created new threads in libdiag.so, so we can close it. + dlclose(handle); + return ret; +fail: + LOGE("Missing symbol %s in libdiag.so\n", err); + dlclose(handle); + return -1; +} + +static int +enable_logging (int diag_fd, int mode) +{ + int ret = -1; + + /* + * EXPERIMENTAL (NEXUS 6 ONLY): + * 1. check use_mdm + * 2. Register a DCI client + * 3. Send DCI control command + */ + ret = ioctl(diag_fd, DIAG_IOCTL_REMOTE_DEV, &use_mdm); + if (ret < 0) { + printf("ioctl DIAG_IOCTL_REMOTE_DEV fails, with ret val = %d\n", ret); + perror("ioctl DIAG_IOCTL_REMOTE_DEV"); + } else { + // LOGD("DIAG_IOCTL_REMOTE_DEV use_mdm=%d\n", use_mdm); + } + + // Register a DCI client + struct diag_dci_reg_tbl_t dci_client; + dci_client.client_id = 0; + dci_client.notification_list = 0; + dci_client.signal_type = SIGPIPE; + // dci_client.token = use_mdm; + dci_client.token = 0; + ret = ioctl(diag_fd, DIAG_IOCTL_DCI_REG, &dci_client); + if (ret < 0) { + printf("ioctl DIAG_IOCTL_DCI_REG fails, with ret val = %d\n", ret); + perror("ioctl DIAG_IOCTL_DCI_REG"); + } else { + client_id = ret; + // printf("DIAG_IOCTL_DCI_REG client_id=%d\n", client_id); + } + + /* + * EXPERIMENTAL (NEXUS 6 ONLY): configure the buffering mode to circular + */ + struct diag_buffering_mode_t buffering_mode; + // buffering_mode.peripheral = use_mdm; + buffering_mode.peripheral = 0; + buffering_mode.mode = DIAG_BUFFERING_MODE_STREAMING; + buffering_mode.high_wm_val = DEFAULT_HIGH_WM_VAL; + buffering_mode.low_wm_val = DEFAULT_LOW_WM_VAL; + + ret = ioctl(diag_fd, DIAG_IOCTL_PERIPHERAL_BUF_CONFIG, &buffering_mode); + if (ret < 0) { + printf("ioctl DIAG_IOCTL_PERIPHERAL_BUF_CONFIG fails, with ret val = %d\n", ret); + //perror("ioctl DIAG_IOCTL_PERIPHERAL_BUF_CONFIG"); + } + + /* + * Enable logging mode: + * + * DIAG_IOCTL_SWITCH_LOGGING has multiple versions. They require different arguments (which have + * different fields and whose lengths are also different). However, it seems there is no way to + * directly determine the version of DIAG_IOCTL_SWITCH_LOGGING. So some tricks can not be avoided + * here. + * + * A traditional way is to try one by one. But it can cause undefined behaviour. Specially, when + * a new verison of DIAG_IOCTL_SWITCH_LOGGING is introduced, it may not report an error. But some + * new fields will be out of bounds. Consequently, it may cause random bugs, which is confusing. + * + * So a more elegant way is to explicitly probe the length of DIAG_IOCTL_SWITCH_LOGGING's argument. + * And the version can be deduced from the length. It is not very precise, but it is enough at least + * for now. + */ + // Testing: get device info + char *board_pf_cmd = "su -c getprop ro.board.platform"; + char board_name[256]; + FILE *fp; + if ((fp = popen(board_pf_cmd, "r")) != NULL) { + while (fgets(board_name, 256, fp) != NULL) { + // printf("OUTPUT: %s\n", board_name); + } + pclose(fp); + } + + char *sys_ver_cmd = "su -c getprop ro.build.version.release"; + char system_version[256]; + if ((fp = popen(sys_ver_cmd, "r")) != NULL) { + while (fgets(system_version, 256, fp) != NULL) { + // printf("OUTPUT: %s\n", system_version); + } + pclose(fp); + } + + long arglen = probe_ioctl_arglen(DIAG_IOCTL_SWITCH_LOGGING, sizeof(struct diag_logging_mode_param_t_q)); + + if (strstr(board_name, "lito") != NULL && strstr(system_version, "11") != NULL){ + // printf("MATCHED.\n"); + /* Android 11.0.0 (RD1A.201105.003.C1) + * Reference: + * https://android.googlesource.com/kernel/msm.git/+/refs/tags/android-11.0.0_r0.27/drivers/char/diag/diagchar_core.c + */ + struct diag_logging_mode_param_t_q new_mode; + struct diag_con_all_param_t con_all; + con_all.diag_con_all = 0xff; + ret = ioctl(diag_fd, DIAG_IOCTL_QUERY_CON_ALL, &con_all); + if (ret == 0) + new_mode.peripheral_mask = con_all.diag_con_all; + else + new_mode.peripheral_mask = 0x7f; + new_mode.req_mode = mode; + new_mode.pd_mask = 0; + new_mode.mode_param = 1; + new_mode.diag_id = 0; + new_mode.pd_val = 0; + new_mode.peripheral = 0; + new_mode.device_mask = 1 << DIAG_MD_LOCAL; + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &new_mode); + // printf("Enable for Android 11: %d\n", ret); + goto next; + } + // Testing end + // LOGD("Not pixel-5 or Android 11: arglen=%ld, struct_q_size=%lu\n", arglen, sizeof(struct diag_logging_mode_param_t_q)); + switch (arglen) { + + case sizeof(struct diag_logging_mode_param_t_pie): { + /* Android 9.0 mode + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-9.0.0_r0.31/drivers/char/diag/diagchar_core.c + */ + struct diag_logging_mode_param_t_pie new_mode; + new_mode.req_mode = mode; + new_mode.mode_param = 0; + new_mode.pd_mask = 0; + new_mode.peripheral_mask = DIAG_CON_ALL; + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &new_mode); + + if(ret >= 0) + break; + } + case sizeof(struct diag_logging_mode_param_t): { + /* Android 7.0 mode + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-7.1.0_r0.3/drivers/char/diag/diagchar_core.c + */ + struct diag_logging_mode_param_t new_mode; + new_mode.req_mode = mode; + new_mode.peripheral_mask = DIAG_CON_ALL; + new_mode.mode_param = 0; + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &new_mode); + + if(ret >= 0) + break; + } + case sizeof(int): + /* Android 6.0 mode + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-6.0.0_r0.9/drivers/char/diag/diagchar_core.c + */ + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &mode); + if (ret >= 0) + break; + /* + * Is it really necessary? It seems that the kernel will simply ignore all the fourth and subsequent + * arguments of ioctl. But similar lines do exist in libdiag.so. Why? + * Reference: https://android.googlesource.com/kernel/msm.git/+/android-10.0.0_r0.87/fs/ioctl.c#692 + */ + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &mode, 12, 0, 0, 0, 0); + if (ret >= 0) + break; + case 0: + // Yuanjie: the following works for Samsung S5 + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, (long) mode); + if (ret >= 0) + break; + // Same question as above: Is it really necessary? + // Yuanjie: the following is used for Xiaomi RedMi 4 + ret = ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, (long) mode, 12, 0, 0, 0, 0); + if (ret >= 0) + break; + default: + LOGW("ioctl DIAG_IOCTL_SWITCH_LOGGING with arglen=%ld is not supported\n", arglen); + ret = -8080; + break; + } +next: + if (ret < 0 && ret != -8080) + LOGE("ioctl DIAG_IOCTL_SWITCH_LOGGING with arglen=%ld is supported, " + "but it failed (%s)\n", arglen, strerror(errno)); + // else if (ret >= 0) + // LOGI("ioctl DIAG_IOCTL_SWITCH_LOGGING with arglen=%ld succeeded\n", arglen); + // printf("ioctl DIAG_IOCTL_SWITCH_LOGGING with arglen=%ld succeeded\n", arglen); + + if (ret < 0) { + /* Ultimate approach: Use libdiag.so */ + ret = __enable_logging_libdiag(mode); + // if (ret >= 0) + // LOGI("Using libdiag.so to switch logging succeeded\n"); + } + if (ret >= 0) { + // LOGD("Enable logging mode success.\n"); + + // Register a DCI client + struct diag_dci_reg_tbl_t dci_client; + dci_client.client_id = 0; + dci_client.notification_list = 0; + dci_client.signal_type = SIGPIPE; + // dci_client.token = use_mdm; + dci_client.token = 0; + ret = ioctl(diag_fd, DIAG_IOCTL_DCI_REG, &dci_client); + if (ret < 0) { + // LOGD("ioctl DIAG_IOCTL_DCI_REG fails, with ret val = %d\n", ret); + // perror("ioctl DIAG_IOCTL_DCI_REG"); + } else { + client_id = ret; + // LOGD("DIAG_IOCTL_DCI_REG client_id=%d\n", client_id); + } + + /* + * Configure the buffering mode to circular + */ + struct diag_buffering_mode_t buffering_mode; + // buffering_mode.peripheral = use_mdm; + buffering_mode.peripheral = 0; + buffering_mode.mode = DIAG_BUFFERING_MODE_STREAMING; + buffering_mode.high_wm_val = DEFAULT_HIGH_WM_VAL; + buffering_mode.low_wm_val = DEFAULT_LOW_WM_VAL; + + ret = ioctl(diag_fd, DIAG_IOCTL_PERIPHERAL_BUF_CONFIG, &buffering_mode); + if (ret < 0) { + // LOGD("ioctl DIAG_IOCTL_PERIPHERAL_BUF_CONFIG fails, with ret val = %d\n", ret); + // perror("ioctl DIAG_IOCTL_PERIPHERAL_BUF_CONFIG"); + } + + } else { + // LOGD("Failed to enable logging mode: %s.\n", strerror(errno)); + } + + return ret; +} + +int main(void) +{ /* Set the standard output to unbuffered */ setvbuf(stdout, NULL, _IONBF, 0); @@ -126,34 +733,14 @@ int main(void) { /* Connect to Diag */ - diag_fd = open("/dev/diag", O_RDWR); + diag_fd = open("/dev/diag", O_RDWR | O_LARGEFILE); if (diag_fd < 0) error("open"); - const unsigned long DIAG_IOCTL_SWITCH_LOGGING = 7; - const unsigned long DIAG_IOCTL_REMOTE_DEV = 32; - const int MEMORY_DEVICE_MODE = 2; - - // The following logic was mostly based on this - // algorithm: - // https://github.com/mobile-insight/mobileinsight-mobile/blob/master/diag_revealer/qcom/jni/diag_revealer.c#L693 - - const int mode_param[] = { MEMORY_DEVICE_MODE, DIAG_CON_ALL, 0 }; // diag_logging_mode_param_t - const int mode_param_android9[] = { MEMORY_DEVICE_MODE, DIAG_CON_ALL, 0, 0 }; // diag_logging_mode_param_t_pie - - if(ioctl(diag_fd, DIAG_IOCTL_REMOTE_DEV, &use_mdm) < 0) { - error("ioctl"); - } + /* Enable logging mode */ + + enable_logging(diag_fd, mode); - if(ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, MEMORY_DEVICE_MODE, 0, 0, 0) < 0 && - ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &mode_param, sizeof(mode_param), 0, 0, 0, 0) < 0 && // Android 7.0 - ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &mode_param_android9, sizeof(mode_param_android9), 0, 0, 0, 0) < 0 && // Android 9.0 - ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &MEMORY_DEVICE_MODE, 0, 0, 0) < 0 && - ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, MEMORY_DEVICE_MODE, 12, 0, 0, 0, 0) < 0 && // Redmi 4 - ioctl(diag_fd, DIAG_IOCTL_SWITCH_LOGGING, &MEMORY_DEVICE_MODE, 12, 0, 0, 0, 0) < 0) { - error("ioctl"); - } - /* Build header for Diag requests */ *(unsigned int*) diag_buffer = USER_SPACE_DATA_TYPE; @@ -194,7 +781,8 @@ int main(void) { number_fds = 1; pthread_t diag_thread; - pthread_create(&diag_thread, NULL, &diag_read_thread, NULL); + real_pthread_create = dlsym(RTLD_NEXT, "pthread_create"); + real_pthread_create(&diag_thread, NULL, &diag_read_thread, NULL); while(1) { return_value = poll(fds, number_fds, -1); From e28050c67a82fb8a5a8e5cd6a9c588a793f4433e Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 21 May 2021 15:28:14 +0200 Subject: [PATCH 14/86] Add support for saving 5G/NR OTA logs to DLF files, even though logging to the PCAP format can't be performed yet due to a lack of update of the GSMTAP format --- modules/_enable_log_mixin.py | 1 + protocol/log_types.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/modules/_enable_log_mixin.py b/modules/_enable_log_mixin.py index 7b3085b..077b831 100644 --- a/modules/_enable_log_mixin.py +++ b/modules/_enable_log_mixin.py @@ -56,6 +56,7 @@ LOG_GSM_RR_SIGNALING_MESSAGE_C, # 0x512f WCDMA_SIGNALLING_MESSAGE, # 0x412f LOG_LTE_RRC_OTA_MSG_LOG_C, # 0xb0c0 + LOG_NR_RRC_OTA_MSG_LOG_C, # 0xb821 # NAS: diff --git a/protocol/log_types.py b/protocol/log_types.py index 05a80ab..0f90b91 100644 --- a/protocol/log_types.py +++ b/protocol/log_types.py @@ -33,6 +33,12 @@ PACKET_CHANNEL_REQUEST = 0x20 +""" + These are 5G-related log types. +""" + +LOG_NR_RRC_OTA_MSG_LOG_C = 0xb821 + """ These are 4G-related log types. """ From 1121b38882d1d2075f1c76bc6bb830111e069744 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 21 May 2021 15:38:21 +0200 Subject: [PATCH 15/86] improve/update-ioctl-support: Still fail when nothing work to enable the Diag logging mode --- inputs/adb_bridge/adb_bridge | Bin 16332 -> 16332 bytes inputs/adb_bridge/adb_bridge.c | 1 + 2 files changed, 1 insertion(+) diff --git a/inputs/adb_bridge/adb_bridge b/inputs/adb_bridge/adb_bridge index d9d0aa4a089b56756db203e4658aa81952ca9b3b..1d242c5be0b5a7a36ca00b9c9fe3d9d53a5f2293 100755 GIT binary patch delta 956 zcmYk5Yef1Y!B&Na>uSg_?adi0%ccQo{DE#1mjP4gSKI*VX*W_2JBb_c zP`^2Vm!$SrDiyyDBxs`#_+AP;qkWXx#`;RRphF?ZD2YV9(CjzO10GqpddMEr}-Q#5^sb)8^=}RI*X}y&knpUV97d^TylQ&v778ELLBsx+U{{ zHQYzLud123{alBMb>wpmE@)RNqYCNG4E6-9sIj!pxszUMuE&viEfl&5c(kGLdcOII=U$LSXobRBJ^%`Tbf{ z-IN=e$JWVB@W{*y@?0xa>*WW_Qxf)LRh4M5|q$2Wzy9qroLib;~6H4yro^i7+us(V`XS>nsw`rhF#l?f&92K zPR`hF6MspbbrCnX)>u&TAYJ9jpR#hbL}C$LxnxbGG(76#T;pF3u23z3Nf$X|F9UgU pHL{p}Miz_7`ZIB(wkk delta 912 zcmYk5T}V_>5Xb+cZo0V}yXCsM_qum=6$?$%P0)wUvK|Bzg|>`PNHUNLDiHEPP^ky^ zK{Q6NqHs$Cv9FC=P=e40QiPTCA^8xQwj^#vK@XDIZQO*qmmmL`Gjrz5J?GrJMxAVOerMOvUT(~CHg!VjO)(UJ9dxP*} z4bXc-RuO81ihSVpCSWg{9X=Xjzr$y5HT6e;?&%bp5>b|nXcKohYBzfR8zmXFIQk=G z>z?+YD?$i;c=^kS#!IW;m{Kd#!U_Lse3Z!GvM<>oK9pK*4y<@JJepd&Dv=OfSjR4B zCcV}D&VzC3t+YJ5|I-lKXPWJQ*J<}$jQm(MqIEo)=A@ncCe3Tji^U|*)-jXCCRYL7 z=3>`w8swm>dcW+^ykQvgDNrIw6O}WYJ4ffnhXFkq=n`yVpBFtTR0|=YMW_(U1*`CN zHE?{|Fv8hDM-s44^hgqKRowK9>y=zO#X-eKcX?ECn){?ZIgH3Kzf*Fkkxgn2_46jR zfR1s!T4p~Ii`UFbVKwa7B zZTukJNq(M6&!u8ExpQfX3*FT;%^hwZz2ZA=FFoZccMjcW(vDG(PiQ`ByMSS|s-MaRYO5`_oo6MZf@$1ls3 z5+=nCNR4x%A-%!V5~sh!_JSl)`HMdQ+Z!+Ah5`|4}?yc&V_AO4whdQ4-e| z6=ZyNN#)pM!Bx=(b;X5c`L@Ht*Nb*Y?)M^vN_49)cQrL}sb4e2{xPoid(Cwox!XcO J5Bhh+{Q*`U7A*h( diff --git a/inputs/adb_bridge/adb_bridge.c b/inputs/adb_bridge/adb_bridge.c index af4c295..54051b6 100644 --- a/inputs/adb_bridge/adb_bridge.c +++ b/inputs/adb_bridge/adb_bridge.c @@ -715,6 +715,7 @@ enable_logging (int diag_fd, int mode) } } else { + error("ioctl"); // LOGD("Failed to enable logging mode: %s.\n", strerror(errno)); } From 51a6ee0fd7beac62a55c75106f033b346e6a0fa6 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 21 May 2021 20:01:00 +0200 Subject: [PATCH 16/86] Correctly decode LTE RRC OTA signallings packets issues with the version 25 of LOG_LTE_RRC_OTA_MSG_LOG_C (see issue #56) --- modules/pcap_dump.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index cda50ee..fb14062 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -254,7 +254,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): LTE_UL_DCCH_v9: GSMTAP_LTE_RRC_SUB_UL_DCCH_Message, }) - if ext_header_ver in (14, 15, 16, 20, 24): + if ext_header_ver in (14, 15, 16, 20, 24, 25): channel_lookup_table.update({ LTE_BCCH_BCH_v14: GSMTAP_LTE_RRC_SUB_BCCH_BCH_Message, From f658b9ef55fb791bb009dbae2eb4cf1dcb326682 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 22 May 2021 15:30:50 +0200 Subject: [PATCH 17/86] Avoid truncating "LOG_LTE_RRC_OTA_MSG_LOG_C" LTE RRC OTA packets as their displayed length, as the displayed length is not always present at the end of the log packet inner header, as we can see in the "LteRrcOtaPacketFmt_v7" structure from MobileInsight's source --- modules/pcap_dump.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index fb14062..0b80df6 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -210,9 +210,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): header_spec = '<' + freq_type + 'HB4xH' - (freq, sfn, channel_type, length), signalling_message = unpack_from(header_spec, ext_header), ext_header[calcsize(header_spec):] - - packet = signalling_message[:length] + (freq, sfn, channel_type, length), packet = unpack_from(header_spec, ext_header), ext_header[calcsize(header_spec):] # GSMTAP definition: # - https://github.com/wireshark/wireshark/blob/wireshark-2.5.0/epan/dissectors/packet-gsmtap.h From 6cc9642b21790711b8bb006d66dd36a92668a081 Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 3 Jun 2021 18:46:57 +0200 Subject: [PATCH 18/86] feature/efs-shell-client: Implement a basic CLI prompt for interacting with and browsing the Qualcomm EFS (embedded filesystem) --- README.md | 6 +- docs/QCSuper architecture.md | 2 +- inputs/_base_input.py | 11 ++ inputs/adb.py | 2 +- modules/cli.py | 7 - modules/efs_shell.py | 187 ++++++++++++++++++ .../_base_efs_shell_command.py | 12 ++ modules/efs_shell_commands/cat.py | 138 +++++++++++++ modules/efs_shell_commands/chmod.py | 127 ++++++++++++ modules/efs_shell_commands/device_info.py | 68 +++++++ modules/efs_shell_commands/get.py | 109 ++++++++++ modules/efs_shell_commands/ln.py | 52 +++++ modules/efs_shell_commands/ls.py | 160 +++++++++++++++ modules/efs_shell_commands/md5sum.py | 59 ++++++ modules/efs_shell_commands/mkdir.py | 51 +++++ modules/efs_shell_commands/mv.py | 54 +++++ modules/efs_shell_commands/put.py | 137 +++++++++++++ modules/efs_shell_commands/rm.py | 79 ++++++++ modules/efs_shell_commands/stat.py | 102 ++++++++++ protocol/efs2.py | 87 ++++++++ protocol/subsystems.py | 151 ++++++++++++++ qcsuper.py | 12 +- 22 files changed, 1601 insertions(+), 12 deletions(-) create mode 100644 modules/efs_shell.py create mode 100644 modules/efs_shell_commands/_base_efs_shell_command.py create mode 100644 modules/efs_shell_commands/cat.py create mode 100644 modules/efs_shell_commands/chmod.py create mode 100644 modules/efs_shell_commands/device_info.py create mode 100644 modules/efs_shell_commands/get.py create mode 100644 modules/efs_shell_commands/ln.py create mode 100644 modules/efs_shell_commands/ls.py create mode 100644 modules/efs_shell_commands/md5sum.py create mode 100644 modules/efs_shell_commands/mkdir.py create mode 100644 modules/efs_shell_commands/mv.py create mode 100644 modules/efs_shell_commands/put.py create mode 100644 modules/efs_shell_commands/rm.py create mode 100644 modules/efs_shell_commands/stat.py create mode 100644 protocol/efs2.py create mode 100644 protocol/subsystems.py diff --git a/README.md b/README.md index 67f9baf..4637780 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Then, you need to ensure that you can reach your device using `adb`. You can fin Then, follow these links on order to: -* [Install Python 3.6](https://www.python.org/ftp/python/3.6.8/python-3.6.8.exe) or more recent (be sure to check options to include it into PATH, install it for all users and install pip) +* [Install Python 3.7](https://www.python.org/ftp/python/3.7.9/python-3.7.9.exe) or more recent (be sure to check options to include it into PATH, install it for all users and install pip) * [Install Wireshark 2.6](https://1.eu.dl.wireshark.org/win32/Wireshark-win32-2.6.9.exe) or more recent * [Download and extract QCSuper](https://github.com/P1sec/QCSuper/archive/master.zip) @@ -118,7 +118,7 @@ sudo ./qcsuper.py --usb-modem /dev/ttyHS2 --wireshark-live Here is the current usage notice for QCSuper: ``` -usage: qcsuper.py [-h] [--cli] [-v] +usage: qcsuper.py [-h] [--cli] [--efs-shell] [-v] (--adb | --usb-modem TTY_DEV | --dlf-read DLF_FILE | --json-geo-read JSON_FILE) [--info] [--pcap-dump PCAP_FILE] [--wireshark-live] [--memory-dump OUTPUT_DIR] [--dlf-dump DLF_FILE] @@ -133,6 +133,8 @@ optional arguments: -h, --help show this help message and exit --cli Use a command prompt, allowing for interactive completion of commands. + --efs-shell Spawn an interactive shell to navigate within the + embedded filesystem (EFS) of the baseband device. -v, --verbose Add output for each received or sent Diag packet. Input mode: diff --git a/docs/QCSuper architecture.md b/docs/QCSuper architecture.md index 35d721d..d7a7bbd 100644 --- a/docs/QCSuper architecture.md +++ b/docs/QCSuper architecture.md @@ -33,7 +33,7 @@ The design ease/simplicity tradeoff I have chosen was to use threading (but I'm QCSuper makes use of different threads: -* The main thread contains the loop reading from the device, and is the only place where reading is performed (it will also dispatch asynchronous messages to modules, calling the `on_log`, `on_message` which may not write neither read, and call at teardown the `on_deinit` callback which may write) +* The main thread contains the loop reading from the device, and is the only place where reading is performed (it will also dispatch asynchronous messages to modules, calling the `on_log`, `on_message` callbacks which may not write neither read, and calling at teardown the `on_deinit` callback which may write) * A background thread is used for initializing the modules selected through command line arguments (calling the `on_init` callback which may write) * A background thread may be used for the optional interactive prompt (`--cli`) and initializing the modules called from it (calling the `on_init` callback which may write) diff --git a/inputs/_base_input.py b/inputs/_base_input.py index ff0af7b..d38ffb9 100644 --- a/inputs/_base_input.py +++ b/inputs/_base_input.py @@ -6,6 +6,8 @@ from threading import Condition, Lock from traceback import print_exc from time import sleep, time +from subprocess import run +from shutil import which from struct import pack from modules.cli import CommandLineInterface @@ -146,6 +148,15 @@ def run(self): Thread(target = self._deinit_modules, daemon = True).start() self.shutdown_event.wait() + + # When the daemon thread holding a terminal CLI is present, an abrupt + # shutdown may break the state of the terminal (suppress echo). Avoid + # this by restoring the TTY's state. + + if which('stty'): + run(['stty', 'sane']) + + # Apply any further actions to clean up the Input class's self.__del__() diff --git a/inputs/adb.py b/inputs/adb.py index 59263fb..b83e38c 100644 --- a/inputs/adb.py +++ b/inputs/adb.py @@ -317,7 +317,7 @@ def read_loop(self): print('\nThe connection to the adb bridge was closed, or ' + 'preempted by another QCSuper instance') - exit() + return self.packet_buffer += socket_read diff --git a/modules/cli.py b/modules/cli.py index 1d75ee6..4571817 100644 --- a/modules/cli.py +++ b/modules/cli.py @@ -181,13 +181,6 @@ def print_help(self): ) def on_deinit(self): - - # When the daemon thread holding the CLI is present, an abrupt shutdown - # may break the state of the terminal (suppress echo). Avoid this by - # restoring the TTY's state. - - if which('stty'): - run(['stty', 'sane']) print('') diff --git a/modules/efs_shell.py b/modules/efs_shell.py new file mode 100644 index 0000000..e75fce4 --- /dev/null +++ b/modules/efs_shell.py @@ -0,0 +1,187 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- +from argparse import ArgumentParser, _SubParsersAction, Namespace +from typing import Dict, List, Set, Sequence, Optional +from traceback import print_exc +from struct import pack, unpack +from subprocess import run +from shutil import which +from shlex import split + +from inputs._base_input import BaseInput +from protocol.subsystems import * +from protocol.messages import * +from protocol.efs2 import * + +from .efs_shell_commands._base_efs_shell_command import BaseEfsShellCommand +from .efs_shell_commands.device_info import DeviceInfoCommand +from .efs_shell_commands.md5sum import Md5sumCommand +from .efs_shell_commands.chmod import ChmodCommand +from .efs_shell_commands.mkdir import MkdirCommand +from .efs_shell_commands.stat import StatCommand +from .efs_shell_commands.get import GetCommand +from .efs_shell_commands.put import PutCommand +from .efs_shell_commands.cat import CatCommand +from .efs_shell_commands.mv import MvCommand +from .efs_shell_commands.ln import LnCommand +from .efs_shell_commands.rm import RmCommand +from .efs_shell_commands.ls import LsCommand + +ALL_COMMAND_CLASSES = [CatCommand, LsCommand, GetCommand, PutCommand, RmCommand, ChmodCommand, MkdirCommand, MvCommand, LnCommand, + DeviceInfoCommand, StatCommand] +# "Md5sumCommand" is currently not used, it returns an invalid packet on my device + +class EfsShell: + + def __init__(self, diag_input : BaseInput): + + self.diag_input : BaseInput = diag_input + + self.parser = ArgumentParser(description = 'Spawn an interactive shell to navigate within the embedded filesystem (EFS) of the baseband device.', prog = '') + + self.sub_parsers : _SubParsersAction = self.parser.add_subparsers() + + self.sub_parser_command_name_to_command_object : Dict[str, BaseEfsShellCommand] = {} + + for command_class in ALL_COMMAND_CLASSES: + + command_object = command_class() + + sub_parser = command_object.get_argument_parser(self.sub_parsers) # Will populate the "self.sub_parsers._name_parser_map" map, see the source of "argparse.py" in Python's standard library for reference + + self.sub_parser_command_name_to_command_object[sub_parser.prog.split(' ')[1]] = command_object + + def on_init(self): + + print() + + self.setup_readline() + + while True: + + try: + + line = input('>>> ') + + if line.strip().lower() in ('q', 'quit', 'exit'): + + raise EOFError + + except (EOFError, IOError): + + # Interrupt the main and the current thread + + with self.diag_input.shutdown_event: + + self.diag_input.shutdown_event.notify() + + return + + if line: + + try: + + user_args : List[str] = split(line) + + except Exception: + + print_exc() + + else: + + sub_command_name : str = user_args[0] + + if sub_command_name in self.sub_parsers._name_parser_map: + + sub_parser_args : List[str] = user_args[1:] + + sub_parser : ArgumentParser = self.sub_parsers._name_parser_map[sub_command_name] + + command_object : BaseEfsShellCommand = self.sub_parser_command_name_to_command_object[sub_command_name] + + try: + + parsed_args : Namespace = sub_parser.parse_args(sub_parser_args) + + except SystemExit: + + pass + + except Exception: + + print_exc() + + else: + + self.send_efs_handshake() + + try: + + command_object.execute_command(self.diag_input, parsed_args) + + except SystemExit: + + pass + + else: + + self.print_help() + + def send_efs_handshake(self): + + opcode, payload = self.diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + pass + + def execute_command(self, diag_input, args : Namespace): + + pass diff --git a/modules/efs_shell_commands/cat.py b/modules/efs_shell_commands/cat.py new file mode 100644 index 0000000..01e0f9d --- /dev/null +++ b/modules/efs_shell_commands/cat.py @@ -0,0 +1,138 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- + +from argparse import ArgumentParser, _SubParsersAction, Namespace +from struct import pack, unpack, calcsize +from typing import List, Dict, Optional +from datetime import datetime + +from ._base_efs_shell_command import BaseEfsShellCommand +from inputs._base_input import message_id_to_name +from protocol.subsystems import * +from protocol.messages import * +from protocol.efs2 import * +from os import strerror + +class CatCommand(BaseEfsShellCommand): + + def get_argument_parser(self, subparsers_object : _SubParsersAction) -> ArgumentParser: + + argument_parser = subparsers_object.add_parser('cat', + description = 'Read a file in the EFS, and display it to the standard input, as free text if it is printable or as a ascii-hexadecimal dump if it is not.') + + argument_parser.add_argument('path', + nargs = '?', default = '/') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('chmod', + description = "This will change the permissions of a file, link or directory present on the remote EFS, according to arguments.") + + argument_parser.add_argument('--set-file-type', help = 'Possible values: S_IFIFO (FIFO), S_IFCHR (character device), S_IFDIR (directory), S_IFBLK (block device), S_IFREG (regular file), S_IFLNK (symbolic link), S_IFSOCK (socket), S_IFITM (item file)') + argument_parser.add_argument('--set-suid', action = 'store_true') + argument_parser.add_argument('--unset-suid', action = 'store_true') + argument_parser.add_argument('--set-sgid', action = 'store_true') + argument_parser.add_argument('--unset-sgid', action = 'store_true') + argument_parser.add_argument('--set-sticky', action = 'store_true') + argument_parser.add_argument('--unset-sticky', action = 'store_true') + argument_parser.add_argument('octal_perms', help = 'UNIX permissions, for example: 666') + argument_parser.add_argument('file_path', help = 'For example: /policyman/post.xml') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + try: + assert int(args.octal_perms, 8) & ~0o777 == 0 + except Exception: + print('Error: "octal_perms" should be a three-digit octal number') + return + + # First, emit a stat() (EFS2_DIAG_STAT) call in order to understand whether + # the remote path input by the user is a directory or not + + is_directory : bool = False + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('device_info', + description = "Obtain information about the NOR/NAND device information underlying the EFS filesystem of the baseband.") + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # Obtain the EFS underlying flash device information + + sequence_number = randint(0, 0xffff) + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('get', + description = "Read a file in the EFS, and download it to the disk to the specified location (to the shell's current directory if not specified.") + + argument_parser.add_argument('remote_src') + argument_parser.add_argument('local_dst', nargs = '?') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + remote_src : str = args.remote_src + local_dst : str = expanduser(args.local_dst or (getcwd() + '/' + basename(remote_src))) + + if exists(local_dst) and isdir(local_dst): + local_dst += '/' + basename(remote_src) + + if not exists(realpath(dirname(local_dst))): + print('Error: "%s": No such file or directory' % local_dst) + return + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('ln', + description = "Create an UNIX symbolic link across the remote EFS.") + + argument_parser.add_argument('remote_newlink') + argument_parser.add_argument('remote_target') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # Rename the target path + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('ls', + description = 'List files within a given directory of the EFS.') + + argument_parser.add_argument('path', + nargs = '?', default = '/') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ' + repr(real_path)) if real_path else ''), + 'File size': str(size) if entry_type != 0x01 else '', # 0x01: "FS_DIAG_FTYPE_DIR - Directory file" + 'Modification': datetime.fromtimestamp(mtime).strftime('%Y-%m-%d %H:%M:%S'), + # 'Access': datetime.fromtimestamp(atime).strftime('%Y-%m-%d %H:%M:%S'), # Was taking too much horizontal space + 'Creation': datetime.fromtimestamp(ctime).strftime('%Y-%m-%d %H:%M:%S'), + }) + + sequence_number += 1 + + if table_rows_to_print: + column_names : List[str] = list(table_rows_to_print[0].keys()) + + column_index_to_max_value_char_width : List[int] = [ + max(len(column_name), max(len(row[column_name]) for row in table_rows_to_print)) + for column_name in column_names + ] + + separator_row_text : str = ('+' + '-' * (sum(char_width + 3 for + char_width in column_index_to_max_value_char_width) - 1) + '+') + + print(separator_row_text) + + print('+ ' + ' | '.join(column_name.ljust(column_index_to_max_value_char_width[column_index], ' ') for + column_index, column_name in enumerate(column_names)) + ' +') + + print(separator_row_text) + + for row in table_rows_to_print: + print('+ ' + ' | '.join(row[column_name].ljust(column_index_to_max_value_char_width[column_index], ' ') for + column_index, column_name in enumerate(column_names)) + ' +') + + print(separator_row_text) + + finally: + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('md5sum', + description = "Obtain a MD5 checksum of the desired file, for a given path.") + + argument_parser.add_argument('path') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # Obtain the file checksum + + sequence_number = randint(0, 0xffff) + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('mkdir', + description = "Create a directory at the desired location with all permission bits set.") + + argument_parser.add_argument('path') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # Create the directory + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('mv', + description = "Rename or move a given file or directory in the remote EFS.") + + argument_parser.add_argument('remote_src') + argument_parser.add_argument('remote_dst') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # Rename the target path + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('put', + description = "Read a file from the local disk, and upload it to the EFS (create it if does not exist).") + + argument_parser.add_argument('local_src') + argument_parser.add_argument('remote_dst') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + local_src : str = expanduser(args.local_src) + remote_dst : str = args.remote_dst + + if not exists(local_src): + + print('Error: "%s" does not exist on your local disk' % local_src) + return + + with open(local_src, 'rb') as input_file: + + # First, emit a stat() (EFS2_DIAG_STAT) call in order to understand whether + # the remote target path input by the user is a directory or not, and to + # know the UNIX mode of the original file in the case where it already + # exists, so that we don't have to overwrite it when uploading our + # new file with open() (EFS2_DIAG_OPEN) + + file_mode_int : int = 0o100777 # By default, our remotely created file will have all rights, and be a regular file (S_IFREG) + is_directory : bool = False + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('rm', + description = "This will delete/unlink a file, link or empty directory present on the remote EFS. It will not remove a non-empty directory.") + + argument_parser.add_argument('path') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + # First, emit a stat() (EFS2_DIAG_STAT) call in order to understand whether + # the remote path input by the user is a directory or not + + is_directory : bool = False + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ArgumentParser: + + argument_parser = subparsers_object.add_parser('stat', + description = 'View meta-information about a given file or directory in the remote EFS filesystem.') + + argument_parser.add_argument('path', + nargs = '?', default = '/') + + return argument_parser + + def execute_command(self, diag_input, args : Namespace): + + encoded_path : bytes = args.path.encode('latin1').decode('unicode_escape').encode('latin1') + b'\x00' + + opcode, payload = diag_input.send_recv(DIAG_SUBSYS_CMD_F, pack(' ' + repr(real_path)) if real_path else ''), + 'Number of entries' if mode & 0o170000 == 0o040000 else 'File size': str(size), # Directory (S_IFDIR) + 'Number of links on the filesystem': str(num_links), + 'Modification time': datetime.fromtimestamp(mtime).strftime('%Y-%m-%d %H:%M:%S'), + 'Access time': datetime.fromtimestamp(atime).strftime('%Y-%m-%d %H:%M:%S'), # Was taking too much horizontal space + 'Creation time': datetime.fromtimestamp(ctime).strftime('%Y-%m-%d %H:%M:%S'), + }.items(): + if value: + print(' - %s: %s' % (row, value)) + + print() + diff --git a/protocol/efs2.py b/protocol/efs2.py new file mode 100644 index 0000000..06cb2ab --- /dev/null +++ b/protocol/efs2.py @@ -0,0 +1,87 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- + +EFS2_ERROR_CODES = { + 0x40000001: 'FS_DIAG_INCONSISTENT_STATE', + 0x40000002: 'FS_DIAG_INVALID_SEQ_NO', + 0x40000003: 'FS_DIAG_DIR_NOT_OPEN', + 0x40000004: 'FS_DIAG_DIRENT_NOT_FOUND', + 0x40000005: 'FS_DIAG_INVALID_PATH', + 0x40000006: 'FS_DIAG_PATH_TOO_LONG', + 0x40000007: 'FS_DIAG_TOO_MANY_OPEN_DIRS', + 0x40000008: 'FS_DIAG_INVALID_DIR_ENTRY', + 0x40000009: 'FS_DIAG_TOO_MANY_OPEN_FILES', + 0x4000000a: 'FS_DIAG_UNKNOWN_FILETYPE', + 0x4000000b: 'FS_DIAG_NOT_NAND_FLASH', + 0x4000000c: 'FS_DIAG_UNAVAILABLE_INFO' +} + +EFS2_FILE_TYPES = { + 0o010000: 'FIFO (S_IFIFO)', + 0o020000: 'Character device (S_IFCHR)', + 0o040000: 'Directory (S_IFDIR)', + 0o060000: 'Block device (S_IFBLK)', + 0o100000: 'Regular file (S_IFREG)', + 0o120000: 'Symlink (S_IFLNK)', + 0o140000: 'Socket (S_IFSOCK)', + 0o160000: 'Item File (S_IFITM)', + 0o170000: 'Mask of all values (S_IFMT)', +} + +EFS2_DIAG_HELLO = 0 +EFS2_DIAG_QUERY = 1 +EFS2_DIAG_OPEN = 2 +EFS2_DIAG_CLOSE = 3 +EFS2_DIAG_READ = 4 +EFS2_DIAG_WRITE = 5 +EFS2_DIAG_SYMLINK = 6 +EFS2_DIAG_READLINK = 7 +EFS2_DIAG_UNLINK = 8 +EFS2_DIAG_MKDIR = 9 +EFS2_DIAG_RMDIR = 10 +EFS2_DIAG_OPENDIR = 11 +EFS2_DIAG_READDIR = 12 +EFS2_DIAG_CLOSEDIR = 13 +EFS2_DIAG_RENAME = 14 +EFS2_DIAG_STAT = 15 +EFS2_DIAG_LSTAT = 16 +EFS2_DIAG_FSTAT = 17 +EFS2_DIAG_CHMOD = 18 +EFS2_DIAG_STATFS = 19 +EFS2_DIAG_ACCESS = 20 +EFS2_DIAG_DEV_INFO = 21 +EFS2_DIAG_FACT_IMAGE_START = 22 +EFS2_DIAG_FACT_IMAGE_READ = 23 +EFS2_DIAG_FACT_IMAGE_END = 24 +EFS2_DIAG_PREP_FACT_IMAGE = 25 +EFS2_DIAG_PUT_DEPRECATED = 26 +EFS2_DIAG_GET_DEPRECATED = 27 +EFS2_DIAG_ERROR = 28 +EFS2_DIAG_EXTENDED_INFO = 29 +EFS2_DIAG_CHOWN = 30 +EFS2_DIAG_BENCHMARK_START_TEST = 31 +EFS2_DIAG_BENCHMARK_GET_RESULTS = 32 +EFS2_DIAG_BENCHMARK_INIT = 33 +EFS2_DIAG_SET_RESERVATION = 34 +EFS2_DIAG_SET_QUOTA = 35 +EFS2_DIAG_GET_GROUP_INFO = 36 +EFS2_DIAG_DELTREE = 37 +EFS2_DIAG_PUT = 38 +EFS2_DIAG_GET = 39 +EFS2_DIAG_TRUNCATE = 40 +EFS2_DIAG_FTRUNCATE = 41 +EFS2_DIAG_STATVFS_V2 = 42 +EFS2_DIAG_MD5SUM = 43 +EFS2_DIAG_HOTPLUG_FORMAT = 44 +EFS2_DIAG_SHRED = 45 +EFS2_DIAG_SET_IDLE_DEV_EVT_DUR = 46 +EFS2_DIAG_HOTPLUG_DEVICE_INFO = 47 +EFS2_DIAG_SYNC_NO_WAIT = 48 +EFS2_DIAG_SYNC_GET_STATUS = 49 +EFS2_DIAG_TRUNCATE64 = 50 +EFS2_DIAG_FTRUNCATE64 = 51 +EFS2_DIAG_LSEEK64 = 52 +EFS2_DIAG_MAKE_GOLDEN_COPY = 53 +EFS2_DIAG_FILESYSTEM_IMAGE_OPEN = 54 +EFS2_DIAG_FILESYSTEM_IMAGE_READ = 55 +EFS2_DIAG_FILESYSTEM_IMAGE_CLOSE = 56 diff --git a/protocol/subsystems.py b/protocol/subsystems.py new file mode 100644 index 0000000..447edbd --- /dev/null +++ b/protocol/subsystems.py @@ -0,0 +1,151 @@ +#!/usr/bin/python3 +#-*- encoding: utf-8 -*- + +""" + This files contains a list of the Diag subsystem IDs, + as it can be found in other open-source projects. +""" + +# Subsystem IDs + +DIAG_SUBSYS_OEM = 0 +DIAG_SUBSYS_ZREX = 1 +DIAG_SUBSYS_SD = 2 +DIAG_SUBSYS_BT = 3 +DIAG_SUBSYS_WCDMA = 4 +DIAG_SUBSYS_HDR = 5 +DIAG_SUBSYS_DIABLO = 6 +DIAG_SUBSYS_TREX = 7 +DIAG_SUBSYS_GSM = 8 +DIAG_SUBSYS_UMTS = 9 +DIAG_SUBSYS_HWTC = 10 +DIAG_SUBSYS_FTM = 11 +DIAG_SUBSYS_REX = 12 +DIAG_SUBSYS_OS = DIAG_SUBSYS_REX +DIAG_SUBSYS_GPS = 13 +DIAG_SUBSYS_WMS = 14 +DIAG_SUBSYS_CM = 15 +DIAG_SUBSYS_HS = 16 +DIAG_SUBSYS_AUDIO_SETTINGS = 17 +DIAG_SUBSYS_DIAG_SERV = 18 +DIAG_SUBSYS_FS = 19 +DIAG_SUBSYS_PORT_MAP_SETTINGS = 20 +DIAG_SUBSYS_MEDIAPLAYER = 21 +DIAG_SUBSYS_QCAMERA = 22 +DIAG_SUBSYS_MOBIMON = 23 +DIAG_SUBSYS_GUNIMON = 24 +DIAG_SUBSYS_LSM = 25 +DIAG_SUBSYS_QCAMCORDER = 26 +DIAG_SUBSYS_MUX1X = 27 +DIAG_SUBSYS_DATA1X = 28 +DIAG_SUBSYS_SRCH1X = 29 +DIAG_SUBSYS_CALLP1X = 30 +DIAG_SUBSYS_APPS = 31 +DIAG_SUBSYS_SETTINGS = 32 +DIAG_SUBSYS_GSDI = 33 +DIAG_SUBSYS_UIMDIAG = DIAG_SUBSYS_GSDI +DIAG_SUBSYS_TMC = 34 +DIAG_SUBSYS_USB = 35 +DIAG_SUBSYS_PM = 36 +DIAG_SUBSYS_DEBUG = 37 +DIAG_SUBSYS_QTV = 38 +DIAG_SUBSYS_CLKRGM = 39 +DIAG_SUBSYS_DEVICES = 40 +DIAG_SUBSYS_WLAN = 41 +DIAG_SUBSYS_PS_DATA_LOGGING = 42 +DIAG_SUBSYS_PS = DIAG_SUBSYS_PS_DATA_LOGGING +DIAG_SUBSYS_MFLO = 43 +DIAG_SUBSYS_DTV = 44 +DIAG_SUBSYS_RRC = 45 +DIAG_SUBSYS_PROF = 46 +DIAG_SUBSYS_TCXOMGR = 47 +DIAG_SUBSYS_NV = 48 +DIAG_SUBSYS_AUTOCONFIG = 49 +DIAG_SUBSYS_PARAMS = 50 +DIAG_SUBSYS_MDDI = 51 +DIAG_SUBSYS_DS_ATCOP = 52 +DIAG_SUBSYS_L4LINUX = 53 +DIAG_SUBSYS_MVS = 54 +DIAG_SUBSYS_CNV = 55 +DIAG_SUBSYS_APIONE_PROGRAM = 56 +DIAG_SUBSYS_HIT = 57 +DIAG_SUBSYS_DRM = 58 +DIAG_SUBSYS_DM = 59 +DIAG_SUBSYS_FC = 60 +DIAG_SUBSYS_MEMORY = 61 +DIAG_SUBSYS_FS_ALTERNATE = 62 +DIAG_SUBSYS_REGRESSION = 63 +DIAG_SUBSYS_SENSORS = 64 +DIAG_SUBSYS_FLUTE = 65 +DIAG_SUBSYS_ANALOG = 66 +DIAG_SUBSYS_APIONE_PROGRAM_MODEM = 67 +DIAG_SUBSYS_LTE = 68 +DIAG_SUBSYS_BREW = 69 +DIAG_SUBSYS_PWRDB = 70 +DIAG_SUBSYS_CHORD = 71 +DIAG_SUBSYS_SEC = 72 +DIAG_SUBSYS_TIME = 73 +DIAG_SUBSYS_Q6_CORE = 74 +DIAG_SUBSYS_COREBSP = 75 +DIAG_SUBSYS_MFLO2 = 76 +DIAG_SUBSYS_ULOG = 77 +DIAG_SUBSYS_APR = 78 +DIAG_SUBSYS_QNP = 79 +DIAG_SUBSYS_STRIDE = 80 +DIAG_SUBSYS_OEMDPP = 81 +DIAG_SUBSYS_Q5_CORE = 82 +DIAG_SUBSYS_USCRIPT = 83 +DIAG_SUBSYS_NAS = 84 +DIAG_SUBSYS_CMAPI = 85 +DIAG_SUBSYS_SSM = 86 +DIAG_SUBSYS_TDSCDMA = 87 +DIAG_SUBSYS_SSM_TEST = 88 +DIAG_SUBSYS_MPOWER = 89 +DIAG_SUBSYS_QDSS = 90 +DIAG_SUBSYS_CXM = 91 +DIAG_SUBSYS_GNSS_SOC = 92 +DIAG_SUBSYS_TTLITE = 93 +DIAG_SUBSYS_FTM_ANT = 94 +DIAG_SUBSYS_MLOG = 95 +DIAG_SUBSYS_LIMITSMGR = 96 +DIAG_SUBSYS_EFSMONITOR = 97 +DIAG_SUBSYS_DISPLAY_CALIBRATION = 98 +DIAG_SUBSYS_VERSION_REPORT = 99 +DIAG_SUBSYS_DS_IPA = 100 +DIAG_SUBSYS_SYSTEM_OPERATIONS = 101 +DIAG_SUBSYS_CNSS_POWER = 102 +DIAG_SUBSYS_LWIP = 103 +DIAG_SUBSYS_IMS_QVP_RTP = 104 +DIAG_SUBSYS_STORAGE = 105 +DIAG_SUBSYS_WCI2 = 106 +DIAG_SUBSYS_AOSTLM_TEST = 107 +DIAG_SUBSYS_CFCM = 108 +DIAG_SUBSYS_CORE_SERVICES = 109 +DIAG_SUBSYS_CVD = 110 +DIAG_SUBSYS_MCFG = 111 +DIAG_SUBSYS_MODEM_STRESSFW = 112 +DIAG_SUBSYS_DS_DS3G = 113 +DIAG_SUBSYS_TRM = 114 +DIAG_SUBSYS_IMS = 115 +DIAG_SUBSYS_OTA_FIREWALL = 116 +DIAG_SUBSYS_I15P4 = 117 +DIAG_SUBSYS_QDR = 118 +DIAG_SUBSYS_MCS = 119 +DIAG_SUBSYS_MODEMFW = 120 +DIAG_SUBSYS_QNAD = 121 +DIAG_SUBSYS_F_RESERVED = 122 +DIAG_SUBSYS_V2X = 123 +DIAG_SUBSYS_QMESA = 124 +DIAG_SUBSYS_SLEEP = 125 +DIAG_SUBSYS_QUEST = 126 +DIAG_SUBSYS_CDSP_QMESA = 127 +DIAG_SUBSYS_PCIE = 128 +DIAG_SUBSYS_QDSP_STRESS_TEST = 129 +DIAG_SUBSYS_CHARGERPD = 130 +DIAG_SUBSYS_LAST = 131 +DIAG_SUBSYS_RESERVED_OEM_0 = 250 +DIAG_SUBSYS_RESERVED_OEM_1 = 251 +DIAG_SUBSYS_RESERVED_OEM_2 = 252 +DIAG_SUBSYS_RESERVED_OEM_3 = 253 +DIAG_SUBSYS_RESERVED_OEM_4 = 254 +DIAG_SUBSYS_LEGACY = 255 diff --git a/qcsuper.py b/qcsuper.py index ee0c761..40b86ae 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -22,6 +22,7 @@ parser = ArgumentParser(description = 'A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or DM).') parser.add_argument('--cli', action = 'store_true', help = 'Use a command prompt, allowing for interactive completion of commands.') +parser.add_argument('--efs-shell', action = 'store_true', help = 'Spawn an interactive shell to navigate within the embedded filesystem (EFS) of the baseband device.') parser.add_argument('-v', '--verbose', action = 'store_true', help = 'Add output for each received or sent Diag packet.') input_mode = parser.add_argument_group(title = 'Input mode', description = 'Choose an one least input mode for DIAG data.') @@ -102,11 +103,20 @@ def parse_modules_args(args): if args.cli: - if diag_input.modules: + if diag_input.modules or args.efs_shell: exit('Error: you can not both specify the use of CLI and a module') diag_input.add_module(CommandLineInterface(diag_input, parser, parse_modules_args)) +if args.efs_shell: + + if diag_input.modules: + exit('Error: you can not both specify the use of EFS shell and a module') + + from modules.efs_shell import EfsShell + diag_input.add_module(EfsShell(diag_input)) + + if not diag_input.modules: From 6fa65fbc6e547bad052a62b79fd07597cbf2ce3d Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 3 Jun 2021 19:31:31 +0200 Subject: [PATCH 19/86] feature/efs-shell-client: Correctly handle empty commands in the interactive EFS shell --- modules/efs_shell.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/efs_shell.py b/modules/efs_shell.py index e75fce4..ffeae0c 100644 --- a/modules/efs_shell.py +++ b/modules/efs_shell.py @@ -89,9 +89,9 @@ def on_init(self): else: - sub_command_name : str = user_args[0] - - if sub_command_name in self.sub_parsers._name_parser_map: + if user_args and user_args[0] in self.sub_parsers._name_parser_map: + + sub_command_name : str = user_args[0] sub_parser_args : List[str] = user_args[1:] From df9b01c4a4b18c4ce6b4b802d045fe5b90350c1b Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 29 Jul 2021 11:08:19 +0200 Subject: [PATCH 20/86] Deprecate the Freenode IRC channel --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4637780..706e4c5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ After having [installed](#installation) it, you can plug your rooted phone in US It uses the Qualcomm Diag protocol, also called QCDM or DM (Diagnostic Monitor) in order to communicate with your phone's baseband. -**You want support, to report that you device works or does not work or you'd like to join development doing research on the Diag protocol? You can [come talk on IRC (`#qcsuper` at Freenode)](http://webchat.freenode.net/?channels=#qcsuper) or open a [Github issue](https://github.com/P1sec/QCSuper/issues/new).** +**You want support, or to report that you device works or does not work? You can open a [Github issue](https://github.com/P1sec/QCSuper/issues/new).** ## Table of contents @@ -233,7 +233,7 @@ QCSuper was successfully tested with: Is it however aiming to be compatible with the widest possible range of devices based on a Qualcomm chipset, for the capture part. -Do no hesitate to report whether your device is successfully working or not through the [IRC channel](http://webchat.freenode.net/?channels=#qcsuper), or opening a [Github issue](https://github.com/P1sec/QCSuper/issues/new). +Do no hesitate to report whether your device is successfully working or not through opening a [Github issue](https://github.com/P1sec/QCSuper/issues/new). ## Related tools using the Diag protocol From 586f3c0e63e02d8fae447952017eaed773dc7d4d Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 12 Nov 2021 15:27:31 +0100 Subject: [PATCH 21/86] Fix parsing the response to the DIAG_EXT_BUILD_ID_F message (issue #35) --- modules/info.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/info.py b/modules/info.py index a0467f0..182ce04 100644 --- a/modules/info.py +++ b/modules/info.py @@ -85,7 +85,7 @@ def on_init(self): (msm_hw_version_format, msm_hw_version, mobile_model_id), ver_strings = unpack('> 28, (msm_hw_version >> 12) & 0xffff From b26fca7b12f44e20cd11a53de136b64c0fcf5964 Mon Sep 17 00:00:00 2001 From: p1-ra <18233250+p1-ra@users.noreply.github.com> Date: Sat, 18 Dec 2021 11:39:02 +0100 Subject: [PATCH 22/86] inputs: implement the disposable interface/protocol --- inputs/_base_input.py | 10 ++++++++-- inputs/adb.py | 21 +++++++++------------ qcsuper.py | 5 ++++- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/inputs/_base_input.py b/inputs/_base_input.py index d38ffb9..d266d02 100644 --- a/inputs/_base_input.py +++ b/inputs/_base_input.py @@ -463,9 +463,15 @@ def _deinit_modules(self): self.remove_module(module) + + def dispose(self, disposing=True): + """ + Release unmanaged ressources + """ + pass + def __del__(self): - - pass + self.dispose(disposing=False) import protocol.messages diff --git a/inputs/adb.py b/inputs/adb.py index b83e38c..b69eda1 100644 --- a/inputs/adb.py +++ b/inputs/adb.py @@ -56,6 +56,8 @@ class AdbConnector(HdlcMixin, BaseInput): def __init__(self): + self._disposed = False + self.su_command = '%s' # Whether we can use "adb exec-out" instead @@ -249,18 +251,6 @@ def adb_shell(self, command): return adb.stdout.decode('utf8').strip() - def __del__(self): - - try: - - if hasattr(self, 'adb_proc'): - - self.adb_proc.terminate() - - except Exception: - - pass - def send_request(self, packet_type, packet_payload): raw_payload = self.hdlc_encapsulate(bytes([packet_type]) + packet_payload) @@ -351,3 +341,10 @@ def read_loop(self): self.dispatch_received_diag_packet(unframed_message) + def dispose(self, disposing=True): + + if not self._disposed: + if hasattr(self, 'adb_proc'): + self.adb_proc.terminate() + + self._disposed = True diff --git a/qcsuper.py b/qcsuper.py index 40b86ae..a7cace0 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -126,5 +126,8 @@ def parse_modules_args(args): # Enter the main loop. -diag_input.run() +try: + diag_input.run() +finally: + diag_input.dispose() From ffc5f0e14210c18f67c1750254a58957853ee837 Mon Sep 17 00:00:00 2001 From: p1-ra <18233250+p1-ra@users.noreply.github.com> Date: Sat, 18 Dec 2021 11:59:42 +0100 Subject: [PATCH 23/86] inputs / adb: parametrize `adb_exe` and `adb_host` --- inputs/adb.py | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/inputs/adb.py b/inputs/adb.py index b69eda1..f84ffb7 100644 --- a/inputs/adb.py +++ b/inputs/adb.py @@ -44,20 +44,23 @@ def run_safe(args, **kwargs): QCSUPER_TCP_PORT = 43555 -if platform in ('cygwin', 'win32'): - adb_exe = ADB_BIN_DIR + '/adb_windows.exe' -elif platform == 'darwin': - adb_exe = which('adb') or ADB_BIN_DIR + '/adb_macos' -else: - adb_exe = which('adb') or ADB_BIN_DIR + '/adb_linux' - - class AdbConnector(HdlcMixin, BaseInput): - def __init__(self): - + def __init__(self, adb_exe = None, adb_host = 'localhost'): self._disposed = False + if not adb_exe: + if platform in ('cygwin', 'win32'): + self.adb_exe = ADB_BIN_DIR + '/adb_windows.exe' + elif platform == 'darwin': + self.adb_exe = which('adb') or ADB_BIN_DIR + '/adb_macos' + else: + self.adb_exe = which('adb') or ADB_BIN_DIR + '/adb_linux' + else: + self.adb_exe = adb_exe + + self.adb_host = adb_host + self.su_command = '%s' # Whether we can use "adb exec-out" instead @@ -111,13 +114,13 @@ def __init__(self): # "adb shell su" didn't work, try "adb root" - adb = run_safe([adb_exe, 'root'], stdout = PIPE, stderr = STDOUT, stdin = DEVNULL) + adb = run_safe([self.adb_exe, 'root'], stdout = PIPE, stderr = STDOUT, stdin = DEVNULL) if b'cannot run as root' in adb.stdout: exit('Could not get root to adb, is your phone rooted?') - run_safe([adb_exe, 'wait-for-device'], stdin = DEVNULL, check = True) + run_safe([self.adb_exe, 'wait-for-device'], stdin = DEVNULL, check = True) # Once root has been obtained, send batch commands to check # for the presence of /dev/diag through adb @@ -134,7 +137,7 @@ def __init__(self): # Upload the adb_bridge - adb = run_safe([adb_exe, 'push', ADB_BRIDGE_DIR + '/adb_bridge', ANDROID_TMP_DIR], + adb = run_safe([self.adb_exe, 'push', ADB_BRIDGE_DIR + '/adb_bridge', ANDROID_TMP_DIR], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT ) @@ -161,9 +164,9 @@ def _relaunch_adb_bridge(self): 'chmod 755 ' + ANDROID_TMP_DIR + '/adb_bridge' ) - run_safe([adb_exe, 'forward', 'tcp:' + str(QCSUPER_TCP_PORT), 'tcp:' + str(QCSUPER_TCP_PORT)], check = True, stdin = DEVNULL) + run_safe([self.adb_exe, 'forward', 'tcp:' + str(QCSUPER_TCP_PORT), 'tcp:' + str(QCSUPER_TCP_PORT)], check = True, stdin = DEVNULL) - self.adb_proc = Popen([adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % (ANDROID_TMP_DIR + '/adb_bridge')], + self.adb_proc = Popen([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % (ANDROID_TMP_DIR + '/adb_bridge')], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, preexec_fn = setpgrp, @@ -182,10 +185,10 @@ def _relaunch_adb_bridge(self): stderr.flush() self.socket = socket(AF_INET, SOCK_STREAM) - + try: - self.socket.connect(('localhost', QCSUPER_TCP_PORT)) + self.socket.connect((self.adb_host, QCSUPER_TCP_PORT)) except Exception: @@ -212,7 +215,7 @@ def adb_shell(self, command): if self.can_use_exec_out is None: - adb = run_safe([adb_exe, 'exec-out', 'id'], + adb = run_safe([self.adb_exe, 'exec-out', 'id'], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, timeout = self.ADB_TIMEOUT ) @@ -221,7 +224,7 @@ def adb_shell(self, command): # Can we execute commands? - adb = run_safe([adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % command], + adb = run_safe([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % command], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, timeout = self.ADB_TIMEOUT ) @@ -262,7 +265,7 @@ def get_gps_location(self): lat = None lng = None - gps_info = run_safe([adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', 'dumpsys', 'location'], stdout = PIPE) + gps_info = run_safe([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', 'dumpsys', 'location'], stdout = PIPE) gps_info = gps_info.stdout.decode('utf8') gps_info = search('(\d+\.\d+),(\d+\.\d+)', gps_info) @@ -340,7 +343,6 @@ def read_loop(self): self.dispatch_received_diag_packet(unframed_message) - def dispose(self, disposing=True): if not self._disposed: From c4b2a8a678d5221d7392408d1717e7060f632fd8 Mon Sep 17 00:00:00 2001 From: p1-ra <18233250+p1-ra@users.noreply.github.com> Date: Sat, 18 Dec 2021 18:45:39 +0100 Subject: [PATCH 24/86] inputs: add support for WSL2 ADB connector --- README.md | 2 + inputs/adb_wsl2.py | 127 +++++++++++++++++++++ inputs/adb_wsl2_bridge/README.md | 71 ++++++++++++ inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 | 56 +++++++++ qcsuper.py | 18 ++- 5 files changed, 268 insertions(+), 6 deletions(-) create mode 100644 inputs/adb_wsl2.py create mode 100644 inputs/adb_wsl2_bridge/README.md create mode 100644 inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 diff --git a/README.md b/README.md index 706e4c5..29e3ed5 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,8 @@ Input mode: --adb Use a rooted Android phone with USB debugging enabled as input (requires adb). + --adb-wsl2 ADB_WSL2 Unix path to the Windows adb executable. Equivalent of + --adb command but with WSL2/Windows interoperability. --usb-modem TTY_DEV Use an USB modem exposing a DIAG pseudo-serial port through USB. --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling diff --git a/inputs/adb_wsl2.py b/inputs/adb_wsl2.py new file mode 100644 index 0000000..cf166de --- /dev/null +++ b/inputs/adb_wsl2.py @@ -0,0 +1,127 @@ +import os, socket, struct +from pathlib import Path +from subprocess import Popen +from typing import Any + +from inputs.adb import AdbConnector + +class AdbWsl2Connector: + """ + AdbWsl2Connector implement the BaseInput Interface/Protocol at runtime by proxyfying calls to an AdbConnector instance. + """ + + def __init__(self, adb_exe: str) -> None: + self._disposed = False + self._wsl_distro_name = os.environ.get('WSL_DISTRO_NAME', '') + if not self._wsl_distro_name: + exit('WSL_DISTRO_NAME does not exists, are you using WSL2?') + + bridge_ctrl_path = (Path(__file__).parent / 'adb_wsl2_bridge' / 'adb_wsl2_bridge.ps1').resolve() + self._win_bridge_ctr_path = f'\\\\wsl$' + for idx, part in enumerate(bridge_ctrl_path.parts): + if idx == 0: + self._win_bridge_ctr_path += f'\\{self._wsl_distro_name}' + continue + self._win_bridge_ctr_path += f'\\{part}' + + res = self._up() + if res != 0: + exit(f'Could not successfully setup adb wsl2 bridge: {res}') + self._connector = AdbConnector(adb_exe=adb_exe, adb_host=self._default_gw()) + + def _default_gw(self) -> str: + """ + Return WSL2 default network gateway as string repr + """ + with open('/proc/net/route') as fd: + for line in fd: + fields = line.strip().split() + if len(fields) < 4 or fields[1] != '00000000' or not int(fields[3], 16) & 2: + continue + raw_default_gw = int(fields[2], 16) + return socket.inet_ntoa(struct.pack(' int: + """ + Call powershell script via WSL2/Windows interropability to setup the networking + for QCSuper ADB bridge communication: + - Open QCSuper port access in Windows Firewall + - Add QCSuper required Windows portproxy rule + """ + p = Popen([ + 'powershell.exe', + '-WindowStyle', + 'Hidden', + '-c', + f'Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; Start-Process powershell -WindowStyle Hidden -Wait -PassThru -ArgumentList "-F `"{self._win_bridge_ctr_path}`" `"{self._wsl_distro_name}`" up" | Out-Null' + ]) + res = p.wait() + return res + + def _down(self) -> int: + """ + Call powershell script via WSL2/Windows interropability to tear down the networking + for QCSuper ADB bridge communication + - Close QCSuper port access in Windows Firewal + - Remove QCSuper Windows portproxy rule + """ + p = Popen([ + 'powershell.exe', + '-WindowStyle', + 'Hidden', + '-c', + f'Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; Start-Process powershell -WindowStyle Hidden -Wait -PassThru -ArgumentList "-F `"{self._win_bridge_ctr_path}`" `"{self._wsl_distro_name}`" down" | Out-Null' + ]) + res = p.wait() + return res + + def dispose(self, disposing: bool = True) -> None: + if self._disposed: + return + + try: + if self._connector: + self._connector.dispose() + + res = self._down() + if res != 0: + print(f'Could not successfully teardown adb wsl2 bridge: {res}') + else: + self._disposed = True + except Exception as e: + print(f'Could not successfully teardown adb wsl2 bridge << {e}') + + def __setattr__(self, name: str, value: Any) -> None: + """ + Proxify setter to unerlaying ADB connector if needed + """ + if name not in [ + '_wsl_distro_name', + '_win_bridge_ctr_path', + '_connector', + '_disposed' + ]: + self._connector.__setattr__(name, value) + else: + super().__setattr__(name, value) + + def __getattribute__(self, name: str) -> Any: + """ + Proxify getter to unerlaying ADB connector if needed + """ + if name not in [ + '_wsl_distro_name', + '_win_bridge_ctr_path', + '_disposed', + '_connector', + 'dispose', + '_up', + '_down', + '_default_gw' + ]: + return self._connector.__getattribute__(name) + else: + return super().__getattribute__(name) + \ No newline at end of file diff --git a/inputs/adb_wsl2_bridge/README.md b/inputs/adb_wsl2_bridge/README.md new file mode 100644 index 0000000..86b9fe3 --- /dev/null +++ b/inputs/adb_wsl2_bridge/README.md @@ -0,0 +1,71 @@ +# ADB WSL2 Bridge +This directory contains a PowerShell script to setup/teardown the required networking configuration to access `QCSuper` ADB bridge from a WSL2 instance. + +It is use by QCSuper `--wsl2-adb` connector that leverage WSL2/Windows interoperability. + +``` + ┌─────────────────────────────────┐ + │ │ + │ Windows │ +┌─────────────┐ ├───────────────┐ running ADB │ +│ │ │ │ │ +│ ├───────►vEthernet(WSL) │ │ +│ WSL2 │ │ │ │ +│ │ ├───────┬───────┘ │ +│ │ │ │ │ +└─────────────┘ │ │ │ + │ ┌────▼──────┐ │ + │ │ Localhost │ │ + └──┴────┬──────┴──────────────────┘ + │ + ┌───▼────────────────┐ + │ │ + │ QCSuper ADB Bridge │ + ├────────────────────┤ + │ │ + │ UE │ + │ │ + └────────────────────┘ +``` + +## Usage +``` +> .\adb_wsl2_bridge.ps1 +Usage: \adb_wsl2_bridge.ps1 wsl2-distro-name [up|down] +``` + +### Up +- Open QCSuper port in Windows Firewall +- Forward traffic send to WSL2 gateway (vEthernet-WSL) to Windows locathost when the target port is QCSuper ADB bridge + +### Down +- Close QCSuper port in Windows Firewall +- Remove traffic forwarding rules created for QCSuper + + +## QCSuper usage sample +``` +$ ./qcsuper.py --adb-wsl2=/mnt/d/Android/SDK/platform-tools/adb.exe --info +logging switched + +[+] Compilation date: Sep 6 2019 14:32:56 +[+] Release date: Feb 27 2019 03:00:00 +[+] Version directory: sdm660.g + +[+] Common air interface information: +[+] Station classmark: 58 +[+] Common air interface revision: 9 +[+] Mobile model: 255 +[+] Mobile firmware revision: 100 +[+] Slot cycle index: 48 +[+] Hardware revision: 0x08c (0.140) + +[+] Mobile model ID: 0xXXX +[+] Chip version: 0 +[+] Firmware build ID: MPSSXXXXXX + +[+] Diag version: 8 + +[+] Serial number: XXXXXXXXXX +``` + diff --git a/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 b/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 new file mode 100644 index 0000000..d5239ce --- /dev/null +++ b/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 @@ -0,0 +1,56 @@ +# WSL2 network configuration for QCSuper ADB bridge access from WSL2 +# - Open/Close port in windows Firewall +# - Open/Close port TCP forwarding from WSL2 GW to Windows localhost + +If ($Args.Count -lt 2 -or (-Not $Args[1] -eq "up" -and -Not $Args[1] -eq "down")) { + $CmdPath = $MyInvocation.MyCommand.Path + echo "Usage: $CmdPath wsl2-distro-name [up|down]" ; + exit 1; +} + +$QCSuperPort = (43555); +$WSLDistribName = $Args[0]; +$Action = $Args[1]; +$WSLGateway = ''; + +# Escalate priviledges if needed +If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) +{ + $WSLGatewayJSON = wsl -d "$WSLDistribName" ip --json r get 1.1.1.1; + $WSLGateway = ($WSLGatewayJSON | ConvertFrom-Json).gateway; + $TempFile = (New-TemporaryFile).FullName + '.ps1'; + + Copy-Item -Path $MyInvocation.MyCommand.Path -Destination $TempFile; + Start-Process powershell -Wait -WindowStyle Hidden -PassThru -Verb runas -ArgumentList "-c Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force ; Start-Process powershell -Wait -PassThru -ArgumentList \`"$TempFile $WSLDistribName $Action $WSLGateway\`";"; + Remove-Item $Tempfile; + + exit; +} + +If ($Args.Count -eq 3) { # After escalating privileges, if we impersonating an other user, we won't have access to wsl anymorel WSL gw is passing through arguments. + $WSLGateway = $Args[2]; +} +else { # CurrentUser already have Administrator priviledges + echo "[Warning] Your current local Windows user is an Administrator, considere using a Standard user for daily drive!"; + $WSLGatewayJSON = wsl -d "$WSLDistribName" ip --json r get 1.1.1.1; + $WSLGateway = ($WSLGatewayJSON | ConvertFrom-Json).gateway; +} + +if ($Action -eq "up") { + echo "[+] Creating QCSuper Windows Firewall rules"; + New-NetFireWallRule -DisplayName 'WSL 2 Firewall QCSuper Forwarding' -Direction Outbound -LocalPort $QCSuperPort -Action Allow -Protocol TCP; + New-NetFireWallRule -DisplayName 'WSL 2 Firewall QCSuper Forwarding' -Direction Inbound -LocalPort $QCSuperPort -Action Allow -Protocol TCP; + + echo "[+] Creating WSL2 port forwarding (fron $WSLGateway : $QCSuperPort to localhost : $QCSuperPort)"; + iex "netsh interface portproxy add v4tov4 listenaddress=$WSLGateway listenport=$QCSuperPort connectaddress=127.0.0.1 connectport=$QCSuperPort | Out-Null"; +} + +if ($Action -eq "down") { + echo "[+] Deleting QCSuper Windows Firewall rules"; + while (Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall QCSuper Forwarding') {}; + + echo "[+] Deleting WSL2 port forwarding"; + iex "netsh interface portproxy delete v4tov4 listenaddress=$WSLGateway listenport=$QCSuperPort | Out-Null"; +} + +sleep 1; \ No newline at end of file diff --git a/qcsuper.py b/qcsuper.py index a7cace0..0ebfcb3 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -1,23 +1,23 @@ #!/usr/bin/python3 -#-*- encoding: Utf-8 -*- -from logging import debug, info, DEBUG, INFO, basicConfig + +from logging import DEBUG, INFO, basicConfig from argparse import ArgumentParser -from signal import signal, SIGINT from os.path import expanduser -from sys import stdout, stdin -from threading import Thread +from sys import stdout +from pathlib import Path from modules.json_geo_dump import JsonGeoDumper from modules.memory_dump import MemoryDumper from modules.cli import CommandLineInterface from modules.dlf_dump import DlfDumper from modules.info import InfoRetriever -from modules._utils import FileType, FileOrHexStringType +from modules._utils import FileType from inputs.json_geo_read import JsonGeoReader from inputs.usb_modem import UsbModemConnector from inputs.dlf_read import DlfReader from inputs.adb import AdbConnector +from inputs.adb_wsl2 import AdbWsl2Connector parser = ArgumentParser(description = 'A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or DM).') @@ -30,6 +30,7 @@ input_mode = input_mode.add_mutually_exclusive_group(required = True) input_mode.add_argument('--adb', action = 'store_true', help = 'Use a rooted Android phone with USB debugging enabled as input (requires adb).') +input_mode.add_argument('--adb-wsl2', action = 'store', default=None, help = 'Unix path to the Windows adb executable. Equivalent of --adb command but with WSL2/Windows interoperability.') input_mode.add_argument('--usb-modem', metavar = 'TTY_DEV', help = 'Use an USB modem exposing a DIAG pseudo-serial port through USB.') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') @@ -63,6 +64,11 @@ if args.dlf_read: diag_input = DlfReader(args.dlf_read) +elif args.adb_wsl2: + win_adb_path = Path(args.adb_wsl2).resolve() + if not win_adb_path.is_file(): + exit("--adb-wsl2 is not a valid path to Windows adb executable") + diag_input = AdbWsl2Connector(f'{win_adb_path}') elif args.adb: diag_input = AdbConnector() elif args.usb_modem: From 5c4e5295bf336bcce63c8ad7112ac04dee4b04fd Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 11 Aug 2022 15:26:20 +0200 Subject: [PATCH 25/86] Add support for dissecting basic 5G logs through a Lua plug-in decoding special packets sent over port 47928 (issue #51) --- README.md | 2 + modules/pcap_dump.py | 62 ++++++++++++- .../diag_nr_rrc_dissector.lua | 90 +++++++++++++++++++ protocol/gsmtap.py | 34 ++++++- 4 files changed, 183 insertions(+), 5 deletions(-) create mode 100644 modules/wireshark_plugin/diag_nr_rrc_dissector.lua diff --git a/README.md b/README.md index 29e3ed5..8b7a0ba 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ To use it, your phone must be rooted or expose a diag service port over USB. In In order to open PCAP files produced by QCSuper, you can use any Wireshark 2.x for 2G/3G frames, but you need at least Wireshark 2.5.x for 4G frames (and 2.6.x for individual NAS messages decrypted out of 4G frames). Ubuntu currently provides a recent enough build for all versions. +Decoding 5G frames was tested under Wireshark 3.6.x and will be done through automatically installing a Wireshark Lua plug-in (in `%APPDATA%\Wireshark\plugins` under Windows or in `~/.local/lib/wireshark/plugins` under Linux and macOS), which can be avoided through setting the `DONT_INSTALL_WIRESHARK_PLUGIN=1` environment variable if you are willing to avoid this. + ### Ubuntu and Debian installation Open a terminal and type the following: diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 0b80df6..41ec86f 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -4,10 +4,17 @@ from modules.decoded_sibs_dump import DecodedSibsDumper from struct import pack, unpack, unpack_from, calcsize from subprocess import Popen, PIPE, DEVNULL, STDOUT +from os.path import expandvars, dirname, realpath +from os import makedirs, getenv, listdir +from shutil import copy2, which from logging import warning -from shutil import which +from sys import platform import gzip +MODULES_DIR = realpath(dirname(__file__)) +SRC_WIRESHARK_PLUGIN_DIR = realpath(MODULES_DIR + '/wireshark_plugin') + + try: from os import setpgrp, getenv, setresgid, setresuid, setgroups, getgrouplist from pwd import getpwuid @@ -21,7 +28,10 @@ """ This module registers various diag LOG events, and tries to generate a - PCAP of GSMTAP 2G, 3G or 4G frames from it. + PCAP of GSMTAP 2G, 3G, 4G or 5G frames from it. + + 5G frames shall be decoded from a .PCAP or .DLF file only if + the QCSuper Wireshark plugin is installed or loaded. """ class PcapDumper(DecodedSibsDumper): @@ -48,11 +58,49 @@ def __init__(self, diag_input, pcap_file, reassemble_sibs, decrypt_nas, include_ self.limit_registered_logs = TYPES_FOR_RAW_PACKET_LOGGING - self.current_rat = None # Radio access technology: "2g", "3g", "4g" + self.current_rat = None # Radio access technology: "2g", "3g", "4g", "5g" self.reassemble_sibs = reassemble_sibs self.decrypt_nas = decrypt_nas self.include_ip_traffic = include_ip_traffic + + # Install the QCSuper Lua Wireshark plug-in, except if the + # corresponding environment variable is set. + + self.install_wireshark_plugin() + + def install_wireshark_plugin(self): # WIP + + # See: https://www.wireshark.org/docs/wsug_html_chunked/ChPluginFolders.html + # See: https://docs.python.org/3/library/os.path.html#os.path.expandvars + # See: https://docs.python.org/3/library/sys.html#sys.platform + + if getenv('DONT_INSTALL_WIRESHARK_PLUGIN'): + + return + + if platform in ('win32', 'cygwin'): + + DST_WIRESHARK_PLUGIN_DIR = expandvars('%APPDATA%\Wireshark\plugins') + + else: + + DST_WIRESHARK_PLUGIN_DIR = expandvars('$HOME/.local/lib/wireshark/plugins') + + if '%' in DST_WIRESHARK_PLUGIN_DIR or '$' in DST_WIRESHARK_PLUGIN_DIR: + return # Variable expansion did not work + + try: + makedirs(DST_WIRESHARK_PLUGIN_DIR, exist_ok = True) + + for file_name in listdir(SRC_WIRESHARK_PLUGIN_DIR): + + copy2(SRC_WIRESHARK_PLUGIN_DIR + '/' + file_name, + DST_WIRESHARK_PLUGIN_DIR + '/' + file_name) + + except OSError: + return # Could not create or write to the Wireshark plug-in directory, non-fatal + """ Process a single log packet containing raw signalling or data traffic, @@ -343,6 +391,14 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): packet = build_gsmtap_ip(GSMTAP_TYPE_ABIS, GSMTAP_CHANNEL_SDCCH, signalling_message, is_uplink) + elif log_type == LOG_NR_RRC_OTA_MSG_LOG_C: # LOG_NR_RRC_OTA_MSG_LOG_C = 0xb821 + + # WIP + + self.current_rat = '5g' + + packet = build_nr_rrc_log_ip(log_payload) + if packet: try: diff --git a/modules/wireshark_plugin/diag_nr_rrc_dissector.lua b/modules/wireshark_plugin/diag_nr_rrc_dissector.lua new file mode 100644 index 0000000..a29d395 --- /dev/null +++ b/modules/wireshark_plugin/diag_nr_rrc_dissector.lua @@ -0,0 +1,90 @@ + + +-- UDP port used for decoding from a QCSuper-issued PCAP +-- capture +local CONSTANT_UDP_PORT = 47928 + +local diag_nr_rrc_protocol = Proto('qcdiag.log.nr_rrc', 'Qualcomm Diag NR RRC log') + +local diag_nr_rrc_fields = { + ['packet_version'] = ProtoField.uint8('qcdiag.log.nr_rrc.packet_version', 'Packet version', base.DEC), + ['unknown1'] = ProtoField.uint24('qcdiag.log.nr_rrc.unknown1', 'Unknown 1', base.DEC), + ['rrc_release_number'] = ProtoField.uint8('qcdiag.log.nr_rrc.rrc_release_number', 'RRC Release number', base.DEC), + ['rrc_version_number'] = ProtoField.uint8('qcdiag.log.nr_rrc.rrc_version_number', 'RRC Version number', base.DEC), + ['radio_bearer_id'] = ProtoField.uint8('qcdiag.log.nr_rrc.radio_bearer_id', 'Radio bearer ID', base.DEC), + ['physical_cell_id'] = ProtoField.uint16('qcdiag.log.nr_rrc.physical_cell_id', 'Physical cell ID', base.DEC), + ['frequency'] = ProtoField.uint32('qcdiag.log.nr_rrc.frequency', 'Frequency', base.HEX), + ['sysframenum_subframenum'] = ProtoField.uint32('qcdiag.log.nr_rrc.sysframenum_subframenum', 'SysFrameNum/SubFrameNum', base.HEX), + ['pdu_number'] = ProtoField.uint8('qcdiag.log.nr_rrc.pdu_number', 'PDU Number', base.DEC), + ['sib_mask_in_si'] = ProtoField.uint8('qcdiag.log.nr_rrc.sib_mask_in_si', 'SIB Mask in SI', base.DEC), + ['unknown2'] = ProtoField.uint24('qcdiag.log.nr_rrc.unknown2', 'Unknown 2', base.DEC), + ['msg_length'] = ProtoField.uint8('qcdiag.log.nr_rrc.msg_length', 'Message length', base.DEC) +} +diag_nr_rrc_protocol.fields = diag_nr_rrc_fields + + +function diag_nr_rrc_protocol.dissector(buffer, packet, tree) + + local subtree = tree:add(diag_nr_rrc_protocol, buffer(0, 24)) + + subtree:add_le(diag_nr_rrc_fields.packet_version, buffer(0, 1)) + subtree:add_le(diag_nr_rrc_fields.unknown1, buffer(1, 3)) + subtree:add_le(diag_nr_rrc_fields.rrc_release_number, buffer(4, 1)) + subtree:add_le(diag_nr_rrc_fields.rrc_version_number, buffer(5, 1)) + subtree:add_le(diag_nr_rrc_fields.radio_bearer_id, buffer(6, 1)) + subtree:add_le(diag_nr_rrc_fields.physical_cell_id, buffer(7, 2)) + subtree:add_le(diag_nr_rrc_fields.frequency, buffer(9, 4)) + subtree:add_le(diag_nr_rrc_fields.sysframenum_subframenum, buffer(13, 4)) + local pdu_number_subtree = subtree:add_le(diag_nr_rrc_fields.pdu_number, buffer(17, 1)) + subtree:add_le(diag_nr_rrc_fields.sib_mask_in_si, buffer(18, 1)) + subtree:add_le(diag_nr_rrc_fields.unknown2, buffer(19, 3)) + subtree:add_le(diag_nr_rrc_fields.msg_length, buffer(22, 2)) + + local raw_pdu_type = buffer(17, 1):le_uint() + local raw_msg_length = buffer(22, 2):le_uint() + + local NR_RRC_LOG_TYPES = { + [0x01] = 'BCCH/BCH', + [0x02] = 'BCCH/DL-SCH', + [0x03] = 'DL-CCCH', + [0x04] = 'DL-DCCH', + [0x05] = 'PCCH', + [0x06] = 'UL-CCCH', + [0x08] = 'UL-DCCH - a', + [0x09] = 'RRC Reconfiguration', + [0x0a] = 'UL-DCCH - b', + [0x18] = 'Radio Bearer Configuration - a', + [0x19] = 'Radio Bearer Configuration - b', + [0x1a] = 'Radio Bearer Configuration - c', + } + + local NR_RRC_LOG_DISSECTORS = { + [0x01] = 'nr-rrc.bcch.bch', + [0x02] = 'nr-rrc.bcch.dl.sch', + [0x03] = 'nr-rrc.dl.ccch', + [0x04] = 'nr-rrc.dl.dcch', + [0x05] = 'nr-rrc.pcch', + [0x06] = 'nr-rrc.ul.ccch', + [0x08] = 'nr-rrc.ul.dcch', + [0x09] = 'nr-rrc.rrc_reconf_msg', + [0x0a] = 'nr-rrc.ul.dcch', + [0x18] = 'nr-rrc.radiobearerconfig', + [0x19] = 'nr-rrc.radiobearerconfig', + [0x1a] = 'nr-rrc.radiobearerconfig', + } + + if NR_RRC_LOG_TYPES[raw_pdu_type] then + pdu_number_subtree:append_text((' (%s)'):format(NR_RRC_LOG_TYPES[raw_pdu_type])) + end + + if NR_RRC_LOG_TYPES[raw_pdu_type] and raw_msg_length > 1 then + Dissector.get(NR_RRC_LOG_DISSECTORS[raw_pdu_type]):call(buffer(24):tvb(), packet, tree) + else + Dissector.get('data'):call(buffer(24):tvb(), packet, tree) + end +end + + +local udp_port = DissectorTable.get("udp.port") +udp_port:add(CONSTANT_UDP_PORT, diag_nr_rrc_protocol) + diff --git a/protocol/gsmtap.py b/protocol/gsmtap.py index 008190d..9cd783f 100644 --- a/protocol/gsmtap.py +++ b/protocol/gsmtap.py @@ -6,6 +6,9 @@ # - https://github.com/wireshark/wireshark/blob/wireshark-2.5.0/epan/dissectors/packet-gsmtap.c#L82 # - http://osmocom.org/projects/baseband/wiki/GSMTAP +GSMTAP_PORT = 4729 +NR_RRC_UDP_PORT = 47928 + def build_gsmtap_ip(gsmtap_protocol, gsmtap_channel_type, payload, is_uplink): packet = pack('>BBBxHxx4xBxxx', @@ -19,8 +22,8 @@ def build_gsmtap_ip(gsmtap_protocol, gsmtap_channel_type, payload, is_uplink): # UDP: packet = pack('>HHHH', - 4729, # From GSMTAP UDP port - 4729, # To GSMTAP UDP port + GSMTAP_PORT, # From GSMTAP UDP port + GSMTAP_PORT, # To GSMTAP UDP port len(packet) + 8, # Total length 0 # Ignore checksum ) + packet @@ -40,6 +43,33 @@ def build_gsmtap_ip(gsmtap_protocol, gsmtap_channel_type, payload, is_uplink): 0,0,0,0, # To 0.0.0.0 ) + packet +def build_nr_rrc_log_ip(log_payload : bytes): + + # UDP: + + packet = pack('>HHHH', + NR_RRC_UDP_PORT, # From custom QCSuper plug-in UDP port + NR_RRC_UDP_PORT, # To custom QCSuper plug-in UDP port + len(log_payload) + 8, # Total length + 0 # Ignore checksum + ) + log_payload + + # IP: + + return pack('>BBHHHBBH8B', + (4 << 4) | 5, # IPv4 version and header words + 0, # DSCP + len(packet) + 20, # Total length + 0, # Identification + 0, # Fragment offset + 64, # Time to live + 17, # Protocol: UDP + 0, # Ignore checksum + 0,0,0,0, # From 0.0.0.0 + 0,0,0,0, # To 0.0.0.0 + ) + packet + + GSMTAP_TYPE_UM = 0x01 GSMTAP_TYPE_ABIS = 0x02 From 07bc7380080fd4abded9b50c9749d1534fdbc776 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 19 Oct 2022 10:31:03 +0200 Subject: [PATCH 26/86] Fix a Python exception when using "--pcap-dump -" in order to output data to the standard output. --- modules/_utils.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/_utils.py b/modules/_utils.py index b0f0345..8a3c948 100644 --- a/modules/_utils.py +++ b/modules/_utils.py @@ -54,6 +54,9 @@ def __call__(self, path): else: file_obj = fdopen(dup(stdout.fileno()), 'wb' if 'b' in self.mode else 'w') dup2(stderr.fileno(), stdout.fileno()) + + file_obj.appending_to_file = False + return file_obj elif path[-3:] != '.gz': From 4cdb49a8ef0224bb2adbc982883eb6d38fc64eb0 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 19 Oct 2022 11:26:29 +0200 Subject: [PATCH 27/86] Add a small change to avoid have issues in the "detach_process" method of the "pcap_dump.py" module make the application dysfunctional --- modules/pcap_dump.py | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 41ec86f..4c74633 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -6,6 +6,7 @@ from subprocess import Popen, PIPE, DEVNULL, STDOUT from os.path import expandvars, dirname, realpath from os import makedirs, getenv, listdir +from traceback import print_exc from shutil import copy2, which from logging import warning from sys import platform @@ -544,21 +545,27 @@ def __init__(self, diag_input, reassemble_sibs, decrypt_nas, include_ip_traffic) def detach_process(self): - # Don't be hit by CTRL+C - - setpgrp() - - # Drop privileges if needed - - uid, gid = getenv('SUDO_UID'), getenv('SUDO_GID') - - if uid and gid: + try: + + # Don't be hit by CTRL+C - uid, gid = int(uid), int(gid) + setpgrp() + + # Drop privileges if needed + + uid, gid = getenv('SUDO_UID'), getenv('SUDO_GID') + + if uid and gid: + + uid, gid = int(uid), int(gid) - setgroups(getgrouplist(getpwuid(uid).pw_name, gid)) + setgroups(getgrouplist(getpwuid(uid).pw_name, gid)) - setresgid(gid, gid, -1) + setresgid(gid, gid, -1) + + setresuid(uid, uid, -1) + + except Exception: - setresuid(uid, uid, -1) + print_exc() From 822eb7fa9b13e962b5ce00144b1dbd3504571086 Mon Sep 17 00:00:00 2001 From: Simon Erni <963259+simonerni@users.noreply.github.com> Date: Thu, 4 May 2023 10:13:59 +0000 Subject: [PATCH 28/86] Do not ignore UL_CCCH messages in LTE --- modules/pcap_dump.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pcap_dump.py b/modules/pcap_dump.py index 4c74633..130b7fa 100644 --- a/modules/pcap_dump.py +++ b/modules/pcap_dump.py @@ -265,7 +265,7 @@ def on_log(self, log_type, log_payload, log_header, timestamp = 0): # - https://github.com/wireshark/wireshark/blob/wireshark-2.5.0/epan/dissectors/packet-gsmtap.h # - http://osmocom.org/projects/baseband/wiki/GSMTAP - if channel_type in (254, 255, RRCLOG_EXTENSION_SIB, RRCLOG_SIB_CONTAINER): + if channel_type in (254, 255): return # Frames containing only a MIB or extension SIB, as already present in RRC frames, ignoring if LTE_UL_DCCH_NB < channel_type <= LTE_UL_DCCH_NB + 9: From fbcde02596ee951a10bea0717610c987fbf2037e Mon Sep 17 00:00:00 2001 From: Wesley Woo Date: Wed, 14 Jun 2023 17:36:30 -0400 Subject: [PATCH 29/86] Added DIAG_QSR4_EXT_MSG_TERSE_F to the list of messaging opcodes. Previously, it was being handled as a DIAG response, which caused qcsuper to fail to start. Tested by running './qcsuper.py --adb --wireshark-live' with a rooted Pixel 3 --- inputs/_base_input.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputs/_base_input.py b/inputs/_base_input.py index d266d02..4fae5cb 100644 --- a/inputs/_base_input.py +++ b/inputs/_base_input.py @@ -368,7 +368,7 @@ def dispatch_received_diag_packet(self, unframed_diag_packet): self.dispatch_received_diag_packet(payload[7:]) - elif opcode in (DIAG_MSG_F, DIAG_EXT_MSG_F, DIAG_EXT_MSG_TERSE_F, DIAG_QSR_EXT_MSG_TERSE_F): # This is a "message" string + elif opcode in (DIAG_MSG_F, DIAG_EXT_MSG_F, DIAG_EXT_MSG_TERSE_F, DIAG_QSR_EXT_MSG_TERSE_F, DIAG_QSR4_EXT_MSG_TERSE_F): # This is a "message" string self.dispatch_diag_message(opcode, payload) From 3500daf8f90dc30b9c8b6f3b82a248133cf45277 Mon Sep 17 00:00:00 2001 From: Marin Date: Tue, 5 Dec 2023 10:24:41 +0100 Subject: [PATCH 30/86] 2023-update-android-13-14-support: Push current state of rework (updating the root "README.md" file in regard to future changes over the tools, creating a new "tests/" folder as well as moving the original project sources into a "src/" folder, begin implementing PyUSB support-related changes in the tool) --- README.md | 154 ++++++++++++++++-- docs/(internal) QCSuper class model.md | 7 + docs/QCSuper architecture.md | 4 +- qcsuper.py | 70 +++++--- {inputs => src/inputs}/README.md | 2 +- {inputs => src/inputs}/_base_input.py | 4 +- {inputs => src/inputs}/_hdlc_mixin.py | 6 +- {inputs => src/inputs}/adb.py | 5 +- {inputs => src/inputs}/adb_bridge/Makefile | 0 {inputs => src/inputs}/adb_bridge/README.md | 0 {inputs => src/inputs}/adb_bridge/adb_bridge | Bin .../inputs}/adb_bridge/adb_bridge.c | 0 {inputs => src/inputs}/adb_wsl2.py | 4 +- .../inputs}/adb_wsl2_bridge/README.md | 0 .../adb_wsl2_bridge/adb_wsl2_bridge.ps1 | 0 {inputs => src/inputs}/dlf_read.py | 2 +- {inputs => src/inputs}/external/README.md | 0 .../inputs}/external/adb/AdbWinApi.dll | Bin .../inputs}/external/adb/AdbWinUsbApi.dll | Bin {inputs => src/inputs}/external/adb/adb_linux | Bin {inputs => src/inputs}/external/adb/adb_macos | Bin .../inputs}/external/adb/adb_windows.exe | Bin .../inputs}/external/adb/lib/libc++.dylib | Bin .../inputs}/external/update_tools.sh | 0 {inputs => src/inputs}/json_geo_read.py | 2 +- src/inputs/usb_modem_argparser.py | 77 +++++++++ .../inputs/usb_modem_pyserial.py | 23 ++- src/inputs/usb_modem_pyusb.py | 47 ++++++ src/inputs/usb_modem_pyusb_devfinder.py | 2 + {modules => src/modules}/README.md | 2 +- {modules => src/modules}/_enable_log_mixin.py | 4 +- {modules => src/modules}/_utils.py | 0 {modules => src/modules}/cli.py | 0 {modules => src/modules}/decoded_sibs_dump.py | 4 +- {modules => src/modules}/dlf_dump.py | 6 +- {modules => src/modules}/efs_shell.py | 8 +- .../_base_efs_shell_command.py | 0 .../modules}/efs_shell_commands/cat.py | 10 +- .../modules}/efs_shell_commands/chmod.py | 8 +- .../efs_shell_commands/device_info.py | 8 +- .../modules}/efs_shell_commands/get.py | 8 +- .../modules}/efs_shell_commands/ln.py | 8 +- .../modules}/efs_shell_commands/ls.py | 8 +- .../modules}/efs_shell_commands/md5sum.py | 8 +- .../modules}/efs_shell_commands/mkdir.py | 8 +- .../modules}/efs_shell_commands/mv.py | 8 +- .../modules}/efs_shell_commands/put.py | 8 +- .../modules}/efs_shell_commands/rm.py | 8 +- .../modules}/efs_shell_commands/stat.py | 8 +- {modules => src/modules}/info.py | 2 +- {modules => src/modules}/json_geo_dump.py | 6 +- {modules => src/modules}/memory_dump.py | 2 +- {modules => src/modules}/pcap_dump.py | 9 +- .../diag_nr_rrc_dissector.lua | 0 {protocol => src/protocol}/README.md | 0 {protocol => src/protocol}/efs2.py | 0 {protocol => src/protocol}/gsmtap.py | 0 {protocol => src/protocol}/log_types.py | 0 {protocol => src/protocol}/messages.py | 0 {protocol => src/protocol}/subsystems.py | 0 tests/tests.py | 14 ++ tests/tests_usbmodem_argparser.py | 73 +++++++++ 62 files changed, 512 insertions(+), 125 deletions(-) create mode 100644 docs/(internal) QCSuper class model.md rename {inputs => src/inputs}/README.md (97%) rename {inputs => src/inputs}/_base_input.py (99%) rename {inputs => src/inputs}/_hdlc_mixin.py (96%) rename {inputs => src/inputs}/adb.py (98%) rename {inputs => src/inputs}/adb_bridge/Makefile (100%) rename {inputs => src/inputs}/adb_bridge/README.md (100%) rename {inputs => src/inputs}/adb_bridge/adb_bridge (100%) rename {inputs => src/inputs}/adb_bridge/adb_bridge.c (100%) rename {inputs => src/inputs}/adb_wsl2.py (97%) rename {inputs => src/inputs}/adb_wsl2_bridge/README.md (100%) rename {inputs => src/inputs}/adb_wsl2_bridge/adb_wsl2_bridge.ps1 (100%) rename {inputs => src/inputs}/dlf_read.py (98%) rename {inputs => src/inputs}/external/README.md (100%) rename {inputs => src/inputs}/external/adb/AdbWinApi.dll (100%) rename {inputs => src/inputs}/external/adb/AdbWinUsbApi.dll (100%) rename {inputs => src/inputs}/external/adb/adb_linux (100%) rename {inputs => src/inputs}/external/adb/adb_macos (100%) rename {inputs => src/inputs}/external/adb/adb_windows.exe (100%) rename {inputs => src/inputs}/external/adb/lib/libc++.dylib (100%) rename {inputs => src/inputs}/external/update_tools.sh (100%) rename {inputs => src/inputs}/json_geo_read.py (95%) create mode 100644 src/inputs/usb_modem_argparser.py rename inputs/usb_modem.py => src/inputs/usb_modem_pyserial.py (94%) create mode 100644 src/inputs/usb_modem_pyusb.py create mode 100644 src/inputs/usb_modem_pyusb_devfinder.py rename {modules => src/modules}/README.md (97%) rename {modules => src/modules}/_enable_log_mixin.py (98%) rename {modules => src/modules}/_utils.py (100%) rename {modules => src/modules}/cli.py (100%) rename {modules => src/modules}/decoded_sibs_dump.py (99%) rename {modules => src/modules}/dlf_dump.py (83%) rename {modules => src/modules}/efs_shell.py (97%) rename {modules => src/modules}/efs_shell_commands/_base_efs_shell_command.py (100%) rename {modules => src/modules}/efs_shell_commands/cat.py (97%) rename {modules => src/modules}/efs_shell_commands/chmod.py (97%) rename {modules => src/modules}/efs_shell_commands/device_info.py (93%) rename {modules => src/modules}/efs_shell_commands/get.py (96%) rename {modules => src/modules}/efs_shell_commands/ln.py (91%) rename {modules => src/modules}/efs_shell_commands/ls.py (97%) rename {modules => src/modules}/efs_shell_commands/md5sum.py (92%) rename {modules => src/modules}/efs_shell_commands/mkdir.py (91%) rename {modules => src/modules}/efs_shell_commands/mv.py (91%) rename {modules => src/modules}/efs_shell_commands/put.py (97%) rename {modules => src/modules}/efs_shell_commands/rm.py (94%) rename {modules => src/modules}/efs_shell_commands/stat.py (96%) rename {modules => src/modules}/info.py (99%) rename {modules => src/modules}/json_geo_dump.py (93%) rename {modules => src/modules}/memory_dump.py (99%) rename {modules => src/modules}/pcap_dump.py (99%) rename {modules => src/modules}/wireshark_plugin/diag_nr_rrc_dissector.lua (100%) rename {protocol => src/protocol}/README.md (100%) rename {protocol => src/protocol}/efs2.py (100%) rename {protocol => src/protocol}/gsmtap.py (100%) rename {protocol => src/protocol}/log_types.py (100%) rename {protocol => src/protocol}/messages.py (100%) rename {protocol => src/protocol}/subsystems.py (100%) create mode 100755 tests/tests.py create mode 100644 tests/tests_usbmodem_argparser.py diff --git a/README.md b/README.md index 8b7a0ba..609a74b 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # QCSuper -**QCSuper** is a tool communicating with Qualcomm-based phones and modems, allowing to **capture raw 2G/3G/4G** radio frames, among other things. +**QCSuper** is a tool communicating with Qualcomm-based phones and modems, allowing to **capture raw 2G/3G/4G** (and for certain models 5G) radio frames, among other things. It will allow you to **generate PCAP** captures of it using either a rooted Android phone, an USB dongle or an existing capture in another format. ![Screenshot of using QCSuper along with Wireshark](docs/sample_pcaps/Wireshark%20screenshot.png?raw=true) -After having [installed](#installation) it, you can plug your rooted phone in USB and using it is as simple as: +After having [installed](#installation) it, you can plug your rooted phone in USB and using it, with a compatible device, is as simple as: ``` ./qcsuper.py --adb --wireshark-live @@ -14,7 +14,7 @@ After having [installed](#installation) it, you can plug your rooted phone in US It uses the Qualcomm Diag protocol, also called QCDM or DM (Diagnostic Monitor) in order to communicate with your phone's baseband. -**You want support, or to report that you device works or does not work? You can open a [Github issue](https://github.com/P1sec/QCSuper/issues/new).** +**You are willing to report that your device works or does not work? You can open a [Github issue](https://github.com/P1sec/QCSuper/issues/new).** ## Table of contents @@ -39,7 +39,7 @@ It uses the Qualcomm Diag protocol, also called QCDM or DM (Diagnostic Monitor) ## Installation -QCSuper was tested and developed on Ubuntu 16.04, 18.04 and Windows 7. It depends on a few Python modules. +QCSuper was tested and developed on Ubuntu LTS 16.04 - 22.04 and Windows 7+. It depends on a few Python modules. To use it, your phone must be rooted or expose a diag service port over USB. In order to check for compatibility with your phone, look up the phone's model on a site like [GSMArena](https://www.gsmarena.com/) and check whether it has a Qualcomm processor. @@ -58,12 +58,12 @@ cd qcsuper # Install dependencies sudo apt install python3-pip wireshark -sudo pip3 install --upgrade pyserial crcmod https://github.com/P1sec/pycrate/archive/master.zip +sudo pip3 install --upgrade pyserial pyusb crcmod https://github.com/P1sec/pycrate/archive/master.zip ``` ### Windows installation -On Windows, you will need to download and install your phone's USB drivers from your phone model. There is no generic way, search for your phone's model + "USB driver" or "ADB driver" on Google for instructions. +On Windows, in order for ADB to run, you will need to download and install your phone's USB drivers from your phone model. There is no generic way, search for your phone's model + "USB driver" or "ADB driver" on Google for instructions. Then, you need to ensure that you can reach your device using `adb`. You can find a tutorial on how to download and setup `adb` [here](https://www.xda-developers.com/install-adb-windows-macos-linux/). The `adb shell` command must display a prompt to continue. @@ -107,14 +107,44 @@ In order to use QCSuper, you specify one input (e.g: `--adb` (Android phone), `- A few commands you can type are: ```bash -# Open Wireshark directly, using a rooted Android phone as an input -./qcsuper.py --adb --wireshark-live +# Open Wireshark directly, using a rooted Android phone as an input, +# for compatible phones: +$ ./qcsuper.py --adb --wireshark-live # Same, but dump to a PCAP file instead of opening Wireshark directly -./qcsuper.py --adb --pcap-dump /tmp/my_pcap.pcap - -# Same, but using an USB modem exposing a Diag serial port -sudo ./qcsuper.py --usb-modem /dev/ttyHS2 --wireshark-live +$ ./qcsuper.py --adb --pcap-dump /tmp/my_pcap.pcap + +# Same, but using an USB modem/phone exposing a Diag serial port +# directly over USB, in the case where the "--adb" mode does not +# work directly: + +# - With a compatible Android phone where the Diag port over USB has +# been manually enabled by the user (see the "How to manually enable +# the diagnostic ports on my phone" section below for a summary of +# how this may be possible with most Qualcomm-based models) +# +# In this case, you may try: +./qcsuper.py --usb-modem auto --wireshark-live +# Or, if selecting manually the USB device corresponding to the +# Diag-enabled phone turns to be requried: +$ lsusb +(..) +Bus 001 Device 076: ID 05c6:9091 Qualcomm, Inc. Intex Aqua Fish & Jolla C Diagnostic Mode +$ ./qcsuper.py --usb-modem 1d6b:0003 --wireshark-live # With vendor ID:product ID... +$ ./qcsuper.py --usb-modem 002:001 --wireshark-live # ...or with bus ID:device ID +# Or, if selecting the configuration index and interface index (both 0-indexed) turn to be required: +$ lsusb -v +(..) +$ ./qcsuper.py --usb-modem 1d6b:0003:0:0 --wireshark-live # With vendor ID:product ID:configuration:interface... +$ ./qcsuper.py --usb-modem 002:001:0:0 --wireshark-live # ...or with bus ID:device ID:configuration:interface + +# - With a generic serial-over-USB device where the "usbserial" module has +# loaded a /dev/ttyUSB{0,2} device corresponding to the diagnostic port: +$ sudo ./qcsuper.py --usb-modem /dev/ttyUSB2 --wireshark-live + +# - With an Option device where the "hsoserial" module has loaded a +# /dev/ttyHS{0,2} device corresponding to the diagnostic port: +$ sudo ./qcsuper.py --usb-modem /dev/ttyHS2 --wireshark-live ``` Here is the current usage notice for QCSuper: @@ -195,9 +225,107 @@ Memory dumping options: Specifying `-` to pipe data from stdin or towards stdout is supported (gzipped content may not be detected). +### How to root my phone? + +This README file is not a guide over how to root your phone (getting your phone to enable you to run commands such as "`su`"). + +In most of the recent Android devices, you must first use the "OEM/bootloader unlock" option prevent in the developer settings of the telephone in order to unlock the bootloader, then you may use a tool such as [Magisk](https://topjohnwu.github.io/Magisk/install.html) that will enable you to obtain a patched image for your phone's bootloader, that you will then be able to load onto your phone in [`fastboot` mode](https://en.wikipedia.org/wiki/Fastboot). + +QCSuper will have more chance to work easily on your Qualcomm-based device when your phone is rooted, but there often are ways to enable the Qualcomm Diag USB mode (also known as "DM", Diag Monitor) on your phone without having your phone rooted. This [depends on](https://band.radio/diag) your phone vendor and goes through, for example, typing a magic combination of digits onto your phone's dialer keypad. Please see the "*How to manually enable the diagnostic ports on my phone?*" section below for more details. + +Before rooting your phone, remember that you may also want to use load an alternate recovery image such as TWRP onto your OEM-unlocked phone in order to perform partition backup using a tool such as [TWRP](https://twrp.me/) (it may be as simple as loading the image through Fastboot, enabling the ADB link in the settings of TWRP, and using `adb pull` onto selected partitions in the `/dev/block/by-name` folder`). + +For specific inscriptions on rooting or enabling the Diag mode on your phone model, you may search the information over the XDA-developers forum with appropriate keywords. + +### How to manually enable the diagnostic ports on my phone? + +On Qualcomm/MSM Android-based devices bearning Linux kernel 4.9 or earlier (this includes roughly part of devices up to Android 12 and all devices before Android 10), Qualcomm-based Android devices normally contain a system device called `/dev/diag` which allows to communicate data to the diagnostics port of the baseband. + +On Qualcomm/MSM Android-based devices bearing Linux kernel 4.14 or later (this includes roughly part of devices from Android 10 and all devices from Android 13), **`/dev/diag` disappeared**, as the corresponding `diagchar` module is disabled by default recent AOSP/Linux kernels. + +On the devices bearing a Linux 4.9 or earlier MSM kernel, when using the `--adb` flag, QCSuper will try to connect through ADB automatically, will then attempt to transfer an executable utility connecting to the `/dev/diag` device, in order to launch it as root using a command such as `su -c /data/local/tmp/adb_bridge`, and subsequently transmit the diagnostics data with the device over TCP (also forwarding the corresponing TCP port through ADB). + +On the devices bearing a Linux 4.14 or later MSM kernel, when using the `--adb` flag, QCSuper will try to connect through ADB automatically, will then [TODO MMR: /!\\ XX TO BE IMPLEMENTED IN SECOND-PLACE] attempt to mode-switch the USB port of the phone using a command such as `su -c 'setprop sys.usb.config diag,adb'`, and then execute the equivalent of the `--usb-modem auto` flag (see below). + +The `--usb-modem ` flag allows QCSuper to **connect to the Qualcomm diagnostics port over a pseudo-serial port over USB**, independently from ADB, which is the most common way to connect to the Qualcomm diag protocol of an Android-based phone using an external device. + +In order to use `--usb-modem ` flag, the Qualcomm diagnostic port must be enabled on the corresponding phone, otherwise said the phone should have been USB mode-switched beforehand. + +The most common way to USB mode-switch your device is to execute a command such as `setprop sys.usb.config diag,adb` as root, but there may be other ways (with certain phone vendors) to enable the Qualcomm diagnostics-over-USB mode, see for example [this page](https://band.radio/diag) for possible ways, for certain devices, to enable Diag without root - it often imples to type a magic combination of digits over the phone's dialer keypad. + +In other devices, it may also be possible to use an APK file signed by the phone vendor and with System-related permissions in order to enable the Diag mode without rooting (search about the `com.longcheertel.midtest` APK for Xiaomi-based devices for example). + +Once your device has been correctly most-switched, running the `getprop sys.usb.config` command over ADB should display a text string containing `diag`. + +On the side of your computer, then, running `lsusb` (on Linux) should display a line referring your device, for example: + +``` +Bus 001 Device 076: ID 05c6:9091 Qualcomm, Inc. Intex Aqua Fish & Jolla C Diagnostic Mode +``` + +Note the `001:076` (bus index/device index identifier), and the `05c6:9091` (vendor ID/product ID) information present in this output. + +Once you have this information available, **you may try to use a flag such as `--usb-modem 05c6:9091` or `--usb-modem 001:076`** with QCSuper (please respect the digit padding). + +If this isn't conclusive, you may use the `lsusb -v -d 05c6:9091` command, which should produce detailed output, including the USB configurations, interfaces and endpoints for the corresponding USB device: + +``` +Bus 001 Device 027: ID 05c6:9091 Qualcomm, Inc. Intex Aqua Fish & Jolla C Diagnostic Mode +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 0 + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x05c6 Qualcomm, Inc. + idProduct 0x9091 Intex Aqua Fish & Jolla C Diagnostic Mode + bcdDevice 5.04 + iManufacturer 1 Xiaomi + iProduct 2 Mi 11 + iSerial 3 d94f4341 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0086 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 4 Default composition + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 255 Vendor Specific Class + bInterfaceSubClass 255 Vendor Specific Subclass + bInterfaceProtocol 48 + iInterface 0 +[...] +``` + +QCSuper allows you to manually select the index of the configuration and the interface you are wishing to attempt to connect to on the concerned device, in the case where it isn't detected correctly. For example, the `--usb-modem 05c6:9091:0:0` flag will select respectively the first configuration and the first interface on the concerned device (these indexes are zero-indexed). `--usb-modem 05c6:9091:1:4` will select the fifth interface over the second configuration. + +If the configuration and interface indexes detail isn't specified, it will select either the first interface descriptor where `bInterfaceProtocol=48` or alternately where `bInterfaceClass` and `bInterfaceSubClass` both equal 255. + +When using the `--usb-modem auto` flag, either the first device exposing an USB interface compilant with this criteria is picked, or the first device matching the `/dev/ttyUSB*` (`usbserial` module) or `/dev/ttyHS*` (`hso` module) is selected (see the "Using QCSuper with an USB modem" section below). + +*Alternately*, on Linux, it may also be possible to manually create `/dev/ttyUSB*` endpoints corresponding to the interfaces of a given USB device, that you will able to can connect using QCSuper with a flag such as `--usb-modem /dev/ttyUSB0` (this may require running QCSuper with root rights), using the `usbserial` module. For this, you can use a command such as: + +``` +sudo rmmod usbserial +sudo modprobe usbserial vendor=0x05c6 product=0x9091 +``` + + ## Using QCSuper with an USB modem -You can use QCSuper with an USB modem exposing a Diag port using the `--usb-modem ` option, where `` is the name of the pseudo-serial device on Linux (such as `/dev/ttyUSB0`, `/dev/ttyHS2` and other possibilites) or of the COM port on Windows (such as `COM3`). +You can use QCSuper with an USB modem exposing a Diag port using the `--usb-modem ` option, where `` is the name of the pseudo-serial device on Linux (such as `/dev/ttyUSB0`, `/dev/ttyHS2` and other possibilites) or of the COM port on Windows (such as `COM2`, `COM3`). Please note that in most setups, you will need to run QCSuper as root in order to be able to use this mode, notably for handling serial port interference. diff --git a/docs/(internal) QCSuper class model.md b/docs/(internal) QCSuper class model.md new file mode 100644 index 0000000..14907dd --- /dev/null +++ b/docs/(internal) QCSuper class model.md @@ -0,0 +1,7 @@ +(WIP as of 27/11/2024) + +The entry point of QCSuper is located at "./qcsuper.py" (TODO: Dump all this into a new "./src/" folder). + +The "./protocol" subfolder contains `.py` includes, but nothing else than constant digits/constant lookup tables + two tiny GSMTAP-related utility constants. + +The code of the project is located into the `inputs/` and `modules/` subfolders. \ No newline at end of file diff --git a/docs/QCSuper architecture.md b/docs/QCSuper architecture.md index d7a7bbd..f4dbcd0 100644 --- a/docs/QCSuper architecture.md +++ b/docs/QCSuper architecture.md @@ -59,8 +59,8 @@ When using the interactive prompt (`--cli`), the moment where the `on_init` call An input is a Python class which may expose different methods: * `__init__`: will optionally receive arguments from the command line or interactive prompt (passed in sequence from the entry point `qcsuper.py`). -* `send_request`: this function will be called when a module wants to send a Diag request packet. -* `read_loop`: Diag responses packets will be read and dispatched from here. +* `send_request`: this function will be called when a module wants to send a Diag request packet (involving possible utility functions such as `hdlc_encapsulate` from `HdlcMixin`). +* `read_loop`: Diag responses packets will be read and dispatched from here, involving the use of the private `dispatch_received_diag_packet` method inherited from `BaseInput` (and other possible utility functions, such as `hdlc_decapsulate` from `HdlcMixin`). Inputs inherit from the `BaseInput` class which exposes a method called `send_recv`, allowing to write a request then read the response, wrapping transparently thread synchronization primitives. diff --git a/qcsuper.py b/qcsuper.py index 0ebfcb3..6c905b9 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -1,25 +1,31 @@ #!/usr/bin/python3 from logging import DEBUG, INFO, basicConfig +from argparse import RawTextHelpFormatter from argparse import ArgumentParser from os.path import expanduser -from sys import stdout from pathlib import Path +from sys import stdout -from modules.json_geo_dump import JsonGeoDumper -from modules.memory_dump import MemoryDumper -from modules.cli import CommandLineInterface -from modules.dlf_dump import DlfDumper -from modules.info import InfoRetriever -from modules._utils import FileType - -from inputs.json_geo_read import JsonGeoReader -from inputs.usb_modem import UsbModemConnector -from inputs.dlf_read import DlfReader -from inputs.adb import AdbConnector -from inputs.adb_wsl2 import AdbWsl2Connector - -parser = ArgumentParser(description = 'A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or DM).') +from src.modules.json_geo_dump import JsonGeoDumper +from src.modules.memory_dump import MemoryDumper +from src.modules.cli import CommandLineInterface +from src.modules.dlf_dump import DlfDumper +from src.modules.info import InfoRetriever +from src.modules._utils import FileType + +from src.inputs.json_geo_read import JsonGeoReader +from src.inputs.usb_modem_pyserial import UsbModemPyserialConnector +from src.inputs.usb_modem_pyusb import UsbModemPyusbConnector +from src.inputs.usb_modem_argparser import UsbModemArgParser, UsbModemArgType +from src.inputs.dlf_read import DlfReader +from src.inputs.adb import AdbConnector +from src.inputs.adb_wsl2 import AdbWsl2Connector + +parser = ArgumentParser( + description = 'A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or DM).', + formatter_class = RawTextHelpFormatter +) parser.add_argument('--cli', action = 'store_true', help = 'Use a command prompt, allowing for interactive completion of commands.') parser.add_argument('--efs-shell', action = 'store_true', help = 'Spawn an interactive shell to navigate within the embedded filesystem (EFS) of the baseband device.') @@ -31,7 +37,20 @@ input_mode.add_argument('--adb', action = 'store_true', help = 'Use a rooted Android phone with USB debugging enabled as input (requires adb).') input_mode.add_argument('--adb-wsl2', action = 'store', default=None, help = 'Unix path to the Windows adb executable. Equivalent of --adb command but with WSL2/Windows interoperability.') -input_mode.add_argument('--usb-modem', metavar = 'TTY_DEV', help = 'Use an USB modem exposing a DIAG pseudo-serial port through USB.') +input_mode.add_argument('--usb-modem', metavar = 'TTY_DEV', help = 'Use an USB modem exposing a DIAG pseudo-serial port through USB.\n' + + 'Possible syntaxes:\n' + + ' - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}"\n' + + ' - COM port identifier (Windows): "COM{0-9}"\n' + + ' - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional configuration\n' + + ' ID/optional interface ID) format in hexa: e.g. "05c6:9091" or "05c6:9091:0:0"\n' + + ' (vid and pid are four zero-padded hex digits, cfg and intf are zero-indexed\n' + + ' or guessed using the criteria specified for "auto" below if not specified)\n' + + ' - "bus:dev[:cfg:intf]" (USB bus/device/optional configuration ID/optional\n' + + ' interface ID) format in decimal: e.g "001:003" or "001:003:0:3" (bus and\n' + + ' dev are three zero-padded digits, cfg and intf are zero-indexed)\n' + + ' - "auto": Use the first device endpoint in the system where bInterfaceProtocol==48,\n' + + ' or the first endpoint where bInterfaceClass/bInterfaceSubClass=255/255, or the first\n' + + ' /dev/tty{HS,USB}* device') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') @@ -72,7 +91,16 @@ elif args.adb: diag_input = AdbConnector() elif args.usb_modem: - diag_input = UsbModemConnector(args.usb_modem) + usb_arg = UsbModemArgParser(args.usb_modem) + if not usb_arg.arg_type: + exit("Error: You didn't pass a valid value for the --usb-modem " + + "argument. Please check digit padding (if any) and see " + + "--help for further details.") + elif usb_arg.arg_type == UsbModemArgType.pyserial_dev: + diag_input = UsbModemPyserialConnector(usb_arg.pyserial_device) + else: + diag_input = UsbModemPyusbConnector(usb_arg) + elif args.json_geo_read: diag_input = JsonGeoReader(args.json_geo_read) else: @@ -87,15 +115,15 @@ def parse_modules_args(args): if args.memory_dump: diag_input.add_module(MemoryDumper(diag_input, expanduser(args.memory_dump), int(args.start, 16), int(args.stop, 16))) if args.pcap_dump: - from modules.pcap_dump import PcapDumper + from src.modules.pcap_dump import PcapDumper diag_input.add_module(PcapDumper(diag_input, args.pcap_dump, args.reassemble_sibs, args.decrypt_nas, args.include_ip_traffic)) if args.wireshark_live: - from modules.pcap_dump import WiresharkLive + from src.modules.pcap_dump import WiresharkLive diag_input.add_module(WiresharkLive(diag_input, args.reassemble_sibs, args.decrypt_nas, args.include_ip_traffic)) if args.json_geo_dump: diag_input.add_module(JsonGeoDumper(diag_input, args.json_geo_dump)) if args.decoded_sibs_dump: - from modules.decoded_sibs_dump import DecodedSibsDumper + from src.modules.decoded_sibs_dump import DecodedSibsDumper diag_input.add_module(DecodedSibsDumper(diag_input)) if args.info: diag_input.add_module(InfoRetriever(diag_input)) @@ -119,7 +147,7 @@ def parse_modules_args(args): if diag_input.modules: exit('Error: you can not both specify the use of EFS shell and a module') - from modules.efs_shell import EfsShell + from src.modules.efs_shell import EfsShell diag_input.add_module(EfsShell(diag_input)) diff --git a/inputs/README.md b/src/inputs/README.md similarity index 97% rename from inputs/README.md rename to src/inputs/README.md index fabde1b..d6d620a 100644 --- a/inputs/README.md +++ b/src/inputs/README.md @@ -11,7 +11,7 @@ A simple template for implementing a new input could be: ```python #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from inputs._base_input import BaseInput +from src.inputs._base_input import BaseInput class MyExampleInput(BaseInput): diff --git a/inputs/_base_input.py b/src/inputs/_base_input.py similarity index 99% rename from inputs/_base_input.py rename to src/inputs/_base_input.py index d266d02..386be0b 100644 --- a/inputs/_base_input.py +++ b/src/inputs/_base_input.py @@ -10,8 +10,8 @@ from shutil import which from struct import pack -from modules.cli import CommandLineInterface -from protocol.messages import * +from src.modules.cli import CommandLineInterface +from src.protocol.messages import * LOG_CONFIG_DISABLE_OP = 0 diff --git a/inputs/_hdlc_mixin.py b/src/inputs/_hdlc_mixin.py similarity index 96% rename from inputs/_hdlc_mixin.py rename to src/inputs/_hdlc_mixin.py index b675769..9973f99 100644 --- a/inputs/_hdlc_mixin.py +++ b/src/inputs/_hdlc_mixin.py @@ -6,7 +6,7 @@ from crcmod import mkCrcFun from time import time -from protocol.messages import * +from src.protocol.messages import * """ This class implements the pseudo-HDLC framing using for the Qualcomm Diag @@ -28,7 +28,7 @@ class HdlcMixin: :param payload: A raw payload to be encapsulated """ - def hdlc_encapsulate(self, payload): + def hdlc_encapsulate(self, payload) -> bytes: debug('[>] Sending request %s of length %d: %s' % (message_id_to_name.get(payload[0], payload[0]), len(payload[1:]), payload[1:])) @@ -56,7 +56,7 @@ def hdlc_encapsulate(self, payload): CRC-16 was received, rather than just printing a warning """ - def hdlc_decapsulate(self, payload, raise_on_invalid_frame = False): + def hdlc_decapsulate(self, payload, raise_on_invalid_frame = False) -> bytes: # Check the message length diff --git a/inputs/adb.py b/src/inputs/adb.py similarity index 98% rename from inputs/adb.py rename to src/inputs/adb.py index f84ffb7..4a74267 100644 --- a/inputs/adb.py +++ b/src/inputs/adb.py @@ -14,11 +14,10 @@ except ImportError: setpgrp = None -from inputs._hdlc_mixin import HdlcMixin -from inputs._base_input import BaseInput +from src.inputs._hdlc_mixin import HdlcMixin +from src.inputs._base_input import BaseInput INPUTS_DIR = dirname(realpath(__file__)) -ROOT_DIR = realpath(INPUTS_DIR + '/..') ADB_BRIDGE_DIR = realpath(INPUTS_DIR + '/adb_bridge') ADB_BIN_DIR = realpath(INPUTS_DIR + '/external/adb') diff --git a/inputs/adb_bridge/Makefile b/src/inputs/adb_bridge/Makefile similarity index 100% rename from inputs/adb_bridge/Makefile rename to src/inputs/adb_bridge/Makefile diff --git a/inputs/adb_bridge/README.md b/src/inputs/adb_bridge/README.md similarity index 100% rename from inputs/adb_bridge/README.md rename to src/inputs/adb_bridge/README.md diff --git a/inputs/adb_bridge/adb_bridge b/src/inputs/adb_bridge/adb_bridge similarity index 100% rename from inputs/adb_bridge/adb_bridge rename to src/inputs/adb_bridge/adb_bridge diff --git a/inputs/adb_bridge/adb_bridge.c b/src/inputs/adb_bridge/adb_bridge.c similarity index 100% rename from inputs/adb_bridge/adb_bridge.c rename to src/inputs/adb_bridge/adb_bridge.c diff --git a/inputs/adb_wsl2.py b/src/inputs/adb_wsl2.py similarity index 97% rename from inputs/adb_wsl2.py rename to src/inputs/adb_wsl2.py index cf166de..5a7b29a 100644 --- a/inputs/adb_wsl2.py +++ b/src/inputs/adb_wsl2.py @@ -3,7 +3,7 @@ from subprocess import Popen from typing import Any -from inputs.adb import AdbConnector +from src.inputs.adb import AdbConnector class AdbWsl2Connector: """ @@ -109,7 +109,7 @@ def __setattr__(self, name: str, value: Any) -> None: def __getattribute__(self, name: str) -> Any: """ - Proxify getter to unerlaying ADB connector if needed + Proxify getter to underlaying ADB connector if needed """ if name not in [ '_wsl_distro_name', diff --git a/inputs/adb_wsl2_bridge/README.md b/src/inputs/adb_wsl2_bridge/README.md similarity index 100% rename from inputs/adb_wsl2_bridge/README.md rename to src/inputs/adb_wsl2_bridge/README.md diff --git a/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 b/src/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 similarity index 100% rename from inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 rename to src/inputs/adb_wsl2_bridge/adb_wsl2_bridge.ps1 diff --git a/inputs/dlf_read.py b/src/inputs/dlf_read.py similarity index 98% rename from inputs/dlf_read.py rename to src/inputs/dlf_read.py index b8f971d..812d460 100644 --- a/inputs/dlf_read.py +++ b/src/inputs/dlf_read.py @@ -4,7 +4,7 @@ from struct import unpack import gzip -from inputs._base_input import BaseInput +from src.inputs._base_input import BaseInput """ This class implements reading Qualcomm DIAG data from a DLF file. diff --git a/inputs/external/README.md b/src/inputs/external/README.md similarity index 100% rename from inputs/external/README.md rename to src/inputs/external/README.md diff --git a/inputs/external/adb/AdbWinApi.dll b/src/inputs/external/adb/AdbWinApi.dll similarity index 100% rename from inputs/external/adb/AdbWinApi.dll rename to src/inputs/external/adb/AdbWinApi.dll diff --git a/inputs/external/adb/AdbWinUsbApi.dll b/src/inputs/external/adb/AdbWinUsbApi.dll similarity index 100% rename from inputs/external/adb/AdbWinUsbApi.dll rename to src/inputs/external/adb/AdbWinUsbApi.dll diff --git a/inputs/external/adb/adb_linux b/src/inputs/external/adb/adb_linux similarity index 100% rename from inputs/external/adb/adb_linux rename to src/inputs/external/adb/adb_linux diff --git a/inputs/external/adb/adb_macos b/src/inputs/external/adb/adb_macos similarity index 100% rename from inputs/external/adb/adb_macos rename to src/inputs/external/adb/adb_macos diff --git a/inputs/external/adb/adb_windows.exe b/src/inputs/external/adb/adb_windows.exe similarity index 100% rename from inputs/external/adb/adb_windows.exe rename to src/inputs/external/adb/adb_windows.exe diff --git a/inputs/external/adb/lib/libc++.dylib b/src/inputs/external/adb/lib/libc++.dylib similarity index 100% rename from inputs/external/adb/lib/libc++.dylib rename to src/inputs/external/adb/lib/libc++.dylib diff --git a/inputs/external/update_tools.sh b/src/inputs/external/update_tools.sh similarity index 100% rename from inputs/external/update_tools.sh rename to src/inputs/external/update_tools.sh diff --git a/inputs/json_geo_read.py b/src/inputs/json_geo_read.py similarity index 95% rename from inputs/json_geo_read.py rename to src/inputs/json_geo_read.py index 2f772cd..36263c7 100644 --- a/inputs/json_geo_read.py +++ b/src/inputs/json_geo_read.py @@ -6,7 +6,7 @@ from time import time import gzip -from inputs._base_input import BaseInput +from src.inputs._base_input import BaseInput """ This class implements reading JSON files produced with the json_geo_dump.py diff --git a/src/inputs/usb_modem_argparser.py b/src/inputs/usb_modem_argparser.py new file mode 100644 index 0000000..130c693 --- /dev/null +++ b/src/inputs/usb_modem_argparser.py @@ -0,0 +1,77 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- +from typing import Optional, Union, Dict, List, Sequence, Set, Any +from re import match, Match, IGNORECASE +from enum import IntEnum + +class UsbModemArgType(IntEnum): + pyserial_dev = 1 + pyusb_vid_pid = 2 + pyusb_vid_pid_cfg_intf = 3 + pyusb_bus_device = 4 + pyusb_bus_device_cfg_intf = 5 + pyusb_auto = 6 + +USB_ARG_REGEX_TO_MODE = { + 'COM\d+|/dev.+': UsbModemArgType.pyserial_dev, + '([0-9a-f]{4}):([0-9a-f]{4})': UsbModemArgType.pyusb_vid_pid, + '([0-9a-f]{4}):([0-9a-f]{4}):(\d+):(\d+)': UsbModemArgType.pyusb_vid_pid_cfg_intf, + '([0-9]{3}):([0-9]{3})': UsbModemArgType.pyusb_bus_device, + '([0-9]{3}):([0-9]{3}):(\d+):(\d+)': UsbModemArgType.pyusb_bus_device_cfg_intf, + 'auto': UsbModemArgType.pyusb_auto +} + +class UsbModemArgParser: + + arg_type : UsbModemArgType + + pyserial_device : Optional[str] = None + + pyusb_vid : Optional[int] = None + pyusb_pid : Optional[int] = None + pyusb_bus : Optional[int] = None + pyusb_device : Optional[int] = None + pyusb_cfg : Optional[int] = None + pyusb_intf : Optional[int] = None + pyusb_auto : bool = False + + def __init__(self, arg : str): + + """ + if arg.startswith('COM') or arg.startswith('/dev'): + self.arg_type = UsbModemArgType.pyserial_dev + self.pyserial_device = arg + """ + + regex_result : Optional[Match] = None + syntax_type : Optional[UsbModemArgType] = None + + for possible_syntax, arg_type in USB_ARG_REGEX_TO_MODE.items(): + regex_result = match('^' + possible_syntax + '$', arg, flags = IGNORECASE) + if regex_result: + syntax_type = arg_type + break + + if syntax_type: + self.arg_type = syntax_type + + if syntax_type == UsbModemArgType.pyserial_dev: + self.pyserial_device = regex_result.group(0) + elif syntax_type == UsbModemArgType.pyusb_vid_pid: + self.pyusb_vid = int(regex_result.group(1), 16) + self.pyusb_pid = int(regex_result.group(2), 16) + elif syntax_type == UsbModemArgType.pyusb_vid_pid_cfg_intf: + self.pyusb_vid = int(regex_result.group(1), 16) + self.pyusb_pid = int(regex_result.group(2), 16) + self.pyusb_cfg = int(regex_result.group(3), 10) + self.pyusb_intf = int(regex_result.group(4), 10) + elif syntax_type == UsbModemArgType.pyusb_bus_device: + self.pyusb_bus = int(regex_result.group(1), 10) + self.pyusb_device = int(regex_result.group(2), 10) + elif syntax_type == UsbModemArgType.pyusb_bus_device_cfg_intf: + self.pyusb_bus = int(regex_result.group(1), 10) + self.pyusb_device = int(regex_result.group(2), 10) + self.pyusb_cfg = int(regex_result.group(3), 10) + self.pyusb_intf = int(regex_result.group(4), 10) + elif syntax_type == UsbModemArgType.pyusb_auto: + self.pyusb_auto = True \ No newline at end of file diff --git a/inputs/usb_modem.py b/src/inputs/usb_modem_pyserial.py similarity index 94% rename from inputs/usb_modem.py rename to src/inputs/usb_modem_pyserial.py index 5b518bf..7ca4fe0 100644 --- a/inputs/usb_modem.py +++ b/src/inputs/usb_modem_pyserial.py @@ -3,31 +3,37 @@ from subprocess import run, DEVNULL, PIPE, STDOUT, CalledProcessError from os import access, R_OK, W_OK, listdir, kill, makedirs, remove from os.path import exists, realpath, basename +from subprocess import Popen from signal import SIGTERM from serial import Serial from shutil import which from sys import platform from time import sleep +try: + from os import setpgrp +except ImportError: + setpgrp = None + try: from os import geteuid except ImportError: pass -from inputs._hdlc_mixin import HdlcMixin -from inputs._base_input import BaseInput -from protocol.messages import * +from src.inputs._hdlc_mixin import HdlcMixin +from src.inputs._base_input import BaseInput +from src.protocol.messages import * """ This class implements reading Qualcomm DIAG data from an USB modem exposing a pseudo-serial port. """ -class UsbModemConnector(HdlcMixin, BaseInput): +class UsbModemPyserialConnector(HdlcMixin, BaseInput): """ - The constructor of the UsbModemConnector class checks that no - process interferes with the serial port we're trying to + The constructor of the UsbModemPyserialConnector class checks + that no process interferes with the serial port we're trying to connect to, then creates the serial port. It may create a temporary udev rule and restart ModemManager @@ -38,6 +44,11 @@ class UsbModemConnector(HdlcMixin, BaseInput): """ def __init__(self, device): + + # WIP + # + + # if platform not in ('win32', 'cygwin'): diff --git a/src/inputs/usb_modem_pyusb.py b/src/inputs/usb_modem_pyusb.py new file mode 100644 index 0000000..884294b --- /dev/null +++ b/src/inputs/usb_modem_pyusb.py @@ -0,0 +1,47 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- + +from src.inputs.usb_modem_argparser import UsbModemArgParser, \ + UsbModemArgType + +from src.inputs.usb_modem_pyusb_devfinder import XX + +from src.inputs._hdlc_mixin import HdlcMixin +from src.inputs._base_input import BaseInput + +class UsbModemPyusbConnector(HdlcMixin, BaseInput): + + def __init__(self, usb_arg : UsbModemArgParser): + + if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: + + elif usb_arg.arg_type == UsbModemArgType.XX: + + elif usb_arg.arg_type == UsbModemArgType.XX: + + else: + assert False # unreachable + + XX TO BE IMPLEMENTED + + self.received_first_packet = False + + super().__init__() + + def __del__(self): + + XX TO BE IMPLEMENTED + + def send_request(self, packet_type, packet_payload): + + raw_payload = self.hdlc_encapsulate(bytes([packet_type]) + packet_payload) + + XX TO BE IMPLEMENTED.write(raw_payload) + + def read_loop(self): + + while True: + + XX TO BE IMPLEMENTED + + self.dispatch_received_diag_packet(unframed_message) \ No newline at end of file diff --git a/src/inputs/usb_modem_pyusb_devfinder.py b/src/inputs/usb_modem_pyusb_devfinder.py new file mode 100644 index 0000000..b6cbe33 --- /dev/null +++ b/src/inputs/usb_modem_pyusb_devfinder.py @@ -0,0 +1,2 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- diff --git a/modules/README.md b/src/modules/README.md similarity index 97% rename from modules/README.md rename to src/modules/README.md index 7463e5c..94290c0 100644 --- a/modules/README.md +++ b/src/modules/README.md @@ -11,7 +11,7 @@ A simple template for a module could be: ```python #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from protocol.messages import * +from src.protocol.messages import * class MyExampleModule: diff --git a/modules/_enable_log_mixin.py b/src/modules/_enable_log_mixin.py similarity index 98% rename from modules/_enable_log_mixin.py rename to src/modules/_enable_log_mixin.py index 077b831..d506abc 100644 --- a/modules/_enable_log_mixin.py +++ b/src/modules/_enable_log_mixin.py @@ -2,8 +2,8 @@ #-*- encoding: Utf-8 -*- from struct import pack, unpack_from, calcsize from logging import warning, info -from protocol.log_types import * -from protocol.messages import * +from src.protocol.log_types import * +from src.protocol.messages import * from time import sleep """ diff --git a/modules/_utils.py b/src/modules/_utils.py similarity index 100% rename from modules/_utils.py rename to src/modules/_utils.py diff --git a/modules/cli.py b/src/modules/cli.py similarity index 100% rename from modules/cli.py rename to src/modules/cli.py diff --git a/modules/decoded_sibs_dump.py b/src/modules/decoded_sibs_dump.py similarity index 99% rename from modules/decoded_sibs_dump.py rename to src/modules/decoded_sibs_dump.py index e215d97..7cc64cf 100644 --- a/modules/decoded_sibs_dump.py +++ b/src/modules/decoded_sibs_dump.py @@ -3,7 +3,7 @@ from pycrate_core.utils import pack_val, TYPE_UINT from collections import defaultdict, namedtuple from pycrate_asn1dir import RRC3G -from protocol.log_types import * +from src.protocol.log_types import * from traceback import format_exc from struct import pack, unpack from logging import warning @@ -11,7 +11,7 @@ RRC3G.ASN1Obj._SILENT = True -from modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING +from src.modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING """ This module decodes SIBs from 3G RRC frames, independantly of the input diff --git a/modules/dlf_dump.py b/src/modules/dlf_dump.py similarity index 83% rename from modules/dlf_dump.py rename to src/modules/dlf_dump.py index 457971f..f56582a 100644 --- a/modules/dlf_dump.py +++ b/src/modules/dlf_dump.py @@ -1,8 +1,8 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from modules._enable_log_mixin import EnableLogMixin -from protocol.gsmtap import build_gsmtap_ip -from protocol.log_types import * +from src.modules._enable_log_mixin import EnableLogMixin +from src.protocol.gsmtap import build_gsmtap_ip +from src.protocol.log_types import * from struct import pack, unpack """ diff --git a/modules/efs_shell.py b/src/modules/efs_shell.py similarity index 97% rename from modules/efs_shell.py rename to src/modules/efs_shell.py index ffeae0c..e4c58dd 100644 --- a/modules/efs_shell.py +++ b/src/modules/efs_shell.py @@ -8,10 +8,10 @@ from shutil import which from shlex import split -from inputs._base_input import BaseInput -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import BaseInput +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * from .efs_shell_commands._base_efs_shell_command import BaseEfsShellCommand from .efs_shell_commands.device_info import DeviceInfoCommand diff --git a/modules/efs_shell_commands/_base_efs_shell_command.py b/src/modules/efs_shell_commands/_base_efs_shell_command.py similarity index 100% rename from modules/efs_shell_commands/_base_efs_shell_command.py rename to src/modules/efs_shell_commands/_base_efs_shell_command.py diff --git a/modules/efs_shell_commands/cat.py b/src/modules/efs_shell_commands/cat.py similarity index 97% rename from modules/efs_shell_commands/cat.py rename to src/modules/efs_shell_commands/cat.py index 01e0f9d..bbaf0e5 100644 --- a/modules/efs_shell_commands/cat.py +++ b/src/modules/efs_shell_commands/cat.py @@ -5,13 +5,13 @@ from struct import pack, unpack, calcsize from typing import List, Dict, Optional from datetime import datetime +from os import strerror from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * -from os import strerror +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class CatCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/chmod.py b/src/modules/efs_shell_commands/chmod.py similarity index 97% rename from modules/efs_shell_commands/chmod.py rename to src/modules/efs_shell_commands/chmod.py index a077c58..3721919 100644 --- a/modules/efs_shell_commands/chmod.py +++ b/src/modules/efs_shell_commands/chmod.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class ChmodCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/device_info.py b/src/modules/efs_shell_commands/device_info.py similarity index 93% rename from modules/efs_shell_commands/device_info.py rename to src/modules/efs_shell_commands/device_info.py index 9ebadd2..a85678d 100644 --- a/modules/efs_shell_commands/device_info.py +++ b/src/modules/efs_shell_commands/device_info.py @@ -9,10 +9,10 @@ from random import randint from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class DeviceInfoCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/get.py b/src/modules/efs_shell_commands/get.py similarity index 96% rename from modules/efs_shell_commands/get.py rename to src/modules/efs_shell_commands/get.py index b671633..eac865e 100644 --- a/modules/efs_shell_commands/get.py +++ b/src/modules/efs_shell_commands/get.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class GetCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/ln.py b/src/modules/efs_shell_commands/ln.py similarity index 91% rename from modules/efs_shell_commands/ln.py rename to src/modules/efs_shell_commands/ln.py index 27b4d6e..2a10f42 100644 --- a/modules/efs_shell_commands/ln.py +++ b/src/modules/efs_shell_commands/ln.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class LnCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/ls.py b/src/modules/efs_shell_commands/ls.py similarity index 97% rename from modules/efs_shell_commands/ls.py rename to src/modules/efs_shell_commands/ls.py index 0184d90..306b6a0 100644 --- a/modules/efs_shell_commands/ls.py +++ b/src/modules/efs_shell_commands/ls.py @@ -7,10 +7,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * from os import strerror class LsCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/md5sum.py b/src/modules/efs_shell_commands/md5sum.py similarity index 92% rename from modules/efs_shell_commands/md5sum.py rename to src/modules/efs_shell_commands/md5sum.py index 1e958f2..2acbd2e 100644 --- a/modules/efs_shell_commands/md5sum.py +++ b/src/modules/efs_shell_commands/md5sum.py @@ -9,10 +9,10 @@ from random import randint from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class Md5sumCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/mkdir.py b/src/modules/efs_shell_commands/mkdir.py similarity index 91% rename from modules/efs_shell_commands/mkdir.py rename to src/modules/efs_shell_commands/mkdir.py index fe22e6b..7665485 100644 --- a/modules/efs_shell_commands/mkdir.py +++ b/src/modules/efs_shell_commands/mkdir.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class MkdirCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/mv.py b/src/modules/efs_shell_commands/mv.py similarity index 91% rename from modules/efs_shell_commands/mv.py rename to src/modules/efs_shell_commands/mv.py index 7869510..a3e7064 100644 --- a/modules/efs_shell_commands/mv.py +++ b/src/modules/efs_shell_commands/mv.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class MvCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/put.py b/src/modules/efs_shell_commands/put.py similarity index 97% rename from modules/efs_shell_commands/put.py rename to src/modules/efs_shell_commands/put.py index e7d1aeb..654f0b4 100644 --- a/modules/efs_shell_commands/put.py +++ b/src/modules/efs_shell_commands/put.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class PutCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/rm.py b/src/modules/efs_shell_commands/rm.py similarity index 94% rename from modules/efs_shell_commands/rm.py rename to src/modules/efs_shell_commands/rm.py index 607f8e3..ddda778 100644 --- a/modules/efs_shell_commands/rm.py +++ b/src/modules/efs_shell_commands/rm.py @@ -9,10 +9,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * class RmCommand(BaseEfsShellCommand): diff --git a/modules/efs_shell_commands/stat.py b/src/modules/efs_shell_commands/stat.py similarity index 96% rename from modules/efs_shell_commands/stat.py rename to src/modules/efs_shell_commands/stat.py index 08e4cef..a1250ad 100644 --- a/modules/efs_shell_commands/stat.py +++ b/src/modules/efs_shell_commands/stat.py @@ -7,10 +7,10 @@ from datetime import datetime from ._base_efs_shell_command import BaseEfsShellCommand -from inputs._base_input import message_id_to_name -from protocol.subsystems import * -from protocol.messages import * -from protocol.efs2 import * +from src.inputs._base_input import message_id_to_name +from src.protocol.subsystems import * +from src.protocol.messages import * +from src.protocol.efs2 import * from os import strerror class StatCommand(BaseEfsShellCommand): diff --git a/modules/info.py b/src/modules/info.py similarity index 99% rename from modules/info.py rename to src/modules/info.py index 182ce04..d525543 100644 --- a/modules/info.py +++ b/src/modules/info.py @@ -6,7 +6,7 @@ from time import sleep from ctypes import * -from protocol.messages import * +from src.protocol.messages import * """ This module exposes a class from which a module may inherit in order to diff --git a/modules/json_geo_dump.py b/src/modules/json_geo_dump.py similarity index 93% rename from modules/json_geo_dump.py rename to src/modules/json_geo_dump.py index d6ae08b..23da849 100644 --- a/modules/json_geo_dump.py +++ b/src/modules/json_geo_dump.py @@ -1,14 +1,14 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from protocol.gsmtap import build_gsmtap_ip -from protocol.log_types import * +from src.protocol.gsmtap import build_gsmtap_ip +from src.protocol.log_types import * from struct import pack, unpack from base64 import b64encode from subprocess import run from json import dumps from time import time -from modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING +from src.modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING """ This module registers various diag LOG events, and generates a JSON file diff --git a/modules/memory_dump.py b/src/modules/memory_dump.py similarity index 99% rename from modules/memory_dump.py rename to src/modules/memory_dump.py index 302140a..43ce273 100644 --- a/modules/memory_dump.py +++ b/src/modules/memory_dump.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- from struct import pack, unpack_from, calcsize -from protocol.messages import * +from src.protocol.messages import * from datetime import datetime from struct import unpack from enum import IntEnum diff --git a/modules/pcap_dump.py b/src/modules/pcap_dump.py similarity index 99% rename from modules/pcap_dump.py rename to src/modules/pcap_dump.py index 4c74633..c8ea9cb 100644 --- a/modules/pcap_dump.py +++ b/src/modules/pcap_dump.py @@ -1,7 +1,5 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING -from modules.decoded_sibs_dump import DecodedSibsDumper from struct import pack, unpack, unpack_from, calcsize from subprocess import Popen, PIPE, DEVNULL, STDOUT from os.path import expandvars, dirname, realpath @@ -12,6 +10,9 @@ from sys import platform import gzip +from src.modules._enable_log_mixin import EnableLogMixin, TYPES_FOR_RAW_PACKET_LOGGING +from src.modules.decoded_sibs_dump import DecodedSibsDumper + MODULES_DIR = realpath(dirname(__file__)) SRC_WIRESHARK_PLUGIN_DIR = realpath(MODULES_DIR + '/wireshark_plugin') @@ -24,8 +25,8 @@ except Exception: IS_UNIX = False -from protocol.log_types import * -from protocol.gsmtap import * +from src.protocol.log_types import * +from src.protocol.gsmtap import * """ This module registers various diag LOG events, and tries to generate a diff --git a/modules/wireshark_plugin/diag_nr_rrc_dissector.lua b/src/modules/wireshark_plugin/diag_nr_rrc_dissector.lua similarity index 100% rename from modules/wireshark_plugin/diag_nr_rrc_dissector.lua rename to src/modules/wireshark_plugin/diag_nr_rrc_dissector.lua diff --git a/protocol/README.md b/src/protocol/README.md similarity index 100% rename from protocol/README.md rename to src/protocol/README.md diff --git a/protocol/efs2.py b/src/protocol/efs2.py similarity index 100% rename from protocol/efs2.py rename to src/protocol/efs2.py diff --git a/protocol/gsmtap.py b/src/protocol/gsmtap.py similarity index 100% rename from protocol/gsmtap.py rename to src/protocol/gsmtap.py diff --git a/protocol/log_types.py b/src/protocol/log_types.py similarity index 100% rename from protocol/log_types.py rename to src/protocol/log_types.py diff --git a/protocol/messages.py b/src/protocol/messages.py similarity index 100% rename from protocol/messages.py rename to src/protocol/messages.py diff --git a/protocol/subsystems.py b/src/protocol/subsystems.py similarity index 100% rename from protocol/subsystems.py rename to src/protocol/subsystems.py diff --git a/tests/tests.py b/tests/tests.py new file mode 100755 index 0000000..2bd4d44 --- /dev/null +++ b/tests/tests.py @@ -0,0 +1,14 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- +from unittest import main, TestLoader, TextTestRunner + +""" + Doc.: https://docs.python.org/3/library/unittest.html +""" + +loader = TestLoader() +runner = TextTestRunner(verbosity = 2) + +import tests_usbmodem_argparser +suite = loader.loadTestsFromModule(tests_usbmodem_argparser) +runner.run(suite) \ No newline at end of file diff --git a/tests/tests_usbmodem_argparser.py b/tests/tests_usbmodem_argparser.py new file mode 100644 index 0000000..b4ebc00 --- /dev/null +++ b/tests/tests_usbmodem_argparser.py @@ -0,0 +1,73 @@ +#!/usr/bin/python3 +#-*- encoding: Utf-8 -*- +from os.path import dirname, realpath +from unittest import TestCase + +TESTS_DIR = dirname(realpath(__file__)) +ROOT_DIR = dirname(TESTS_DIR) + +import sys +sys.path.insert(0, ROOT_DIR) + +from src.inputs.usb_modem_argparser import UsbModemArgParser, \ + UsbModemArgType + +""" + This file is an include file. + + It should be run from the "tests.py" entry point + located into the current directory + + It contains the tests for the + "src/inputs/usb_modem_argparser.py" file. +""" + +class UsbmodemArgparserTests(TestCase): + + def test_arg_parsing_invalid(self): + test_case = UsbModemArgParser('xxxxx:x') + self.assertEqual(test_case.pyserial_device, None) + + test_case = UsbModemArgParser('00:00:0:0') + self.assertEqual(test_case.pyserial_device, None) + + def test_arg_parsing_valid(self): + + test_case = UsbModemArgParser('COM9') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyserial_dev) + self.assertEqual(test_case.pyserial_device, 'COM9') + + test_case = UsbModemArgParser('/dev/ttyHS2') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyserial_dev) + self.assertEqual(test_case.pyserial_device, '/dev/ttyHS2') + + test_case = UsbModemArgParser('/dev/tty.usbserial') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyserial_dev) + self.assertEqual(test_case.pyserial_device, '/dev/tty.usbserial') + + test_case = UsbModemArgParser('1d6b:0003') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyusb_vid_pid) + self.assertEqual(test_case.pyusb_vid, 0x1d6b) + self.assertEqual(test_case.pyusb_pid, 0x0003) + + test_case = UsbModemArgParser('1d6b:0003:0:9') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyusb_vid_pid_cfg_intf) + self.assertEqual(test_case.pyusb_vid, 0x1d6b) + self.assertEqual(test_case.pyusb_pid, 0x0003) + self.assertEqual(test_case.pyusb_cfg, 0) + self.assertEqual(test_case.pyusb_intf, 9) + + test_case = UsbModemArgParser('001:009') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyusb_bus_device) + self.assertEqual(test_case.pyusb_bus, 1) + self.assertEqual(test_case.pyusb_device, 9) + + test_case = UsbModemArgParser('001:009:0:9') + self.assertEqual(test_case.arg_type, UsbModemArgType.pyusb_bus_device_cfg_intf) + self.assertEqual(test_case.pyusb_bus, 1) + self.assertEqual(test_case.pyusb_device, 9) + self.assertEqual(test_case.pyusb_cfg, 0) + self.assertEqual(test_case.pyusb_intf, 9) + + test_case = UsbModemArgParser('auto') + self.assertTrue(test_case.pyusb_auto) From 1ff9b409ed87436f0345ce6293b9449b73512996 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 8 Dec 2023 17:00:59 +0100 Subject: [PATCH 31/86] origin/2023-update-android-13-14-support: Push the work-in-progress changes onto QCSuper for Android 12-14/kernel 4.14+ support, continuing to establish and implement the criteria for matching USB device interfaces matching QC Diag endpoints --- README.md | 93 ++++++++++++------------ qcsuper.py | 9 ++- src/inputs/_base_input.py | 4 +- src/inputs/_hdlc_mixin.py | 4 +- src/inputs/usb_modem_pyusb.py | 25 ++++--- src/inputs/usb_modem_pyusb_devfinder.py | 96 +++++++++++++++++++++++++ 6 files changed, 166 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 609a74b..5df0340 100644 --- a/README.md +++ b/README.md @@ -150,77 +150,70 @@ $ sudo ./qcsuper.py --usb-modem /dev/ttyHS2 --wireshark-live Here is the current usage notice for QCSuper: ``` -usage: qcsuper.py [-h] [--cli] [--efs-shell] [-v] - (--adb | --usb-modem TTY_DEV | --dlf-read DLF_FILE | --json-geo-read JSON_FILE) - [--info] [--pcap-dump PCAP_FILE] [--wireshark-live] - [--memory-dump OUTPUT_DIR] [--dlf-dump DLF_FILE] - [--json-geo-dump JSON_FILE] [--decoded-sibs-dump] - [--reassemble-sibs] [--decrypt-nas] [--include-ip-traffic] - [--start MEMORY_START] [--stop MEMORY_STOP] - -A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or -DM). - -optional arguments: +usage: qcsuper.py [-h] [--cli] [--efs-shell] [-v] (--adb | --adb-wsl2 ADB_WSL2 | --usb-modem TTY_DEV | --dlf-read DLF_FILE | --json-geo-read JSON_FILE) [--info] + [--pcap-dump PCAP_FILE] [--wireshark-live] [--memory-dump OUTPUT_DIR] [--dlf-dump DLF_FILE] [--json-geo-dump JSON_FILE] [--decoded-sibs-dump] + [--reassemble-sibs] [--decrypt-nas] [--include-ip-traffic] [--start MEMORY_START] [--stop MEMORY_STOP] + +A tool for communicating with the Qualcomm DIAG protocol (also called QCDM or DM). + +options: -h, --help show this help message and exit - --cli Use a command prompt, allowing for interactive - completion of commands. - --efs-shell Spawn an interactive shell to navigate within the - embedded filesystem (EFS) of the baseband device. + --cli Use a command prompt, allowing for interactive completion of commands. + --efs-shell Spawn an interactive shell to navigate within the embedded filesystem (EFS) of the baseband device. -v, --verbose Add output for each received or sent Diag packet. Input mode: Choose an one least input mode for DIAG data. - --adb Use a rooted Android phone with USB debugging enabled - as input (requires adb). - --adb-wsl2 ADB_WSL2 Unix path to the Windows adb executable. Equivalent of - --adb command but with WSL2/Windows interoperability. - --usb-modem TTY_DEV Use an USB modem exposing a DIAG pseudo-serial port - through USB. - --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling - interoperability with vendor software. + --adb Use a rooted Android phone with USB debugging enabled as input (requires adb). + --adb-wsl2 ADB_WSL2 Unix path to the Windows adb executable. Equivalent of --adb command but with WSL2/Windows interoperability. + --usb-modem TTY_DEV Use an USB modem exposing a DIAG pseudo-serial port through USB. + Possible syntaxes: + - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}" + - COM port identifier (Windows): "COM{0-9}" + - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional configuration + ID/optional interface ID) format in hexa: e.g. "05c6:9091" or "05c6:9091:0:0" + (vid and pid are four zero-padded hex digits, cfg and intf are zero-indexed + or guessed using the criteria specified for "auto" below if not specified) + - "bus:dev[:cfg:intf]" (USB bus/device/optional configuration ID/optional + interface ID) format in decimal: e.g "001:003" or "001:003:0:3" (bus and + dev are three zero-padded digits, cfg and intf are zero-indexed) + - "auto": Use the first device interface in the system found where the + following criteria is matched, by order of preference: + - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2 + - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48 + - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2 + - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255 + --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software. --json-geo-read JSON_FILE Read a JSON file generated using --json-geo-dump. Modules: - Modules writing to a file will append when it already exists, and consider - it Gzipped if their name contains ".gz". + Modules writing to a file will append when it already exists, and consider it Gzipped if their name contains ".gz". --info Read generic information about the baseband device. --pcap-dump PCAP_FILE - Generate a PCAP file containing GSMTAP frames for - 2G/3G/4G, to be loaded using Wireshark. - --wireshark-live Same as --pcap-dump, but directly spawn a Wireshark - instance. + Generate a PCAP file containing GSMTAP frames for 2G/3G/4G, to be loaded using Wireshark. + --wireshark-live Same as --pcap-dump, but directly spawn a Wireshark instance. --memory-dump OUTPUT_DIR - Dump the memory of the device (may not or partially - work with recent devices). - --dlf-dump DLF_FILE Generate a DLF file to be loaded using QCSuper or - QXDM, with network protocols logging. + Dump the memory of the device (may not or partially work with recent devices). + --dlf-dump DLF_FILE Generate a DLF file to be loaded using QCSuper or QXDM, with network protocols logging. --json-geo-dump JSON_FILE - Generate a JSON file containing both raw log frames - and GPS coordinates, for further reprocessing. To be - used in combination with --adb. - --decoded-sibs-dump Print decoded SIBs to stdout (experimental, requires - pycrate). + Generate a JSON file containing both raw log frames and GPS coordinates, for further reprocessing. To be used in combination with --adb. + --decoded-sibs-dump Print decoded SIBs to stdout (experimental, requires pycrate). PCAP generation options: To be used along with --pcap-dump or --wireshark-live. - --reassemble-sibs Include reassembled UMTS SIBs as supplementary frames, - also embedded fragmented in RRC frames. - --decrypt-nas Include unencrypted LTE NAS as supplementary frames, - also embedded ciphered in RRC frames. + --reassemble-sibs Include reassembled UMTS SIBs as supplementary frames, also embedded fragmented in RRC frames. + --decrypt-nas Include unencrypted LTE NAS as supplementary frames, also embedded ciphered in RRC frames. --include-ip-traffic Include unframed IP traffic from the UE. Memory dumping options: To be used along with --memory-dump. - --start MEMORY_START Offset at which to start to dump memory (hex number), - by default 00000000. - --stop MEMORY_STOP Offset at which to stop to dump memory (hex number), - by default ffffffff. + --start MEMORY_START Offset at which to start to dump memory (hex number), by default 00000000. + --stop MEMORY_STOP Offset at which to stop to dump memory (hex number), by default ffffffff. ``` Specifying `-` to pipe data from stdin or towards stdout is supported (gzipped content may not be detected). @@ -311,7 +304,11 @@ Device Descriptor: QCSuper allows you to manually select the index of the configuration and the interface you are wishing to attempt to connect to on the concerned device, in the case where it isn't detected correctly. For example, the `--usb-modem 05c6:9091:0:0` flag will select respectively the first configuration and the first interface on the concerned device (these indexes are zero-indexed). `--usb-modem 05c6:9091:1:4` will select the fifth interface over the second configuration. -If the configuration and interface indexes detail isn't specified, it will select either the first interface descriptor where `bInterfaceProtocol=48` or alternately where `bInterfaceClass` and `bInterfaceSubClass` both equal 255. +If the configuration and interface indexes detail isn't specified, it will select the first interface descriptor on the system USB bus which is found to match the following criteria, by order of preference: +* `bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2` +* `bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48` +* `bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2` +* `bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255` When using the `--usb-modem auto` flag, either the first device exposing an USB interface compilant with this criteria is picked, or the first device matching the `/dev/ttyUSB*` (`usbserial` module) or `/dev/ttyHS*` (`hso` module) is selected (see the "Using QCSuper with an USB modem" section below). diff --git a/qcsuper.py b/qcsuper.py index 6c905b9..d4850bd 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -48,9 +48,12 @@ ' - "bus:dev[:cfg:intf]" (USB bus/device/optional configuration ID/optional\n' + ' interface ID) format in decimal: e.g "001:003" or "001:003:0:3" (bus and\n' + ' dev are three zero-padded digits, cfg and intf are zero-indexed)\n' + - ' - "auto": Use the first device endpoint in the system where bInterfaceProtocol==48,\n' + - ' or the first endpoint where bInterfaceClass/bInterfaceSubClass=255/255, or the first\n' + - ' /dev/tty{HS,USB}* device') + ' - "auto": Use the first device interface in the system found where the\n' + + ' following criteria is matched, by order of preference:\n' + + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2\n' + + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48\n' + + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2\n' + + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') diff --git a/src/inputs/_base_input.py b/src/inputs/_base_input.py index 386be0b..864ab3c 100644 --- a/src/inputs/_base_input.py +++ b/src/inputs/_base_input.py @@ -473,10 +473,10 @@ def dispose(self, disposing=True): def __del__(self): self.dispose(disposing=False) -import protocol.messages +import src.protocol.messages message_id_to_name = { value: key - for key, value in protocol.messages.__dict__.items() + for key, value in src.protocol.messages.__dict__.items() if key.startswith('DIAG_') } diff --git a/src/inputs/_hdlc_mixin.py b/src/inputs/_hdlc_mixin.py index 9973f99..0158b9d 100644 --- a/src/inputs/_hdlc_mixin.py +++ b/src/inputs/_hdlc_mixin.py @@ -96,11 +96,11 @@ class InvalidFrameError(Exception): pass -import protocol.messages +import src.protocol.messages message_id_to_name = { value: key - for key, value in protocol.messages.__dict__.items() + for key, value in src.protocol.messages.__dict__.items() if key.startswith('DIAG_') } diff --git a/src/inputs/usb_modem_pyusb.py b/src/inputs/usb_modem_pyusb.py index 884294b..2470f69 100644 --- a/src/inputs/usb_modem_pyusb.py +++ b/src/inputs/usb_modem_pyusb.py @@ -4,7 +4,8 @@ from src.inputs.usb_modem_argparser import UsbModemArgParser, \ UsbModemArgType -from src.inputs.usb_modem_pyusb_devfinder import XX +from src.inputs.usb_modem_pyusb_devfinder import PyusbDevfinderMatch, \ + PyusbDevfinder, PyusbDevNotFound from src.inputs._hdlc_mixin import HdlcMixin from src.inputs._base_input import BaseInput @@ -14,15 +15,19 @@ class UsbModemPyusbConnector(HdlcMixin, BaseInput): def __init__(self, usb_arg : UsbModemArgParser): if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: - - elif usb_arg.arg_type == UsbModemArgType.XX: - - elif usb_arg.arg_type == UsbModemArgType.XX: - + WIP + elif usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid_cfg_intf: + WIP + elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device: + XX + elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device_cfg_intf: + XX + elif usb_arg.arg_type == UsbModemArgType.auto: + XX#: Call "UsbModemPyusbDevfinder.XX" here else: assert False # unreachable - XX TO BE IMPLEMENTED + XX# TO BE IMPLEMENTED self.received_first_packet = False @@ -30,18 +35,18 @@ def __init__(self, usb_arg : UsbModemArgParser): def __del__(self): - XX TO BE IMPLEMENTED + XX# TO BE IMPLEMENTED def send_request(self, packet_type, packet_payload): raw_payload = self.hdlc_encapsulate(bytes([packet_type]) + packet_payload) - XX TO BE IMPLEMENTED.write(raw_payload) + XX# TO BE IMPLEMENTED.write(raw_payload) def read_loop(self): while True: - XX TO BE IMPLEMENTED + XX# TO BE IMPLEMENTED self.dispatch_received_diag_packet(unframed_message) \ No newline at end of file diff --git a/src/inputs/usb_modem_pyusb_devfinder.py b/src/inputs/usb_modem_pyusb_devfinder.py index b6cbe33..94d3fc4 100644 --- a/src/inputs/usb_modem_pyusb_devfinder.py +++ b/src/inputs/usb_modem_pyusb_devfinder.py @@ -1,2 +1,98 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- +from usb.core import find, Device, Configuration, Interface, USBError +from typing import Optional, Union, Dict, List, Sequence, Set, Any +from usb.util import find_descriptor + +""" + This class contains a collection of methods that will + return a "PyusbDevfinderMatch" object embedding a pair + of "Device, Configuration, Interface" objects if an + USB device interface matching the given criteria (please + see the documentation of the "--usb-modem" option of + QCSuper for more detail about this) is found, or + a "PyusbDevfinderMatch" object embedding a + "PyusbDevNotFoundReason" code otherwise. +""" + +class PyusbDevNotFoundReason: + vid_pid_not_found = 1 + bus_device_not_found = 2 + cfg_code_not_found = 3 + intf_code_not_found = 4 + intf_criteria_not_guessed = 5 + auto_criteria_did_not_match = 6 + +class PyusbDevfinderMatch: + + device : Optional[Device] = None + configuration : Optional[Configuration] = None + interface : Optional[Interface] = None + not_found_reason : Optional[PyusbDevNotFoundReason] = None + +class PyusbDevNotFound(Exception): + pass + +# Preferred rules for detecting an USB device interface +# potentially corresponding to a QC Diag interface: +DEV_FINDER_RULES_SET = [ + dict(bInterfaceClass = 255, bInterfaceSubClass = 255, + bInterfaceProtocol = 48, bNumEndpoints = 2), + dict(bInterfaceClass = 255, bInterfaceSubClass = 255, + bInterfaceProtocol = 48), + dict(bInterfaceClass = 255, bInterfaceSubClass = 255, + bInterfaceProtocol = 255, bNumEndpoints = 2), + dict(bInterfaceClass = 255, bInterfaceSubClass = 255, + bInterfaceProtocol = 255) +] + +class PyusbDevfinder: + + @staticmethod + def find_by_vid_pid(vid : int, pid : int, cfg_idx : int = None, + intf_idx : int = None) -> Optional[PyusbDevfinderMatch]: + + retval = PyusbDevfinderMatch() + + retval.device : Optional[Device] = find(idVendor = vid, idProduct = pid) + if not retval.device: + retval.not_found_reason = PyusbDevNotFoundReason.vid_pid_not_found + + else: + if cfg_idx is None or intf_idx is None: + + for ruleset in DEV_FINDER_RULES_SET: + retval.interface : Optional[Interface] = next( + (find_descriptor(configuration, **ruleset) + for configuration in retval.device.configurations()), + None + ) + if retval.interface: + retval.configuation = retval.device[retval.interface.configuration] + break + else: + retval.not_found_reason = PyusbDevNotFoundReason.intf_criteria_not_guessed + else: + try: + retval.configuration = retval.device[cfg_idx] + try: + retval.interface = retval.configuration[intf_idx] + except USBError: + retval.not_found_reason = PyusbDevNotFoundReason.intf_code_not_found + except USBError: + retval.not_found_reason = PyusbDevNotFoundReason.cfg_code_not_found + + return retval + + @staticmethod + def find_by_bus_device(bus_id : int, device_id : int, cfg_idx : int = None, + intf_idx : int = None) -> Optional[PyusbDevfinderMatch]: + + XX# WIP + + @staticmethod + def find_auto() -> Optional[PyusbDevfinderMatch]: + + XX# WIP + + From d3a506fbcceab43cd4e966d06cdbd0706f0b2dd6 Mon Sep 17 00:00:00 2001 From: Marin Date: Mon, 11 Dec 2023 17:50:57 +0100 Subject: [PATCH 32/86] 2023-update-android-13-14-support: Push basic functional code for communicating directly through the "--usb-modem" option with devices that aren't handled natively by the "usbserial" module under Linux --- README.md | 2 - qcsuper.py | 4 +- src/inputs/usb_modem_pyserial.py | 2 +- src/inputs/usb_modem_pyusb.py | 104 ++++++++++++++--- src/inputs/usb_modem_pyusb_devfinder.py | 142 +++++++++++++++--------- 5 files changed, 183 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index 5df0340..fd309eb 100644 --- a/README.md +++ b/README.md @@ -181,9 +181,7 @@ Input mode: - "auto": Use the first device interface in the system found where the following criteria is matched, by order of preference: - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2 - - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48 - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2 - - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255 --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software. --json-geo-read JSON_FILE Read a JSON file generated using --json-geo-dump. diff --git a/qcsuper.py b/qcsuper.py index d4850bd..171da21 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -51,9 +51,7 @@ ' - "auto": Use the first device interface in the system found where the\n' + ' following criteria is matched, by order of preference:\n' + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2\n' + - ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48\n' + - ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2\n' + - ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255') + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') diff --git a/src/inputs/usb_modem_pyserial.py b/src/inputs/usb_modem_pyserial.py index 7ca4fe0..4f9d408 100644 --- a/src/inputs/usb_modem_pyserial.py +++ b/src/inputs/usb_modem_pyserial.py @@ -224,7 +224,7 @@ def read_loop(self): while True: - # Read more bytes until a trailed character is found + # Read more bytes until a trailer character is found raw_payload = b'' diff --git a/src/inputs/usb_modem_pyusb.py b/src/inputs/usb_modem_pyusb.py index 2470f69..2ed7458 100644 --- a/src/inputs/usb_modem_pyusb.py +++ b/src/inputs/usb_modem_pyusb.py @@ -4,30 +4,58 @@ from src.inputs.usb_modem_argparser import UsbModemArgParser, \ UsbModemArgType -from src.inputs.usb_modem_pyusb_devfinder import PyusbDevfinderMatch, \ - PyusbDevfinder, PyusbDevNotFound +from src.inputs.usb_modem_pyusb_devfinder import PyusbDevInterface, \ + PyusbDevNotFoundReason from src.inputs._hdlc_mixin import HdlcMixin from src.inputs._base_input import BaseInput +from usb.util import dispose_resources +from usb.core import USBError +from typing import Optional + class UsbModemPyusbConnector(HdlcMixin, BaseInput): + dev_intf : Optional[PyusbDevInterface] = None + def __init__(self, usb_arg : UsbModemArgParser): if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: - WIP + self.dev_intf = PyusbDevInterface.find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid) elif usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid_cfg_intf: - WIP + self.dev_intf = PyusbDevInterface.find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid, + usb_arg.pyusb_cfg, usb_arg.pyusb_intf) elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device: - XX + self.dev_intf = PyusbDevInterface.find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device) elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device_cfg_intf: - XX - elif usb_arg.arg_type == UsbModemArgType.auto: - XX#: Call "UsbModemPyusbDevfinder.XX" here + self.dev_intf = PyusbDevInterface.find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device, + usb_arg.pyusb_cfg, usb_arg.pyusb_intf) + elif usb_arg.arg_type == UsbModemArgType.pyusb_auto: + self.dev_intf = PyusbDevInterface.find_auto() else: assert False # unreachable - XX# TO BE IMPLEMENTED + if self.dev_intf.not_found_reason: + exit('[!] No Qualcomm Diag interface was found with the specified ' + + 'criteria. Please be more specific.') + # TODO: Print a more user-friendly message here? + + # TODO : Test with n devices... + + # print(self.dev_intf.interface) # DEBUG + # print(self.dev_intf.interface.__dict__) + try: + status = self.dev_intf.device.is_kernel_driver_active(self.dev_intf.interface.index) + except Exception: + pass + else: + if status: + exit('[!] The USB modem device seems to be taken by a kernel driver, such as "usbserial" ' + + 'or "hso". Please pass directly a device name using an option like "--usb-modem /dev/ttyUSB2" ' + + 'or "/dev/ttyHS0" (on Linux) or "COM0" (on Windows) if it applies, or unmount the corresponding ' + + 'driver.') + # self.dev_intf.device.set_configuration(self.dev_intf.configuration) # DEBUG Commented + # TODO : Handle non-root users? self.received_first_packet = False @@ -35,18 +63,68 @@ def __init__(self, usb_arg : UsbModemArgParser): def __del__(self): - XX# TO BE IMPLEMENTED + if self.dev_intf and self.dev_intf.device: + dispose_resources(self.dev_intf.device) + # XX# TO BE TESTED def send_request(self, packet_type, packet_payload): raw_payload = self.hdlc_encapsulate(bytes([packet_type]) + packet_payload) - XX# TO BE IMPLEMENTED.write(raw_payload) + try: + self.dev_intf.write_endpoint.write(raw_payload) + except USBError: + print("[!] Can't write to the USB device. Maybe that you need " + + "root/administrator privileges, or that the device was unplugged?") + # XX TO BE TESTED def read_loop(self): while True: - XX# TO BE IMPLEMENTED + # Read more bytes until a trailer character is found - self.dispatch_received_diag_packet(unframed_message) \ No newline at end of file + raw_payload = b'' + + while not raw_payload.endswith(self.TRAILER_CHAR): + + try: + data_read = bytes(self.dev_intf.read_endpoint.read(1024 * 1024 * 10)) + assert data_read + + except Exception: + print("[!] Can't read to the USB device. Maybe that you need " + + "root/administrator privileges, or that the device was " + + "unplugged?") + + exit() + + raw_payload += data_read + + # Decapsulate and dispatch + + if raw_payload == self.TRAILER_CHAR: + print('The modem seems to be unavailable.') + + exit() + + try: + + unframed_message = self.hdlc_decapsulate( + payload = raw_payload, + + raise_on_invalid_frame = not self.received_first_packet + ) + + except self.InvalidFrameError: + + # The first packet that we receive over the Diag input may + # be partial + + continue + + finally: + + self.received_first_packet = True + + self.dispatch_received_diag_packet(unframed_message) diff --git a/src/inputs/usb_modem_pyusb_devfinder.py b/src/inputs/usb_modem_pyusb_devfinder.py index 94d3fc4..05c49eb 100644 --- a/src/inputs/usb_modem_pyusb_devfinder.py +++ b/src/inputs/usb_modem_pyusb_devfinder.py @@ -1,8 +1,8 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from usb.core import find, Device, Configuration, Interface, USBError +from usb.util import find_descriptor, endpoint_direction, ENDPOINT_OUT, ENDPOINT_IN +from usb.core import find, Device, Configuration, Interface, Endpoint, USBError from typing import Optional, Union, Dict, List, Sequence, Set, Any -from usb.util import find_descriptor """ This class contains a collection of methods that will @@ -23,76 +23,114 @@ class PyusbDevNotFoundReason: intf_criteria_not_guessed = 5 auto_criteria_did_not_match = 6 -class PyusbDevfinderMatch: - - device : Optional[Device] = None - configuration : Optional[Configuration] = None - interface : Optional[Interface] = None - not_found_reason : Optional[PyusbDevNotFoundReason] = None - -class PyusbDevNotFound(Exception): - pass - # Preferred rules for detecting an USB device interface # potentially corresponding to a QC Diag interface: DEV_FINDER_RULES_SET = [ dict(bInterfaceClass = 255, bInterfaceSubClass = 255, bInterfaceProtocol = 48, bNumEndpoints = 2), dict(bInterfaceClass = 255, bInterfaceSubClass = 255, - bInterfaceProtocol = 48), - dict(bInterfaceClass = 255, bInterfaceSubClass = 255, - bInterfaceProtocol = 255, bNumEndpoints = 2), - dict(bInterfaceClass = 255, bInterfaceSubClass = 255, - bInterfaceProtocol = 255) + bInterfaceProtocol = 255, bNumEndpoints = 2) ] -class PyusbDevfinder: +class PyusbDevInterface: + + device : Optional[Device] = None + configuration : Optional[Configuration] = None + interface : Optional[Interface] = None + + read_endpoint : Optional[Endpoint] = None + write_endpoint : Optional[Endpoint] = None + + not_found_reason : Optional[PyusbDevNotFoundReason] = None - @staticmethod - def find_by_vid_pid(vid : int, pid : int, cfg_idx : int = None, - intf_idx : int = None) -> Optional[PyusbDevfinderMatch]: + @classmethod + def find_by_vid_pid(cls, vid : int, pid : int, cfg_idx : int = None, + intf_idx : int = None): - retval = PyusbDevfinderMatch() + self = cls() - retval.device : Optional[Device] = find(idVendor = vid, idProduct = pid) - if not retval.device: - retval.not_found_reason = PyusbDevNotFoundReason.vid_pid_not_found + self.device : Optional[Device] = find(idVendor = vid, idProduct = pid) + if not self.device: + self.not_found_reason = PyusbDevNotFoundReason.vid_pid_not_found else: - if cfg_idx is None or intf_idx is None: - - for ruleset in DEV_FINDER_RULES_SET: - retval.interface : Optional[Interface] = next( - (find_descriptor(configuration, **ruleset) - for configuration in retval.device.configurations()), - None - ) - if retval.interface: - retval.configuation = retval.device[retval.interface.configuration] - break - else: - retval.not_found_reason = PyusbDevNotFoundReason.intf_criteria_not_guessed + self._find_cfg_intf(cfg_idx, intf_idx) + + self._find_endpoints() + return self + + def _find_cfg_intf(self, cfg_idx : int = None, intf_idx = None): + + if cfg_idx is None or intf_idx is None: + + for ruleset in DEV_FINDER_RULES_SET: + self.interface : Optional[Interface] = next( + (find_descriptor(configuration, **ruleset) + for configuration in self.device.configurations()), + None + ) + if self.interface: + self.configuation = self.device[self.interface.configuration] + break else: + self.not_found_reason = PyusbDevNotFoundReason.intf_criteria_not_guessed + else: + try: + self.configuration = self.device[cfg_idx] try: - retval.configuration = retval.device[cfg_idx] - try: - retval.interface = retval.configuration[intf_idx] - except USBError: - retval.not_found_reason = PyusbDevNotFoundReason.intf_code_not_found + self.interface = self.configuration[intf_idx] except USBError: - retval.not_found_reason = PyusbDevNotFoundReason.cfg_code_not_found + self.not_found_reason = PyusbDevNotFoundReason.intf_code_not_found + except USBError: + self.not_found_reason = PyusbDevNotFoundReason.cfg_code_not_found - return retval + def _find_endpoints(self): + if self.interface: + self.read_endpoint = find_descriptor(self.interface, custom_match = + lambda endpoint: endpoint_direction(endpoint.bEndpointAddress) == + ENDPOINT_IN) + self.write_endpoint = find_descriptor(self.interface, custom_match = + lambda endpoint: endpoint_direction(endpoint.bEndpointAddress) == + ENDPOINT_OUT) - @staticmethod - def find_by_bus_device(bus_id : int, device_id : int, cfg_idx : int = None, - intf_idx : int = None) -> Optional[PyusbDevfinderMatch]: + @classmethod + def find_by_bus_device(cls, bus_id : int, device_id : int, cfg_idx : int = None, + intf_idx : int = None): - XX# WIP + self = cls() - @staticmethod - def find_auto() -> Optional[PyusbDevfinderMatch]: + self.device : Optional[Device] = find(bus = bus_id, address = device_id) + if not self.device: + self.not_found_reason = PyusbDevNotFoundReason.bus_device_not_found + + else: + self._find_cfg_intf(cfg_idx, intf_idx) + + self._find_endpoints() + return self + + @classmethod + def find_auto(cls): + + self = cls() + + for ruleset in DEV_FINDER_RULES_SET: + for device in find(find_all = True): + self.interface : Optional[Interface] = next( + (find_descriptor(configuration, **ruleset) + for configuration in device.configurations()), + None + ) + if self.interface: + self.device = device + self.configuation = self.device[self.interface.configuration] + break + if self.interface: + break + else: + self.not_found_reason = PyusbDevNotFoundReason.auto_criteria_did_not_match - XX# WIP + self._find_endpoints() + return self From b5c05bcf9235922b00735b1aa124843dba5f1386 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 13 Dec 2023 13:38:44 +0100 Subject: [PATCH 33/86] 2023-update-android-13-14-support: Implement code to automatically use the existing character device when a given USB-backed Diag device is already handled by an in-place kernel driver, such as usbserial or hso --- README.md | 18 +-- qcsuper.py | 31 ++-- src/inputs/usb_modem_pyusb.py | 32 +--- src/inputs/usb_modem_pyusb_devfinder.py | 195 ++++++++++++++++++++---- 4 files changed, 198 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index fd309eb..1e516a8 100644 --- a/README.md +++ b/README.md @@ -169,19 +169,19 @@ Input mode: --adb-wsl2 ADB_WSL2 Unix path to the Windows adb executable. Equivalent of --adb command but with WSL2/Windows interoperability. --usb-modem TTY_DEV Use an USB modem exposing a DIAG pseudo-serial port through USB. Possible syntaxes: - - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}" - - COM port identifier (Windows): "COM{0-9}" - - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional configuration - ID/optional interface ID) format in hexa: e.g. "05c6:9091" or "05c6:9091:0:0" - (vid and pid are four zero-padded hex digits, cfg and intf are zero-indexed - or guessed using the criteria specified for "auto" below if not specified) - - "bus:dev[:cfg:intf]" (USB bus/device/optional configuration ID/optional - interface ID) format in decimal: e.g "001:003" or "001:003:0:3" (bus and - dev are three zero-padded digits, cfg and intf are zero-indexed) - "auto": Use the first device interface in the system found where the following criteria is matched, by order of preference: - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2 - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2 + - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}" + - COM port identifier (Windows): "COM{0-9}" + - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional bConfigurationValue/optional + bInterfaceNumber) format in hexa: e.g. "05c6:9091" or "05c6:9091:1:0 (vid and pid + are four zero-padded hex digits, cfg and intf are canonical values from the USB + descriptor, or guessed using the criteria specified for "auto" above if not specified) + - "bus:dev[:cfg:intf]" (USB bus/device/optional bConfigurationValue/optional + bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and dev are + three zero-padded digits, cfg and intf are canonical values from the USB descriptor) --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software. --json-geo-read JSON_FILE Read a JSON file generated using --json-geo-dump. diff --git a/qcsuper.py b/qcsuper.py index 171da21..551745f 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -17,6 +17,7 @@ from src.inputs.json_geo_read import JsonGeoReader from src.inputs.usb_modem_pyserial import UsbModemPyserialConnector from src.inputs.usb_modem_pyusb import UsbModemPyusbConnector +from src.inputs.usb_modem_pyusb_devfinder import PyusbDevInterface, PyusbDevNotFoundReason from src.inputs.usb_modem_argparser import UsbModemArgParser, UsbModemArgType from src.inputs.dlf_read import DlfReader from src.inputs.adb import AdbConnector @@ -39,19 +40,19 @@ input_mode.add_argument('--adb-wsl2', action = 'store', default=None, help = 'Unix path to the Windows adb executable. Equivalent of --adb command but with WSL2/Windows interoperability.') input_mode.add_argument('--usb-modem', metavar = 'TTY_DEV', help = 'Use an USB modem exposing a DIAG pseudo-serial port through USB.\n' + 'Possible syntaxes:\n' + - ' - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}"\n' + - ' - COM port identifier (Windows): "COM{0-9}"\n' + - ' - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional configuration\n' + - ' ID/optional interface ID) format in hexa: e.g. "05c6:9091" or "05c6:9091:0:0"\n' + - ' (vid and pid are four zero-padded hex digits, cfg and intf are zero-indexed\n' + - ' or guessed using the criteria specified for "auto" below if not specified)\n' + - ' - "bus:dev[:cfg:intf]" (USB bus/device/optional configuration ID/optional\n' + - ' interface ID) format in decimal: e.g "001:003" or "001:003:0:3" (bus and\n' + - ' dev are three zero-padded digits, cfg and intf are zero-indexed)\n' + ' - "auto": Use the first device interface in the system found where the\n' + ' following criteria is matched, by order of preference:\n' + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=48/bNumEndpoints=2\n' + - ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2') + ' - bInterfaceClass=255/bInterfaceSubClass=255/bInterfaceProtocol=255/bNumEndpoints=2\n' + + ' - usbserial or hso device name (Linux/macOS): "/dev/tty{USB,HS,other}{0-9}"\n' + + ' - COM port identifier (Windows): "COM{0-9}"\n' + + ' - "vid:pid[:cfg:intf]" (vendor ID/product ID/optional bConfigurationValue/optional\n' + + ' bInterfaceNumber) format in hexa: e.g. "05c6:9091" or "05c6:9091:1:0 (vid and pid\n' + + ' are four zero-padded hex digits, cfg and intf are canonical values from the USB\n' + + ' descriptor, or guessed using the criteria specified for "auto" above if not specified)\n' + + ' - "bus:dev[:cfg:intf]" (USB bus/device/optional bConfigurationValue/optional\n' + + ' bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and dev are\n' + + ' three zero-padded digits, cfg and intf are canonical values from the USB descriptor)') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') @@ -100,7 +101,15 @@ elif usb_arg.arg_type == UsbModemArgType.pyserial_dev: diag_input = UsbModemPyserialConnector(usb_arg.pyserial_device) else: - diag_input = UsbModemPyusbConnector(usb_arg) + dev_intf = PyusbDevInterface(usb_arg) + if dev_intf.not_found_reason: + exit('[!] No Qualcomm Diag interface was found with the specified ' + + 'criteria. Please be more specific.') + # TODO: Print a more user-friendly message here? + elif dev_intf.chardev_if_mounted: + diag_input = UsbModemPyserialConnector(dev_intf.chardev_if_mounted) + else: + diag_input = UsbModemPyusbConnector(dev_intf) elif args.json_geo_read: diag_input = JsonGeoReader(args.json_geo_read) diff --git a/src/inputs/usb_modem_pyusb.py b/src/inputs/usb_modem_pyusb.py index 2ed7458..c7a334e 100644 --- a/src/inputs/usb_modem_pyusb.py +++ b/src/inputs/usb_modem_pyusb.py @@ -1,12 +1,7 @@ #!/usr/bin/python3 #-*- encoding: Utf-8 -*- -from src.inputs.usb_modem_argparser import UsbModemArgParser, \ - UsbModemArgType - -from src.inputs.usb_modem_pyusb_devfinder import PyusbDevInterface, \ - PyusbDevNotFoundReason - +from src.inputs.usb_modem_pyusb_devfinder import PyusbDevInterface from src.inputs._hdlc_mixin import HdlcMixin from src.inputs._base_input import BaseInput @@ -18,27 +13,9 @@ class UsbModemPyusbConnector(HdlcMixin, BaseInput): dev_intf : Optional[PyusbDevInterface] = None - def __init__(self, usb_arg : UsbModemArgParser): - - if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: - self.dev_intf = PyusbDevInterface.find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid) - elif usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid_cfg_intf: - self.dev_intf = PyusbDevInterface.find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid, - usb_arg.pyusb_cfg, usb_arg.pyusb_intf) - elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device: - self.dev_intf = PyusbDevInterface.find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device) - elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device_cfg_intf: - self.dev_intf = PyusbDevInterface.find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device, - usb_arg.pyusb_cfg, usb_arg.pyusb_intf) - elif usb_arg.arg_type == UsbModemArgType.pyusb_auto: - self.dev_intf = PyusbDevInterface.find_auto() - else: - assert False # unreachable + def __init__(self, dev_intf : PyusbDevInterface): - if self.dev_intf.not_found_reason: - exit('[!] No Qualcomm Diag interface was found with the specified ' + - 'criteria. Please be more specific.') - # TODO: Print a more user-friendly message here? + self.dev_intf = dev_intf # TODO : Test with n devices... @@ -93,9 +70,6 @@ def read_loop(self): assert data_read except Exception: - print("[!] Can't read to the USB device. Maybe that you need " + - "root/administrator privileges, or that the device was " + - "unplugged?") exit() diff --git a/src/inputs/usb_modem_pyusb_devfinder.py b/src/inputs/usb_modem_pyusb_devfinder.py index 05c49eb..dca078b 100644 --- a/src/inputs/usb_modem_pyusb_devfinder.py +++ b/src/inputs/usb_modem_pyusb_devfinder.py @@ -3,6 +3,12 @@ from usb.util import find_descriptor, endpoint_direction, ENDPOINT_OUT, ENDPOINT_IN from usb.core import find, Device, Configuration, Interface, Endpoint, USBError from typing import Optional, Union, Dict, List, Sequence, Set, Any +from os.path import exists, realpath, dirname, basename, islink +from os import listdir, scandir, readlink +from enum import IntEnum +from glob import glob + +from src.inputs.usb_modem_argparser import UsbModemArgParser, UsbModemArgType """ This class contains a collection of methods that will @@ -32,8 +38,127 @@ class PyusbDevNotFoundReason: bInterfaceProtocol = 255, bNumEndpoints = 2) ] +class SysbusMountType(IntEnum): + hsoserial_device = 1 + usbserial_device = 2 + +class SysbusMountEntry: + + mount_type : SysbusMountType + + vendor_id : int + product_id : int + + bus_number : int + dev_number : int + + configuration_id : int + + interface_number : int + interface_class : int + interface_subclass : int + interface_protocol : int + num_endpoints : int + + hsotype : Optional[str] = None + + sysbus_intf_path : str # XX + chardev_path : str + +class SysbusMountFinder: + + mount_entries : List[SysbusMountEntry] = None + + def __init__(self): + + self.mount_entries = [] + + for tty_dir in glob('/sys/bus/usb/devices/*/tty*'): + + intf_path = realpath(dirname(tty_dir)) + + if ':' in basename(intf_path) and exists(intf_path + '/bInterfaceClass'): + + dev_path = dirname(intf_path) + configuration_id = int(basename(intf_path).split(':')[1].split('.')[0], 10) + + with open(dev_path + '/idVendor') as fd: + vendor_id = int(fd.read().strip(), 16) + with open(dev_path + '/idProduct') as fd: + product_id = int(fd.read().strip(), 16) + + with open(dev_path + '/busnum') as fd: + bus_number = int(fd.read().strip(), 10) + with open(dev_path + '/devnum') as fd: + dev_number = int(fd.read().strip(), 10) + + with open(intf_path + '/bInterfaceNumber') as fd: + interface_number = int(fd.read().strip(), 16) + with open(intf_path + '/bInterfaceClass') as fd: + interface_class = int(fd.read().strip(), 16) + with open(intf_path + '/bInterfaceSubClass') as fd: + interface_subclass = int(fd.read().strip(), 16) + with open(intf_path + '/bInterfaceProtocol') as fd: + interface_protocol = int(fd.read().strip(), 16) + with open(intf_path + '/bNumEndpoints') as fd: + num_endpoints = int(fd.read().strip(), 16) + + if basename(tty_dir) != 'tty': + tty_subdirs = [tty_dir] + else: + tty_subdirs = [ + dir.path for dir in scandir(tty_dir) + ] + + for tty_subdir in tty_subdirs: + char_dev_name = basename(tty_subdir) + char_dev_path = '/dev/' + char_dev_name + + hsotype = None + if exists(tty_subdir + '/hsotype'): + with open(tty_subdir + '/hsotype') as fd: + hsotype = fd.read().strip() + + entry = SysbusMountEntry() + if char_dev_name.startswith('ttyHS'): + entry.mount_type = SysbusMountType.hsoserial_device + else: + entry.mount_type = SysbusMountType.usbserial_device + entry.vendor_id = vendor_id + entry.product_id = product_id + entry.bus_number = bus_number + entry.dev_number = dev_number + entry.configuration_id = configuration_id + entry.interface_number = interface_number + entry.interface_class = interface_class + entry.interface_subclass = interface_subclass + entry.interface_protocol = interface_protocol + entry.num_endpoints = num_endpoints + entry.hsotype = hsotype + entry.sysbus_intf_path = intf_path + entry.chardev_path = char_dev_path + + self.mount_entries.append(entry) + + + def find_entry(self, dev_intf : 'PyusbDevInterface') -> Optional[SysbusMountEntry]: + + for entry in self.mount_entries: + if (dev_intf.device.bus == entry.bus_number and + dev_intf.device.address == entry.dev_number and + # dev_intf.device.idVendor == entry.vendor_id and + # dev_intf.device.idProduct == entry.product_id and + dev_intf.configuration.bConfigurationValue == entry.configuration_id and + dev_intf.interface.bInterfaceNumber == entry.interface_number): + + return entry + + return None + class PyusbDevInterface: + chardev_if_mounted : Optional[str] = None # <-- WIP FILL THIS WHEN ACCURATE + device : Optional[Device] = None configuration : Optional[Configuration] = None interface : Optional[Interface] = None @@ -43,25 +168,44 @@ class PyusbDevInterface: not_found_reason : Optional[PyusbDevNotFoundReason] = None - @classmethod - def find_by_vid_pid(cls, vid : int, pid : int, cfg_idx : int = None, - intf_idx : int = None): + def __init__(self, usb_arg : UsbModemArgParser): + if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: + self._find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid) + + elif usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid_cfg_intf: + self._find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid, + usb_arg.pyusb_cfg, usb_arg.pyusb_intf) + + elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device: + self._find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device) + + elif usb_arg.arg_type == UsbModemArgType.pyusb_bus_device_cfg_intf: + self._find_by_bus_device(usb_arg.pyusb_bus, usb_arg.pyusb_device, + usb_arg.pyusb_cfg, usb_arg.pyusb_intf) + + elif usb_arg.arg_type == UsbModemArgType.pyusb_auto: + self._find_auto() + + else: + raise ValueError('Not a valid UsbModemArgType value') # unreachable + + if not self.not_found_reason: + self._find_endpoints() + self._find_char_dev() - self = cls() + def _find_by_vid_pid(self, vid : int, pid : int, cfg_id : int = None, + intf_id : int = None): self.device : Optional[Device] = find(idVendor = vid, idProduct = pid) if not self.device: self.not_found_reason = PyusbDevNotFoundReason.vid_pid_not_found else: - self._find_cfg_intf(cfg_idx, intf_idx) - - self._find_endpoints() - return self + self._find_cfg_intf(cfg_id, intf_id) - def _find_cfg_intf(self, cfg_idx : int = None, intf_idx = None): + def _find_cfg_intf(self, cfg_id : int = None, intf_id = None): - if cfg_idx is None or intf_idx is None: + if cfg_id is None or intf_id is None: for ruleset in DEV_FINDER_RULES_SET: self.interface : Optional[Interface] = next( @@ -70,15 +214,15 @@ def _find_cfg_intf(self, cfg_idx : int = None, intf_idx = None): None ) if self.interface: - self.configuation = self.device[self.interface.configuration] + self.configuration = self.device[self.interface.configuration] break else: self.not_found_reason = PyusbDevNotFoundReason.intf_criteria_not_guessed else: try: - self.configuration = self.device[cfg_idx] + self.configuration = find_descriptor(self.device, bConfigurationValue = cfg_id) or self.device[cfg_id] try: - self.interface = self.configuration[intf_idx] + self.interface = find_descriptor(self.configuration, bInterfaceNumber = intf_id) or self.configuration[intf_id] except USBError: self.not_found_reason = PyusbDevNotFoundReason.intf_code_not_found except USBError: @@ -93,26 +237,22 @@ def _find_endpoints(self): lambda endpoint: endpoint_direction(endpoint.bEndpointAddress) == ENDPOINT_OUT) - @classmethod - def find_by_bus_device(cls, bus_id : int, device_id : int, cfg_idx : int = None, - intf_idx : int = None): + def _find_char_dev(self): + sysbus_entry = SysbusMountFinder().find_entry(self) + if sysbus_entry: + self.chardev_if_mounted = sysbus_entry.chardev_path - self = cls() + def _find_by_bus_device(self, bus_id : int, device_id : int, cfg_id : int = None, + intf_id : int = None): self.device : Optional[Device] = find(bus = bus_id, address = device_id) if not self.device: self.not_found_reason = PyusbDevNotFoundReason.bus_device_not_found else: - self._find_cfg_intf(cfg_idx, intf_idx) + self._find_cfg_intf(cfg_id, intf_id) - self._find_endpoints() - return self - - @classmethod - def find_auto(cls): - - self = cls() + def _find_auto(self): for ruleset in DEV_FINDER_RULES_SET: for device in find(find_all = True): @@ -123,14 +263,11 @@ def find_auto(cls): ) if self.interface: self.device = device - self.configuation = self.device[self.interface.configuration] + self.configuration = self.device[self.interface.configuration] break if self.interface: break else: self.not_found_reason = PyusbDevNotFoundReason.auto_criteria_did_not_match - self._find_endpoints() - return self - From e419a583141480ae92e86d1fd10c9365637f55ee Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 14 Dec 2023 10:25:50 +0100 Subject: [PATCH 34/86] 2023-update-android-13-14-support: Implement basic automatic most-switching for most Android phones --- README.md | 4 +- qcsuper.py | 18 ++- src/inputs/adb.py | 147 +++++++++++++++++++----- src/inputs/usb_modem_pyusb_devfinder.py | 38 +++++- 4 files changed, 172 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 1e516a8..bf7faeb 100644 --- a/README.md +++ b/README.md @@ -179,8 +179,8 @@ Input mode: bInterfaceNumber) format in hexa: e.g. "05c6:9091" or "05c6:9091:1:0 (vid and pid are four zero-padded hex digits, cfg and intf are canonical values from the USB descriptor, or guessed using the criteria specified for "auto" above if not specified) - - "bus:dev[:cfg:intf]" (USB bus/device/optional bConfigurationValue/optional - bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and dev are + - "bus:addr[:cfg:intf]" (USB bus/device address/optional bConfigurationValue/optional + bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and addr are three zero-padded digits, cfg and intf are canonical values from the USB descriptor) --dlf-read DLF_FILE Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software. --json-geo-read JSON_FILE diff --git a/qcsuper.py b/qcsuper.py index 551745f..b61551e 100755 --- a/qcsuper.py +++ b/qcsuper.py @@ -50,8 +50,8 @@ ' bInterfaceNumber) format in hexa: e.g. "05c6:9091" or "05c6:9091:1:0 (vid and pid\n' + ' are four zero-padded hex digits, cfg and intf are canonical values from the USB\n' + ' descriptor, or guessed using the criteria specified for "auto" above if not specified)\n' + - ' - "bus:dev[:cfg:intf]" (USB bus/device/optional bConfigurationValue/optional\n' + - ' bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and dev are\n' + + ' - "bus:addr[:cfg:intf]" (USB bus/device address/optional bConfigurationValue/optional\n' + + ' bInterfaceNumber) format in decimal: e.g "001:003" or "001:003:0:3" (bus and addr are\n' + ' three zero-padded digits, cfg and intf are canonical values from the USB descriptor)') input_mode.add_argument('--dlf-read', metavar = 'DLF_FILE', type = FileType('rb'), help = 'Read a DLF file generated by QCSuper or QXDM, enabling interoperability with vendor software.') input_mode.add_argument('--json-geo-read', metavar = 'JSON_FILE', type = FileType('r'), help = 'Read a JSON file generated using --json-geo-dump.') @@ -90,8 +90,20 @@ if not win_adb_path.is_file(): exit("--adb-wsl2 is not a valid path to Windows adb executable") diag_input = AdbWsl2Connector(f'{win_adb_path}') + if diag_input.usb_modem: + usb_modem : PyusbDevInterface = diag_input.usb_modem + if usb_modem.chardev_if_mounted: + diag_input = UsbModemPyserialConnector(usb_modem.chardev_if_mounted) + else: + diag_input = UsbModemPyusbConnector(usb_modem) elif args.adb: diag_input = AdbConnector() + if diag_input.usb_modem: + usb_modem : PyusbDevInterface = diag_input.usb_modem + if usb_modem.chardev_if_mounted: + diag_input = UsbModemPyserialConnector(usb_modem.chardev_if_mounted) + else: + diag_input = UsbModemPyusbConnector(usb_modem) elif args.usb_modem: usb_arg = UsbModemArgParser(args.usb_modem) if not usb_arg.arg_type: @@ -101,7 +113,7 @@ elif usb_arg.arg_type == UsbModemArgType.pyserial_dev: diag_input = UsbModemPyserialConnector(usb_arg.pyserial_device) else: - dev_intf = PyusbDevInterface(usb_arg) + dev_intf = PyusbDevInterface.from_arg(usb_arg) if dev_intf.not_found_reason: exit('[!] No Qualcomm Diag interface was found with the specified ' + 'criteria. Please be more specific.') diff --git a/src/inputs/adb.py b/src/inputs/adb.py index 4a74267..fbc52c5 100644 --- a/src/inputs/adb.py +++ b/src/inputs/adb.py @@ -2,18 +2,25 @@ #-*- encoding: Utf-8 -*- from subprocess import Popen, run, PIPE, DEVNULL, STDOUT, TimeoutExpired, list2cmdline from socket import socket, AF_INET, SOCK_STREAM -from os.path import realpath, dirname +from os.path import realpath, dirname, exists from sys import stderr, platform +from traceback import print_exc +from functools import partial +from typing import Optional from logging import debug from shutil import which from time import sleep from re import search try: - from os import setpgrp -except ImportError: - setpgrp = None + from os import setpgrp, getenv, setresgid, setresuid, setgroups, getgrouplist + from pwd import getpwuid + IS_UNIX = True +except Exception: + IS_UNIX = False + +from src.inputs.usb_modem_pyusb_devfinder import PyusbDevInterface from src.inputs._hdlc_mixin import HdlcMixin from src.inputs._base_input import BaseInput @@ -23,11 +30,36 @@ ANDROID_TMP_DIR = '/data/local/tmp' +def drop_privileges(detach_process = False): + + try: + # Don't be hit by CTRL+C + + if detach_process: + setpgrp() + + # Drop privileges if needed + + uid, gid = getenv('SUDO_UID'), getenv('SUDO_GID') + + if uid and gid: + uid, gid = int(uid), int(gid) + + setgroups(getgrouplist(getpwuid(uid).pw_name, gid)) + setresgid(gid, gid, -1) + setresuid(uid, uid, -1) + + except Exception: + print_exc() + +if not IS_UNIX: + drop_privileges = None + # Print adb output to stdout when "-v" is passed to QCSuper def run_safe(args, **kwargs): debug('[>] Running adb command: ' + list2cmdline(args)) - result = run(args, **kwargs) + result = run(args, preexec_fn = drop_privileges, **kwargs) result_string = ((result.stdout or b'') + (result.stderr or b'')) if result and result_string: debug('[<] Obtained result for running "%s": %s' % (list2cmdline(args), result_string)) @@ -68,6 +100,12 @@ def __init__(self, adb_exe = None, adb_host = 'localhost'): self.can_use_exec_out = None # (boolean, None = unknown) self.ADB_TIMEOUT = 10 + + # Use Diag-over-ADB if available for the device. + + self.usb_modem : Optional[PyusbDevInterface] = self._check_for_usb_diag_interface() + if self.usb_modem: + return # Send batch commands to check for the writability of /dev/diag through # adb, and for the availability of the "su" command @@ -76,6 +114,7 @@ def __init__(self, adb_exe = None, adb_host = 'localhost'): 'test -w /dev/diag; echo DIAG_NOT_WRITEABLE=$?; ' + 'test -e /dev/diag; echo DIAG_NOT_EXISTS=$?; ' + 'test -r /dev; echo DEV_NOT_READABLE=$?; ' + + 'test -e /dev/ffs-diag; echo FFS_DIAG_NOT_HERE=$?; ' 'su -c id' ) @@ -93,9 +132,10 @@ def __init__(self, adb_exe = None, adb_host = 'localhost'): pass - # If not present, raise an error + # If not present and "/dev/ffs-diag" is not here, raise an error - elif 'DEV_NOT_READABLE=0' in bash_output and 'DIAG_NOT_EXISTS=1' in bash_output: + elif ('DEV_NOT_READABLE=0' in bash_output and 'DIAG_NOT_EXISTS=1' in bash_output + and 'FFS_DIAG_NOT_HERE=1' in bash_output): exit('Could not find /dev/diag, does your phone have a Qualcomm chip?') @@ -103,11 +143,11 @@ def __init__(self, adb_exe = None, adb_host = 'localhost'): elif 'uid=0' in bash_output: - self.su_command = 'su -c "%s"' + self.su_command = "su -c '%s'" - elif 'uid=0' in self.adb_shell('su 0,0 sh -c "id"'): + elif 'uid=0' in self.adb_shell("su 0,0 sh -c 'id'"): - self.su_command = 'su 0,0 sh -c "%s"' + self.su_command = "su 0,0 sh -c '%s'" else: @@ -125,34 +165,83 @@ def __init__(self, adb_exe = None, adb_host = 'localhost'): # for the presence of /dev/diag through adb bash_output = self.adb_shell( - 'test -e /dev/diag; echo DIAG_NOT_EXISTS=$?' + 'test -e /dev/diag; echo DIAG_NOT_EXISTS=$?; ' + + 'test -e /dev/ffs-diag; echo FFS_DIAG_NOT_HERE=$?' ) - + # If not present, raise an error - if 'DIAG_NOT_EXISTS=1' in bash_output: + if 'DIAG_NOT_EXISTS=1' in bash_output and 'FFS_DIAG_NOT_HERE=1' in bash_output: exit('Could not find /dev/diag, does your phone have a Qualcomm chip?') - # Upload the adb_bridge - - adb = run_safe([self.adb_exe, 'push', ADB_BRIDGE_DIR + '/adb_bridge', ANDROID_TMP_DIR], + if 'DIAG_NOT_EXISTS=1' in bash_output and 'FFS_DIAG_NOT_HERE=0' in bash_output: - stdin = DEVNULL, stdout = PIPE, stderr = STDOUT - ) - - if b'error' in adb.stdout or adb.returncode != 0: + # Mode-switch the device + + for command in ['setprop sys.usb.config diag,adb', 'setprop sys.usb.config diag,diag_mdm,adb']: + + adb = run_safe([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % command], + + stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, timeout = self.ADB_TIMEOUT + ) + + sleep(2) + + self.usb_modem : Optional[PyusbDevInterface] = self._check_for_usb_diag_interface() + if self.usb_modem: + return + + sleep(4) + + self.usb_modem : Optional[PyusbDevInterface] = self._check_for_usb_diag_interface() + if self.usb_modem: + return + + self.usb_modem = PyusbDevInterface.auto_find() + if not self.usb_modem.not_found_reason: + return - exit(adb.stdout.decode('utf8')) - - # Launch the adb_bridge - - self._relaunch_adb_bridge() + exit('ERROR: Could not automatically mode-switch your device to enable ' + + 'Diag-over-USB. Please read the QCSuper README for more background over this.') + + else: - self.packet_buffer = b'' + # Upload the adb_bridge + + adb = run_safe([self.adb_exe, 'push', ADB_BRIDGE_DIR + '/adb_bridge', ANDROID_TMP_DIR], + + stdin = DEVNULL, stdout = PIPE, stderr = STDOUT + ) - super().__init__() + if b'error' in adb.stdout or adb.returncode != 0: + + exit(adb.stdout.decode('utf8')) + + # Launch the adb_bridge + + self._relaunch_adb_bridge() + + self.packet_buffer = b'' + + super().__init__() + def _check_for_usb_diag_interface(self) -> Optional[PyusbDevInterface]: + + devices_list = run_safe([self.adb_exe, 'devices', '-l'], + stdin = DEVNULL, stdout = PIPE, stderr = STDOUT).stdout.decode('utf8') + + device_num = search(r'usb:(\d+)-(\d+)', devices_list) + if device_num and exists('/sys/bus/usb/devices'): + bus_idx = int(device_num.group(1), 10) + port_idx = int(device_num.group(2), 10) + + dev_intf = PyusbDevInterface.from_bus_port(bus_idx, port_idx) + if not dev_intf.not_found_reason: + return dev_intf + + return None + def _relaunch_adb_bridge(self): if hasattr(self, 'adb_proc'): @@ -168,7 +257,7 @@ def _relaunch_adb_bridge(self): self.adb_proc = Popen([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % (ANDROID_TMP_DIR + '/adb_bridge')], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, - preexec_fn = setpgrp, + preexec_fn = lambda: partial(drop_privileges, True), bufsize = 0, universal_newlines = True ) @@ -222,7 +311,7 @@ def adb_shell(self, command): self.can_use_exec_out = (adb.returncode == 0) # Can we execute commands? - + adb = run_safe([self.adb_exe, 'exec-out' if self.can_use_exec_out else 'shell', self.su_command % command], stdin = DEVNULL, stdout = PIPE, stderr = STDOUT, timeout = self.ADB_TIMEOUT diff --git a/src/inputs/usb_modem_pyusb_devfinder.py b/src/inputs/usb_modem_pyusb_devfinder.py index dca078b..a0e9ced 100644 --- a/src/inputs/usb_modem_pyusb_devfinder.py +++ b/src/inputs/usb_modem_pyusb_devfinder.py @@ -168,7 +168,10 @@ class PyusbDevInterface: not_found_reason : Optional[PyusbDevNotFoundReason] = None - def __init__(self, usb_arg : UsbModemArgParser): + @classmethod + def from_arg(cls, usb_arg : UsbModemArgParser): + self = cls() + if usb_arg.arg_type == UsbModemArgType.pyusb_vid_pid: self._find_by_vid_pid(usb_arg.pyusb_vid, usb_arg.pyusb_pid) @@ -192,6 +195,39 @@ def __init__(self, usb_arg : UsbModemArgParser): if not self.not_found_reason: self._find_endpoints() self._find_char_dev() + + return self + + @classmethod + def from_bus_port(cls, bus_idx : int, port_idx : int): + self = cls() + + base_path = '/sys/bus/usb/devices/%d-%d/' % (bus_idx, port_idx) + + with open(base_path + 'busnum') as fd: + bus_num = int(fd.read().strip(), 10) + with open(base_path + 'devnum') as fd: + dev_num = int(fd.read().strip(), 10) + + self._find_by_bus_device(bus_num, dev_num) + + if not self.not_found_reason: + self._find_endpoints() + self._find_char_dev() + + return self + + @classmethod + def auto_find(cls): + self = cls() + + self._find_auto() + + if not self.not_found_reason: + self._find_endpoints() + self._find_char_dev() + + return self def _find_by_vid_pid(self, vid : int, pid : int, cfg_id : int = None, intf_id : int = None): From 236b1fb083ed61d9ee39e6dbfe878d6c49614f16 Mon Sep 17 00:00:00 2001 From: Marin Date: Thu, 14 Dec 2023 10:49:01 +0100 Subject: [PATCH 35/86] 2023-update-android-13-14-support: Update ADB builds and Windows install instructions --- README.md | 2 +- src/inputs/external/adb/AdbWinApi.dll | Bin 97792 -> 108312 bytes src/inputs/external/adb/AdbWinUsbApi.dll | Bin 62976 -> 73496 bytes src/inputs/external/adb/adb_linux | Bin 2604257 -> 7862416 bytes src/inputs/external/adb/adb_macos | Bin 2581412 -> 13552336 bytes src/inputs/external/adb/adb_windows.exe | Bin 1784320 -> 5916440 bytes src/inputs/external/adb/lib/libc++.dylib | Bin 1037864 -> 0 bytes src/inputs/external/adb/lib64/libc++.dylib | Bin 0 -> 1773104 bytes src/inputs/external/update_tools.sh | 17 ++++++++++------- 9 files changed, 11 insertions(+), 8 deletions(-) mode change 100755 => 100644 src/inputs/external/adb/AdbWinApi.dll mode change 100755 => 100644 src/inputs/external/adb/AdbWinUsbApi.dll mode change 100755 => 100644 src/inputs/external/adb/adb_windows.exe delete mode 100755 src/inputs/external/adb/lib/libc++.dylib create mode 100755 src/inputs/external/adb/lib64/libc++.dylib diff --git a/README.md b/README.md index bf7faeb..381bf42 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ Then, follow these links on order to: To install the required Python modules, open your command prompt and type: ```bash -pip3 install --upgrade pyserial crcmod https://github.com/P1sec/pycrate/archive/master.zip +pip3 install --upgrade pyserial pyusb crcmod https://github.com/P1sec/pycrate/archive/master.zip https://github.com/pyocd/libusb-package/archive/master.zip ``` Still in your command prompt, move to the directory containing QCSuper using the `cd` command. You can then execute commands (which should start with `qcsuper.py` instead of `./qcsuper.py`). diff --git a/src/inputs/external/adb/AdbWinApi.dll b/src/inputs/external/adb/AdbWinApi.dll old mode 100755 new mode 100644 index 7abe26cf1d2ab67f0107b19c5fe5a9c4543f90c0..dd0d9a4408b636066b7b3481724d5c076de0530a GIT binary patch delta 10635 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 z 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

={=! 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%0D~qs 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 ihi% zfL|w8zF_|hHT9DPPUOa4{u6)X+WSOimntT*_9pYoWPWk-@40psnZ@J)*_jbEeq7WU z7QbU)AO3ulr>6VSH+teEYWGu2oJBb%vLBaD)R~oNk0B8qt3Xw83%Rf9!#q=`&NvxjZcpB-Sqn`X}dPD3imbvarGr9BCS+<`;ef#9l`d8o{BFh)7RO7l_ zCT8Q4NQIbDE{FL?N+Vgn>l>HLl{Y}m`iB5n9+TsuCb51cENBwz zN2H3ryuKf+hp5=IES~`Xv#h;K1J3g8{VaF=C3~@jYri(@64m*NPBNQAw49+4;&t4- z5!QNU~|Ue10!ibLqa^!}EUbx(?qkV)HLG*l`mSR^tLqUmlgl z@(GDjtf6w8ui^j~Pr;5moY$E>&Nqkce`(lccAoT&%VhfSs4T`Y@^f6e5iePL!98E5 zkBpL>rRl~*NiK5jOTx}~*iX4!|D^bq&yS5agCi8PxcLJGKTnv;(g}*rS;}o^4%=TS z4?7RU$R}^0>35FWxR$as?A%^_X$kfFau&WXg!9Eqc0LJ=$Y=Ex9a)2&SAFG@jR`5q zzR{7nY+ew|u8YI`lk;f3(tB5GWpZ?^;(P&>eWTOzX!`QNT(*7TzEehUnd z=j*wHYhRwMeT2z8nLaS4?-5#FdB_&FePN2Mei%RDyw;g-_kA~TO69KQbzYrQ;iy(mypZALGn^qf(O?kK?ZYrccGXRhVCzz8PN?mIo-NA4pIu z!+aG#45j-&O!foocY>lX&BSNrasGTm?FwmZ%rLHf#ISKwoV*S@4&;G#SbfR;>zt?C zCHMCpPB|znE1zD2qAt5$kcZ?irgCW5 z%mS{zyfP;%JIjyWJ4ir0%3L}r186!_&P&M&3-f<>JtsFcB+NgS?T?_S{O@TxvGSR$ z9)08TSU!SWT@EpT)9MAs#oPRKw`iJncoaZh)$MP%<;QWHXv^*iaEa&A&DPO)o z&aWew`SC30na<%+eE`ovJO}eE<5|vgEYBgqTs*0a<4~UEJmcD!r5nz(v?C|Wd6tH7 zvW(|2o@06T59REUJS%t(lJn{Etl&9{=V+cg^Blu-EYH4ST>L6@dnU7Vu|_v1K{=Qy52{dqgj zkvvCh^Z}gRA9KSrov0v=!-6@cbH!9I3**=~f@3Mqkvzxp+*!fd>D)4n7t6D>Gbdw} z+)Vn6Emmt~9PXQ&9TkzA9qi9>XP!F+adHgL(V?6iF6TIo=O_gyhemPio1Bv1o064* z?jpfgoskM;`u5Gq^;2f#`Qd|{eyYr5KMdaem1!CNxD51Hs#E<_lo|f`YPf%j8sGiP z&h^h$=lbWX@fG#HN@;R_wlp^-HAt1E4$8_*1~P)Oa#MoTs5AU9Z* zpbk#Y>ld7nnJvS23p-{jGeeZ=sUdWbtn8N>f{Tujlnix9YHm(QW|A@lE1QMV3p!<1 zR;V&JGgOtG7>bS_!^^zT{KVAI{G?PlK70kF%2i3dR?_d+;DsRUA^QWJ8cGINv|(qu&^E7hHqsi`rEDOp{zRasqf^7_YOVs-G~ z!M=bW-Bxz%7=Kc7bF*8y(zVM~>G+Pl+J*nnmrG(+hHEZ9JeEUk_+GtBN^V9vB6QHi z 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 A8u`4rZ|rEgVD_r_f$pD^=fTJ~T0h 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வ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

aDx4?!RY!__MkyrUp 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 +_yrzfgCxZtybZ_h66m`#tjv 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 z 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