diff --git a/c8_remote/include/checkm8.h b/c8_remote/include/checkm8.h index 41a30c1..7a3ab70 100644 --- a/c8_remote/include/checkm8.h +++ b/c8_remote/include/checkm8.h @@ -18,7 +18,7 @@ #define DEV_IDVENDOR 0x05AC #define DEV_IDPRODUCT 0x1227 -#define DFU_IMAGE_BASE 0x1800B0000 +#define DFU_IMAGE_BASE 0x1800B0000ull #else #error "Unspported checkm8 platform" diff --git a/c8_remote/src/command.c b/c8_remote/src/command.c index 7520e00..0f0c665 100644 --- a/c8_remote/src/command.c +++ b/c8_remote/src/command.c @@ -254,11 +254,11 @@ struct dev_cmd_resp *dev_write_memory(struct pwned_device *dev, long long addr, checkm8_debug_indent("dev_write_memory(dev = %p, addr = %lx, data = %p, len = %i)\n", dev, addr, data, len); unsigned char cmd_args[40 + len]; - ((unsigned long *) cmd_args)[0] = MEMC_MAGIC; - ((unsigned long *) cmd_args)[1] = 0; - ((unsigned long *) cmd_args)[2] = addr; - ((unsigned long *) cmd_args)[3] = DFU_IMAGE_BASE + 40; - ((unsigned long *) cmd_args)[4] = len; + ((unsigned long long *) cmd_args)[0] = MEMC_MAGIC; + ((unsigned long long *) cmd_args)[1] = 0; + ((unsigned long long *) cmd_args)[2] = addr; + ((unsigned long long *) cmd_args)[3] = DFU_IMAGE_BASE + 40; + ((unsigned long long *) cmd_args)[4] = len; memcpy(&cmd_args[40], data, len); return command(dev, cmd_args, 40 + len, 1 * sizeof(unsigned long long));