From 6ebdd12f089b4eafe0a295196179b6b25716b363 Mon Sep 17 00:00:00 2001 From: noemu Date: Fri, 13 Jul 2018 18:17:28 +0200 Subject: [PATCH] refactoring --- main/fuseegelee.h | 192 ++++++++++++++++++++++++ main/main.ino | 320 ++-------------------------------------- main/trinketLed.h | 55 +++++++ payloads/hekate_lfs.bin | Bin 0 -> 90264 bytes 4 files changed, 258 insertions(+), 309 deletions(-) create mode 100644 main/fuseegelee.h create mode 100644 main/trinketLed.h create mode 100644 payloads/hekate_lfs.bin diff --git a/main/fuseegelee.h b/main/fuseegelee.h new file mode 100644 index 0000000..01afb67 --- /dev/null +++ b/main/fuseegelee.h @@ -0,0 +1,192 @@ +#include +#include + +#define INTERMEZZO_SIZE 92 +const byte intermezzo[INTERMEZZO_SIZE] = +{ + 0x44, 0x00, 0x9F, 0xE5, 0x01, 0x11, 0xA0, 0xE3, 0x40, 0x20, 0x9F, 0xE5, 0x00, 0x20, 0x42, 0xE0, + 0x08, 0x00, 0x00, 0xEB, 0x01, 0x01, 0xA0, 0xE3, 0x10, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0xA0, 0xE1, + 0x2C, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x02, 0x28, 0xA0, 0xE3, 0x01, 0x00, 0x00, 0xEB, + 0x20, 0x00, 0x9F, 0xE5, 0x10, 0xFF, 0x2F, 0xE1, 0x04, 0x30, 0x90, 0xE4, 0x04, 0x30, 0x81, 0xE4, + 0x04, 0x20, 0x52, 0xE2, 0xFB, 0xFF, 0xFF, 0x1A, 0x1E, 0xFF, 0x2F, 0xE1, 0x20, 0xF0, 0x01, 0x40, + 0x5C, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x40, +}; + +#define PACKET_CHUNK_SIZE 0x1000 + + +USBHost usb; +EpInfo epInfo[3]; + +byte usbWriteBuffer[PACKET_CHUNK_SIZE] = {0}; +uint32_t usbWriteBufferUsed = 0; +uint32_t packetsWritten = 0; + +bool foundTegra = false; +byte tegraDeviceAddress = -1; + +unsigned long lastCheckTime = 0; + +// From what I can tell, usb.outTransfer is completely broken for transfers larger than 64 bytes (even if maxPktSize is +// adjusted for that endpoint). This is a minimal and simplified reimplementation specific to our use cases that fixes +// that bug and is based on the code of USBHost::outTransfer, USBHost::SetPipeAddress and USBHost::OutTransfer. +void usbOutTransferChunk(uint32_t addr, uint32_t ep, uint32_t nbytes, uint8_t* data) +{ + EpInfo* epInfo = usb.getEpInfoEntry(addr, ep); + + usb_pipe_table[epInfo->epAddr].HostDescBank[0].CTRL_PIPE.bit.PDADDR = addr; + + if (epInfo->bmSndToggle) + USB->HOST.HostPipe[epInfo->epAddr].PSTATUSSET.reg = USB_HOST_PSTATUSSET_DTGL; + else + USB->HOST.HostPipe[epInfo->epAddr].PSTATUSCLR.reg = USB_HOST_PSTATUSCLR_DTGL; + + UHD_Pipe_Write(epInfo->epAddr, PACKET_CHUNK_SIZE, data); + uint32_t rcode = usb.dispatchPkt(tokOUT, epInfo->epAddr, 15); + if (rcode) + { + if (rcode == USB_ERROR_DATATOGGLE) + { + epInfo->bmSndToggle = USB_HOST_DTGL(epInfo->epAddr); + if (epInfo->bmSndToggle) + USB->HOST.HostPipe[epInfo->epAddr].PSTATUSSET.reg = USB_HOST_PSTATUSSET_DTGL; + else + USB->HOST.HostPipe[epInfo->epAddr].PSTATUSCLR.reg = USB_HOST_PSTATUSCLR_DTGL; + } + else + { + //setLedColor("red"); //add error code and stop execution + return; + } + } + epInfo->bmSndToggle = USB_HOST_DTGL(epInfo->epAddr); +} + +void usbFlushBuffer() +{ + usbOutTransferChunk(tegraDeviceAddress, 0x01, PACKET_CHUNK_SIZE, usbWriteBuffer); + + memset(usbWriteBuffer, 0, PACKET_CHUNK_SIZE); + usbWriteBufferUsed = 0; + packetsWritten++; +} + +// This accepts arbitrary sized USB writes and will automatically chunk them into writes of size 0x1000 and increment +// packetsWritten every time a chunk is written out. +void usbBufferedWrite(const byte *data, uint32_t length) +{ + while (usbWriteBufferUsed + length >= PACKET_CHUNK_SIZE) + { + uint32_t bytesToWrite = min(PACKET_CHUNK_SIZE - usbWriteBufferUsed, length); + memcpy(usbWriteBuffer + usbWriteBufferUsed, data, bytesToWrite); + usbWriteBufferUsed += bytesToWrite; + usbFlushBuffer(); + data += bytesToWrite; + length -= bytesToWrite; + } + + if (length > 0) + { + memcpy(usbWriteBuffer + usbWriteBufferUsed, data, length); + usbWriteBufferUsed += length; + } +} + +void usbBufferedWriteU32(uint32_t data) +{ + usbBufferedWrite((byte *)&data, 4); +} + +void readTegraDeviceID(byte *deviceID) +{ + byte readLength = 16; + UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_IN, 0x40, 0, USB_HOST_NB_BK_1); + + if (usb.inTransfer(tegraDeviceAddress, 0x01, &readLength, deviceID)) + return; //false; //add breakpoint +} + +void sendPayload(const byte *payload, uint32_t payloadLength) +{ + byte zeros[0x1000] = {0}; + + usbBufferedWriteU32(0x30298); + usbBufferedWrite(zeros, 680 - 4); + + for (uint32_t i = 0; i < 0x3C00; i++) + usbBufferedWriteU32(0x4001F000); + + usbBufferedWrite(intermezzo, INTERMEZZO_SIZE); + usbBufferedWrite(zeros, 0xFA4); + usbBufferedWrite(payload, payloadLength); + usbFlushBuffer(); + + if (packetsWritten % 2 != 1) + { + usbFlushBuffer(); + } +} + +void findTegraDevice(UsbDeviceDefinition *pdev) +{ + uint32_t address = pdev->address.devAddress; + USB_DEVICE_DESCRIPTOR deviceDescriptor; + if (usb.getDevDescr(address, 0, 0x12, (uint8_t *)&deviceDescriptor)) + { + return; //false; //add breakpoint + } + + if (deviceDescriptor.idVendor == 0x0955 && deviceDescriptor.idProduct == 0x7321) + { + tegraDeviceAddress = address; + foundTegra = true; + } +} + +boolean searchTegraDevice() +{ + usb.Task(); + usb.ForEachUsbDevice(&findTegraDevice); + return foundTegra; +} + +int usbInit() +{ + return usb.Init(); +} + +void setupTegraDevice() +{ + epInfo[0].epAddr = 0; + epInfo[0].maxPktSize = 0x40; + epInfo[0].epAttribs = USB_TRANSFER_TYPE_CONTROL; + epInfo[0].bmNakPower = USB_NAK_MAX_POWER; + epInfo[0].bmSndToggle = 0; + epInfo[0].bmRcvToggle = 0; + + epInfo[1].epAddr = 0x01; + epInfo[1].maxPktSize = 0x40; + epInfo[1].epAttribs = USB_TRANSFER_TYPE_BULK; + epInfo[1].bmNakPower = USB_NAK_MAX_POWER; + epInfo[1].bmSndToggle = 0; + epInfo[1].bmRcvToggle = 0; + + usb.setEpInfoEntry(tegraDeviceAddress, 2, epInfo); + usb.setConf(tegraDeviceAddress, 0, 0); + usb.Task(); + + UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_IN, 0x40, 0, USB_HOST_NB_BK_1); + + byte deviceID[16] = {0}; + readTegraDeviceID(deviceID); + + UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_OUT, 0x40, 0, USB_HOST_NB_BK_1); + packetsWritten = 0; +} + +void launchPayload() +{ + usb.ctrlReq(tegraDeviceAddress, 0, USB_SETUP_DEVICE_TO_HOST | USB_SETUP_TYPE_STANDARD | USB_SETUP_RECIPIENT_INTERFACE, + 0x00, 0x00, 0x00, 0x00, 0x7000, 0x7000, usbWriteBuffer, NULL); +} + diff --git a/main/main.ino b/main/main.ino index 854e2ce..ddbbe2c 100644 --- a/main/main.ino +++ b/main/main.ino @@ -1,330 +1,32 @@ -#include -#include -#include + + #include +#include "fuseegelee.h" +#include "trinketLed.h" + // Contains fuseeBin and FUSEE_BIN_LENGTH #include "hekate_ctcaer_3.0.h" #include "sxLoader.h" -#define INTERMEZZO_SIZE 92 -const byte intermezzo[INTERMEZZO_SIZE] = -{ - 0x44, 0x00, 0x9F, 0xE5, 0x01, 0x11, 0xA0, 0xE3, 0x40, 0x20, 0x9F, 0xE5, 0x00, 0x20, 0x42, 0xE0, - 0x08, 0x00, 0x00, 0xEB, 0x01, 0x01, 0xA0, 0xE3, 0x10, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0xA0, 0xE1, - 0x2C, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x02, 0x28, 0xA0, 0xE3, 0x01, 0x00, 0x00, 0xEB, - 0x20, 0x00, 0x9F, 0xE5, 0x10, 0xFF, 0x2F, 0xE1, 0x04, 0x30, 0x90, 0xE4, 0x04, 0x30, 0x81, 0xE4, - 0x04, 0x20, 0x52, 0xE2, 0xFB, 0xFF, 0xFF, 0x1A, 0x1E, 0xFF, 0x2F, 0xE1, 0x20, 0xF0, 0x01, 0x40, - 0x5C, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x40, -}; - -#define PACKET_CHUNK_SIZE 0x1000 - -#ifdef DEBUG -#define DEBUG_PRINT(x) Serial.print (x) -#define DEBUG_PRINTLN(x) Serial.println (x) -#define DEBUG_PRINTHEX(x,y) serialPrintHex (x,y) -#else -#define DEBUG_PRINT(x) -#define DEBUG_PRINTLN(x) -#define DEBUG_PRINTHEX(x,y) -#endif - -USBHost usb; -EpInfo epInfo[3]; - -byte usbWriteBuffer[PACKET_CHUNK_SIZE] = {0}; -uint32_t usbWriteBufferUsed = 0; -uint32_t packetsWritten = 0; - -bool foundTegra = false; -byte tegraDeviceAddress = -1; - -unsigned long lastCheckTime = 0; - -const char *hexChars = "0123456789ABCDEF"; -void serialPrintHex(const byte *data, byte length) -{ - for (int i = 0; i < length; i++) - { - DEBUG_PRINT(hexChars[(data[i] >> 4) & 0xF]); - DEBUG_PRINT(hexChars[data[i] & 0xF]); - } - DEBUG_PRINTLN(); -} - -Adafruit_DotStar strip = Adafruit_DotStar(1, INTERNAL_DS_DATA, INTERNAL_DS_CLK, DOTSTAR_BGR); - -// From what I can tell, usb.outTransfer is completely broken for transfers larger than 64 bytes (even if maxPktSize is -// adjusted for that endpoint). This is a minimal and simplified reimplementation specific to our use cases that fixes -// that bug and is based on the code of USBHost::outTransfer, USBHost::SetPipeAddress and USBHost::OutTransfer. -void usbOutTransferChunk(uint32_t addr, uint32_t ep, uint32_t nbytes, uint8_t* data) -{ - - - EpInfo* epInfo = usb.getEpInfoEntry(addr, ep); - - usb_pipe_table[epInfo->epAddr].HostDescBank[0].CTRL_PIPE.bit.PDADDR = addr; - - if (epInfo->bmSndToggle) - USB->HOST.HostPipe[epInfo->epAddr].PSTATUSSET.reg = USB_HOST_PSTATUSSET_DTGL; - else - USB->HOST.HostPipe[epInfo->epAddr].PSTATUSCLR.reg = USB_HOST_PSTATUSCLR_DTGL; - - UHD_Pipe_Write(epInfo->epAddr, PACKET_CHUNK_SIZE, data); - uint32_t rcode = usb.dispatchPkt(tokOUT, epInfo->epAddr, 15); - if (rcode) - { - if (rcode == USB_ERROR_DATATOGGLE) - { - epInfo->bmSndToggle = USB_HOST_DTGL(epInfo->epAddr); - if (epInfo->bmSndToggle) - USB->HOST.HostPipe[epInfo->epAddr].PSTATUSSET.reg = USB_HOST_PSTATUSSET_DTGL; - else - USB->HOST.HostPipe[epInfo->epAddr].PSTATUSCLR.reg = USB_HOST_PSTATUSCLR_DTGL; - } - else - { - setLedColor("red"); - DEBUG_PRINTLN("Error in OUT transfer"); - return; - } - } - - epInfo->bmSndToggle = USB_HOST_DTGL(epInfo->epAddr); -} - -void usbFlushBuffer() -{ - usbOutTransferChunk(tegraDeviceAddress, 0x01, PACKET_CHUNK_SIZE, usbWriteBuffer); - - memset(usbWriteBuffer, 0, PACKET_CHUNK_SIZE); - usbWriteBufferUsed = 0; - packetsWritten++; -} - -// This accepts arbitrary sized USB writes and will automatically chunk them into writes of size 0x1000 and increment -// packetsWritten every time a chunk is written out. -void usbBufferedWrite(const byte *data, uint32_t length) -{ - while (usbWriteBufferUsed + length >= PACKET_CHUNK_SIZE) - { - uint32_t bytesToWrite = min(PACKET_CHUNK_SIZE - usbWriteBufferUsed, length); - memcpy(usbWriteBuffer + usbWriteBufferUsed, data, bytesToWrite); - usbWriteBufferUsed += bytesToWrite; - usbFlushBuffer(); - data += bytesToWrite; - length -= bytesToWrite; - } - - if (length > 0) - { - memcpy(usbWriteBuffer + usbWriteBufferUsed, data, length); - usbWriteBufferUsed += length; - } -} - -void usbBufferedWriteU32(uint32_t data) -{ - usbBufferedWrite((byte *)&data, 4); -} - -void readTegraDeviceID(byte *deviceID) -{ - byte readLength = 16; - UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_IN, 0x40, 0, USB_HOST_NB_BK_1); - - if (usb.inTransfer(tegraDeviceAddress, 0x01, &readLength, deviceID)) - DEBUG_PRINTLN("Failed to get device ID!"); -} - -void sendPayload(const byte *payload, uint32_t payloadLength) -{ - byte zeros[0x1000] = {0}; - - usbBufferedWriteU32(0x30298); - usbBufferedWrite(zeros, 680 - 4); - - for (uint32_t i = 0; i < 0x3C00; i++) - usbBufferedWriteU32(0x4001F000); - - usbBufferedWrite(intermezzo, INTERMEZZO_SIZE); - usbBufferedWrite(zeros, 0xFA4); - usbBufferedWrite(payload, payloadLength); - usbFlushBuffer(); -} - -void findTegraDevice(UsbDeviceDefinition *pdev) -{ - uint32_t address = pdev->address.devAddress; - USB_DEVICE_DESCRIPTOR deviceDescriptor; - if (usb.getDevDescr(address, 0, 0x12, (uint8_t *)&deviceDescriptor)) - { - DEBUG_PRINTLN("Error getting device descriptor."); - return; - } - - if (deviceDescriptor.idVendor == 0x0955 && deviceDescriptor.idProduct == 0x7321) - { - tegraDeviceAddress = address; - foundTegra = true; - } -} - -void setupTegraDevice() -{ - epInfo[0].epAddr = 0; - epInfo[0].maxPktSize = 0x40; - epInfo[0].epAttribs = USB_TRANSFER_TYPE_CONTROL; - epInfo[0].bmNakPower = USB_NAK_MAX_POWER; - epInfo[0].bmSndToggle = 0; - epInfo[0].bmRcvToggle = 0; - - epInfo[1].epAddr = 0x01; - epInfo[1].maxPktSize = 0x40; - epInfo[1].epAttribs = USB_TRANSFER_TYPE_BULK; - epInfo[1].bmNakPower = USB_NAK_MAX_POWER; - epInfo[1].bmSndToggle = 0; - epInfo[1].bmRcvToggle = 0; - - usb.setEpInfoEntry(tegraDeviceAddress, 2, epInfo); - usb.setConf(tegraDeviceAddress, 0, 0); - usb.Task(); - - UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_IN, 0x40, 0, USB_HOST_NB_BK_1); -} - -void sleepDeep(int errorCode) { - // Turn off all LEDs and go to sleep. To launch another payload, press the reset button on the device. - //delay(100); - digitalWrite(PIN_LED_RXL, HIGH); - digitalWrite(PIN_LED_TXL, HIGH); - digitalWrite(13, LOW); - if (errorCode == 1) { - setLedColor("black");; //led to off - } else { - setLedColor("red"); //led to red - } - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; /* Enable deepsleep */ - __DSB(); /* Ensure effect of last store takes effect */ - __WFI(); /* Enter sleep mode */ -} - -void ledBlink(const char color[], int count, int duration) { - for (int counter = 0; counter < count; counter++) { - for (int onOff = 1; onOff >= 0; onOff--) { - if(onOff == 1){ - setLedColor(color); - }else{ - setLedColor("black"); - } - delay(duration/(2.0*count)); - } - } -} - -void setLedColor(const char color[]) { - if (color == "red") { - strip.setPixelColor(0, 64, 0, 0); - } else if (color == "green") { - strip.setPixelColor(0, 0, 64, 0); - } else if (color == "orange") { - strip.setPixelColor(0, 64, 32, 0); - } else if (color == "black") { - strip.setPixelColor(0, 0, 0, 0); - } else if (color == "blue") { - strip.setPixelColor(0, 5, 20, 64); - } else if (color == "red2") { - strip.setPixelColor(0, 64, 10, 10); - } else { - strip.setPixelColor(0, 255, 255, 255); - } - strip.show(); -} - -void selectPayload() { - - while (true) - { - EEPROM.update(0,0); //selecting value 0: hekate3 - ledBlink("blue",5,4000); - EEPROM.update(0,1); //selecting value 0: sxLoader - ledBlink("red2",5,4000); - } -} void setup() { + ledInit(); + if (usbInit() == -1) sleepDeep(-1); - strip.begin(); - - int usbInitialized = usb.Init(); -#ifdef DEBUG - Serial.begin(115200); - delay(100); -#endif - - if (usbInitialized == -1) sleepDeep(-1); - - DEBUG_PRINTLN("Ready! Waiting for Tegra..."); - bool blink = true; int currentTime = 0; - while (!foundTegra) + while (!searchTegraDevice()) { currentTime = millis(); - usb.Task(); - - if (currentTime > lastCheckTime + 100) { - usb.ForEachUsbDevice(&findTegraDevice); - if (blink && !foundTegra) { - setLedColor("orange"); //led to orange - } else { - setLedColor("black"); //led to black - } - blink = !blink; - lastCheckTime = currentTime; - } - if (currentTime > 3000) { //3 seconds - //sleepDeep(-1); //instead of going into deepSleep, start selection process - selectPayload(); - } - + ledBlink("orange", 1, 200); } - DEBUG_PRINTLN("Found Tegra!"); setupTegraDevice(); - byte deviceID[16] = {0}; - readTegraDeviceID(deviceID); - DEBUG_PRINTLN("Device ID: "); - DEBUG_PRINTHEX(deviceID, 16); - - DEBUG_PRINTLN("Sending payload..."); - UHD_Pipe_Alloc(tegraDeviceAddress, 0x01, USB_HOST_PTYPE_BULK, USB_EP_DIR_OUT, 0x40, 0, USB_HOST_NB_BK_1); - packetsWritten = 0; - - //reed byte from eeprom. 0: hekate3 1: sx_Loader default:hekate3 - unsigned char selectedPayload = EEPROM.read(0); - - if (selectedPayload == 0) { - sendPayload(hekate_3, HEKATE_3_SIZE); - } else if (selectedPayload == 1) { - sendPayload(sx_loader, SX_LOADER_SIZE); - } else { - sendPayload(hekate_3, HEKATE_3_SIZE); - } - - - if (packetsWritten % 2 != 1) - { - DEBUG_PRINTLN("Switching to higher buffer..."); - usbFlushBuffer(); - } + sendPayload(sx_loader, SX_LOADER_SIZE); - DEBUG_PRINTLN("Triggering vulnerability..."); - usb.ctrlReq(tegraDeviceAddress, 0, USB_SETUP_DEVICE_TO_HOST | USB_SETUP_TYPE_STANDARD | USB_SETUP_RECIPIENT_INTERFACE, - 0x00, 0x00, 0x00, 0x00, 0x7000, 0x7000, usbWriteBuffer, NULL); - DEBUG_PRINTLN("Done!"); + launchPayload(); sleepDeep(1); } diff --git a/main/trinketLed.h b/main/trinketLed.h new file mode 100644 index 0000000..fb22537 --- /dev/null +++ b/main/trinketLed.h @@ -0,0 +1,55 @@ +#include +#include +Adafruit_DotStar strip = Adafruit_DotStar(1, INTERNAL_DS_DATA, INTERNAL_DS_CLK, DOTSTAR_BGR); + +void ledInit() { + strip.begin(); +} + +void setLedColor(const char color[]) { + if (color == "red") { + strip.setPixelColor(0, 64, 0, 0); + } else if (color == "green") { + strip.setPixelColor(0, 0, 64, 0); + } else if (color == "orange") { + strip.setPixelColor(0, 64, 32, 0); + } else if (color == "black") { + strip.setPixelColor(0, 0, 0, 0); + } else if (color == "blue") { + strip.setPixelColor(0, 5, 20, 64); + } else if (color == "red2") { + strip.setPixelColor(0, 64, 10, 10); + } else { + strip.setPixelColor(0, 255, 255, 255); + } + strip.show(); +} + +void ledBlink(const char color[], int count, int duration) { + for (int counter = 0; counter < count; counter++) { + for (int onOff = 1; onOff >= 0; onOff--) { + if (onOff == 1) { + setLedColor(color); + } else { + setLedColor("black"); + } + delay(duration / (2.0 * count)); + } + } +} + +void sleepDeep(int errorCode) { + // Turn off all LEDs and go to sleep. To launch another payload, press the reset button on the device. + //delay(100); + digitalWrite(PIN_LED_RXL, HIGH); + digitalWrite(PIN_LED_TXL, HIGH); + digitalWrite(13, LOW); + if (errorCode == 1) { + setLedColor("black");; //led to off + } else { + setLedColor("red"); //led to red + } + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; /* Enable deepsleep */ + __DSB(); /* Ensure effect of last store takes effect */ + __WFI(); /* Enter sleep mode */ +} diff --git a/payloads/hekate_lfs.bin b/payloads/hekate_lfs.bin new file mode 100644 index 0000000000000000000000000000000000000000..6fc5e86a5dd05201c9a1c00386703d019b0b22d5 GIT binary patch literal 90264 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