POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
CORESRCS = uart.c \
- util.c
+ util.c \
+ util_posix.c
CMDSRCS = crapto1/crapto1.c\
crapto1/crypto1.c\
#include <string.h>
#include <unistd.h>
#include "util.h"
+#include "util_posix.h"
#include "iso14443crc.h"
#include "data.h"
#include "proxmark3.h"
#include <unistd.h>
#include <stdio.h>
#include "util.h"
+#include "util_posix.h"
#include "proxmark3.h"
#include "ui.h"
#include "cmdparser.h"
#include "cmdmain.h"\r
#include "cmdhfmfhard.h"\r
#include "util.h"\r
+#include "util_posix.h"\r
#include "usb_cmd.h"\r
#include "ui.h"\r
#include "mifarehost.h"\r
#include "cmdmain.h"
#include "ui.h"
#include "util.h"
+#include "util_posix.h"
#include "crapto1/crapto1.h"
#include "parity.h"
#include "hardnested/hardnested_bruteforce.h"
#include "cmdlf.h"
#include "cmdmain.h"
#include "util.h"
+#include "util_posix.h"
#include "cmdscript.h"
#include "cmdcrc.h"
#include <unistd.h>
#include "proxmark3.h"
#include "util.h"
+#include "util_posix.h"
#include "flash.h"
#include "elf.h"
#include "proxendian.h"
#include <inttypes.h>
#include "proxmark3.h"
#include "util.h"
+#include "util_posix.h"
#include "flash.h"
#include "uart.h"
#include "usb_cmd.h"
#include "hardnested_bf_core.h"
#include "ui.h"
#include "util.h"
+#include "util_posix.h"
#include "crapto1/crapto1.h"
#include "parity.h"
#include <string.h>
#include <stdio.h>
#include "util.h"
+#include "util_posix.h"
#include "cipherutils.h"
#include "cipher.h"
#include "ikeys.h"
// utilities
//-----------------------------------------------------------------------------
-#if !defined(_WIN32)
-#define _POSIX_C_SOURCE 199309L // need nanosleep()
-#endif
-
#include "util.h"
#include <stdint.h>
#include <time.h>
#include "data.h"
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
#define MAX_BIN_BREAK_LENGTH (3072+384+1)
#ifndef _WIN32
}
-// Timer functions
-#if !defined (_WIN32)
-#include <errno.h>
-
-static void nsleep(uint64_t n) {
- struct timespec timeout;
- timeout.tv_sec = n/1000000000;
- timeout.tv_nsec = n%1000000000;
- while (nanosleep(&timeout, &timeout) && errno == EINTR);
-}
-
-void msleep(uint32_t n) {
- nsleep(1000000 * n);
-}
-
-#endif // _WIN32
-// a milliseconds timer for performance measurement
-uint64_t msclock() {
-#if defined(_WIN32)
- #include <sys/types.h>
-
- // WORKAROUND FOR MinGW (some versions - use if normal code does not compile)
- // It has no _ftime_s and needs explicit inclusion of timeb.h
- #include <sys/timeb.h>
- struct _timeb t;
- _ftime(&t);
- return 1000 * t.time + t.millitm;
-
- // NORMAL CODE (use _ftime_s)
- //struct _timeb t;
- //if (_ftime_s(&t)) {
- // return 0;
- //} else {
- // return 1000 * t.time + t.millitm;
- //}
-#else
- struct timespec t;
- clock_gettime(CLOCK_MONOTONIC, &t);
- return (t.tv_sec * 1000 + t.tv_nsec / 1000000);
-#endif
-}
// determine number of logical CPU cores (use for multithreaded functions)
extern int num_CPUs(void)
return 1;
#endif
}
+
extern void clean_ascii(unsigned char *buf, size_t len);
-// timer functions/macros
-#ifdef _WIN32
-# include <windows.h>
-# define sleep(n) Sleep(1000 *(n))
-# define msleep(n) Sleep((n))
-#else
-extern void msleep(uint32_t n); // sleep n milliseconds
-#endif // _WIN32
-
-extern uint64_t msclock(); // a milliseconds clock
extern int num_CPUs(void); // number of logical CPUs
#endif // UTIL_H__
--- /dev/null
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// utilities requiring Posix library functions
+//-----------------------------------------------------------------------------
+
+#if !defined(_WIN32)
+#define _POSIX_C_SOURCE 199309L // need nanosleep()
+#else
+#include <windows.h>
+#endif
+
+#include "util_posix.h"
+#include <stdint.h>
+#include <time.h>
+
+
+// Timer functions
+#if !defined (_WIN32)
+#include <errno.h>
+
+static void nsleep(uint64_t n) {
+ struct timespec timeout;
+ timeout.tv_sec = n/1000000000;
+ timeout.tv_nsec = n%1000000000;
+ while (nanosleep(&timeout, &timeout) && errno == EINTR);
+}
+
+void msleep(uint32_t n) {
+ nsleep(1000000 * n);
+}
+#endif // _WIN32
+
+// a milliseconds timer for performance measurement
+uint64_t msclock() {
+#if defined(_WIN32)
+ #include <sys/types.h>
+
+ // WORKAROUND FOR MinGW (some versions - use if normal code does not compile)
+ // It has no _ftime_s and needs explicit inclusion of timeb.h
+ #include <sys/timeb.h>
+ struct _timeb t;
+ _ftime(&t);
+ return 1000 * t.time + t.millitm;
+
+ // NORMAL CODE (use _ftime_s)
+ //struct _timeb t;
+ //if (_ftime_s(&t)) {
+ // return 0;
+ //} else {
+ // return 1000 * t.time + t.millitm;
+ //}
+#else
+ struct timespec t;
+ clock_gettime(CLOCK_MONOTONIC, &t);
+ return (t.tv_sec * 1000 + t.tv_nsec / 1000000);
+#endif
+}
+
--- /dev/null
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// utilities requiring Posix library functions
+//-----------------------------------------------------------------------------
+
+#ifndef UTIL_POSIX_H__
+#define UTIL_POSIX_H__
+
+#include <stdint.h>
+
+#ifdef _WIN32
+# include <windows.h>
+# define sleep(n) Sleep(1000 *(n))
+# define msleep(n) Sleep((n))
+#else
+extern void msleep(uint32_t n); // sleep n milliseconds
+#endif // _WIN32
+
+extern uint64_t msclock(); // a milliseconds clock
+
+#endif
CFLAGS = -std=c99 -D_ISOC99_SOURCE -I../../common -I../../client -Wall -O3
LDFLAGS =
-OBJS = crypto1.o crapto1.o parity.o util.o mfkey.o
+OBJS = crypto1.o crapto1.o parity.o util_posix.o mfkey.o
EXES = mfkey32 mfkey64
WINEXES = $(patsubst %, %.exe, $(EXES))
#include <stdlib.h>
#include "crapto1/crapto1.h"
#include "mfkey.h"
-#include "util.h"
+#include "util_posix.h"
+
// 32 bit recover key from 2 nonces
int main (int argc, char *argv[]) {
#include <string.h>
#include <inttypes.h>
#include "crapto1/crapto1.h"
-#include "util.h"
+#include "util_posix.h"
int main (int argc, char *argv[])
{