mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-01 10:34:45 +08:00
DbpStringEx using reply_ng
This commit is contained in:
parent
cf68c972f0
commit
eebea8c088
2 changed files with 25 additions and 5 deletions
|
@ -116,8 +116,14 @@ void print_result(char *name, uint8_t *buf, size_t len) {
|
|||
|
||||
void DbpStringEx(char *str, uint32_t cmd) {
|
||||
#if DEBUG
|
||||
uint8_t len = strlen(str);
|
||||
reply_mix(CMD_DEBUG_PRINT_STRING, len, cmd, 0, (uint8_t *)str, len);
|
||||
struct {
|
||||
uint16_t flag;
|
||||
uint8_t buf[USB_CMD_DATA_SIZE - sizeof(uint16_t)];
|
||||
} PACKED data;
|
||||
data.flag = cmd;
|
||||
uint16_t len = MIN(strlen(str), sizeof(data.buf));
|
||||
memcpy(data.buf, str, len);
|
||||
reply_ng(CMD_DEBUG_PRINT_STRING, PM3_SUCCESS, (uint8_t*)&data, sizeof(data.flag) + len);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -253,9 +253,23 @@ static void PacketResponseReceived(PacketResponseNG *packet) {
|
|||
|
||||
char s[USB_CMD_DATA_SIZE + 1];
|
||||
memset(s, 0x00, sizeof(s));
|
||||
size_t len = MIN(packet->oldarg[0], USB_CMD_DATA_SIZE);
|
||||
|
||||
size_t len;
|
||||
uint16_t flag;
|
||||
if (packet->ng) {
|
||||
struct d {
|
||||
uint16_t flag;
|
||||
uint8_t buf[USB_CMD_DATA_SIZE - sizeof(uint16_t)];
|
||||
} PACKED;
|
||||
struct d* data = (struct d*)&packet->data.asBytes;
|
||||
len = packet->length - sizeof(data->flag);
|
||||
memcpy(s, data->buf, len);
|
||||
flag = data->flag;
|
||||
} else {
|
||||
len = MIN(packet->oldarg[0], USB_CMD_DATA_SIZE);
|
||||
memcpy(s, packet->data.asBytes, len);
|
||||
uint64_t flag = packet->oldarg[1];
|
||||
flag = packet->oldarg[1];
|
||||
}
|
||||
|
||||
switch (flag) {
|
||||
case FLAG_RAWPRINT:
|
||||
|
|
Loading…
Reference in a new issue