mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
added FillBuffer function for fill buffers in hash checks
This commit is contained in:
parent
efa76c7be4
commit
5dda51ed1c
2 changed files with 33 additions and 0 deletions
|
@ -23,6 +23,7 @@ uint8_t g_debugMode = 0;
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
int ukbhit(void) {
|
int ukbhit(void) {
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
@ -120,6 +121,35 @@ void FillFileNameByUID(char *filenamePrefix, uint8_t *uid, const char *ext, int
|
||||||
strcat(filenamePrefix, ext);
|
strcat(filenamePrefix, ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fill buffer from structure [{uint8_t data, size_t length},...]
|
||||||
|
int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...) {
|
||||||
|
*dataLength = 0;
|
||||||
|
va_list valist;
|
||||||
|
va_start(valist, dataLength);
|
||||||
|
|
||||||
|
uint8_t *vdata = NULL;
|
||||||
|
size_t vlength = 0;
|
||||||
|
do{
|
||||||
|
vdata = va_arg(valist, uint8_t *);
|
||||||
|
if (!vdata)
|
||||||
|
break;
|
||||||
|
|
||||||
|
vlength = va_arg(valist, size_t);
|
||||||
|
if (*dataLength + vlength > maxDataLength) {
|
||||||
|
va_end(valist);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(&data[*dataLength], vdata, vlength);
|
||||||
|
*dataLength += vlength;
|
||||||
|
|
||||||
|
} while (vdata);
|
||||||
|
|
||||||
|
va_end(valist);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, const size_t hex_max_len,
|
void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, const size_t hex_max_len,
|
||||||
const size_t min_str_len, const size_t spaces_between, bool uppercase) {
|
const size_t min_str_len, const size_t spaces_between, bool uppercase) {
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,9 @@ extern void AddLogUint64(char *fileName, char *extData, const uint64_t data);
|
||||||
extern void AddLogCurrentDT(char *fileName);
|
extern void AddLogCurrentDT(char *fileName);
|
||||||
extern void FillFileNameByUID(char *filenamePrefix, uint8_t * uid, const char *ext, int uidlen);
|
extern void FillFileNameByUID(char *filenamePrefix, uint8_t * uid, const char *ext, int uidlen);
|
||||||
|
|
||||||
|
// fill buffer from structure [{uint8_t data, size_t length},...]
|
||||||
|
extern int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...);
|
||||||
|
|
||||||
extern void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len,
|
extern void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len,
|
||||||
const size_t hex_max_len, const size_t min_str_len, const size_t spaces_between,
|
const size_t hex_max_len, const size_t min_str_len, const size_t spaces_between,
|
||||||
bool uppercase);
|
bool uppercase);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue