Not sure how but this works so much better??
This commit is contained in:
@@ -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};
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user