From 9489692586afb4fc788618c02c4c2896273aaea7 Mon Sep 17 00:00:00 2001 From: Jonathan Herrewijnen Date: Tue, 6 Aug 2024 07:58:47 +0200 Subject: [PATCH] small docs update --- .../images/ghidra_dwc3_dcfg_devaddr.png | Bin 0 -> 79835 bytes documentation/source/BootROM_8890/index.rst | 44 ++++++++++++++++-- 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 documentation/source/BootROM_8890/images/ghidra_dwc3_dcfg_devaddr.png diff --git a/documentation/source/BootROM_8890/images/ghidra_dwc3_dcfg_devaddr.png b/documentation/source/BootROM_8890/images/ghidra_dwc3_dcfg_devaddr.png new file mode 100644 index 0000000000000000000000000000000000000000..19d8ff7665446caec849f41f7fddd36b12c9dbe7 GIT binary patch literal 79835 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. +The USB host sends a USB_REQ_SET_ADDRESS, `'0x05' `_, which the connected device has to acknowledge, and will then start sending data to this address. Initially, the device will send data to '0x00'. + +.. code:: c + + usb_reqid { + USB_REQ_GET_STATUS = 0, + USB_REQ_CLEAR_FEATURE = 1, + USB_REQ_SET_FEATURE = 3, + USB_REQ_SET_ADDRESS = 5, + USB_REQ_GET_DESCRIPTOR = 6, + USB_REQ_SET_DESCRIPTOR = 7, + USB_REQ_GET_CONFIGURATION = 8, + USB_REQ_SET_CONFIGURATION = 9, + USB_REQ_GET_INTERFACE = 10, + USB_REQ_SET_INTERFACE = 11, + USB_REQ_SYNCH_FRAME = 12 + } + +Ghidra shows `DWC3_DCFG & 0xfffffc00 | DWC3_DCFG & 7 | (param_1 & 0x7f) << 3;`, essentially preserves bits 0-2 and 10-31, and sets bits 3-9 to the value of param_1, which is then likely the address of the device. + +.. figure:: images/ghidra_dwc3_dcfg_devaddr.png + + bootrom exynos 8890 dwc3_dcfg_devaddr + +Other general device descriptors are also sent from the device to the host (to describe the device), these are visible in/at 'usb_init_device_descriptor' (6098) and usb_init_descriptors (610c). Two end point addresses are visible: bEndpointAddress 0x81 and 0x02. 0x81 is 10000001 in binary, with bit 7 being '1', which means that the bulk transfer direction is IN. 0x02 is 00000010 in binary, with bit '7' being '0', which means that the bulk transfer direction is OUT. + +Data is transferred via Transfer Request Blocks (TRB), dwc3_depcmd_starttransfer is used. The TRB then contains a buffer address, where transferred data from the host is written to. The buffer allocation is done by 'usb_setup_event_buffer', which sets bufferHigh (DWC3_GEVNTADRLO), bufferLow (DWC3_GEVNTADRHI) and bufferSize (DWC3_GEVNTSIZ). + Bug 1(Integer underflow) ------------------------ +Originally described in this `blogpost `_. -https://github.com/LineageOS/android_kernel_samsung_universal8890/blob/lineage-18.1/arch/arm64/boot/dts/exynos8890.dtsi +The exynos bootrom uses a simple USB protocol to receive a bootloader binary from a USB host. The binary sent is called 'dldata'. In Ghidra, at 21518, we can see that it consists of unit32_t: ready?, uint32: size, ? : data, uint16: footer. The contents of this data are checked before being being written. -@TODO better explain frederick's bug. @JONHE +.. code:: c + if ((pdVar1->size < 0x206ffff) && (0x206ffff < pdVar1->size + remaining)) { + *(undefined *)&pdVar1->ready = 2; + } + +In essence, in the first conditions, it checks whether the size is smaller than 0x206fff (`pdVar1->size < 0x206ffff`) (34013183 in decimal), and in the second condition, it checks whether 0x206ffff is smaller than the size + remaining (`0x206ffff < pdVar1->size + remaining`). If both conditions are met, the ready flag is set to 2, and the function below to execute the *payload*, will NOT execute! Bug 2