projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CHG: "script run emlu2dump" now can read old legic hex-ascii dumps. (with spaces...
[proxmark3-svn]
/
client
/
cmdlfviking.c
diff --git
a/client/cmdlfviking.c
b/client/cmdlfviking.c
index f717c3f9bf046528f19575296d0910462117058d..039e4ae6015a3bdd7a99a4a63df69d614f777d7a 100644
(file)
--- a/
client/cmdlfviking.c
+++ b/
client/cmdlfviking.c
@@
-47,9
+47,9
@@
int usage_lf_viking_sim(void) {
// calc checksum
uint64_t getVikingBits(uint32_t id) {
// calc checksum
uint64_t getVikingBits(uint32_t id) {
- uint8_t checksum = (
id>>24
) ^ ((id>>16) & 0xFF) ^ ((id>>8) & 0xFF) ^ (id & 0xFF) ^ 0xF2 ^ 0xA8;
+ uint8_t checksum = (
(id>>24) & 0xFF
) ^ ((id>>16) & 0xFF) ^ ((id>>8) & 0xFF) ^ (id & 0xFF) ^ 0xF2 ^ 0xA8;
uint64_t ret = (uint64_t)0xF2 << 56;
uint64_t ret = (uint64_t)0xF2 << 56;
- ret |= (
id << 8)
;
+ ret |= (
uint64_t)id << 8
;
ret |= checksum;
return ret;
}
ret |= checksum;
return ret;
}
@@
-80,7
+80,8
@@
int CmdVikingClone(const char *Cmd) {
Q5 = true;
rawID = getVikingBits(id);
Q5 = true;
rawID = getVikingBits(id);
-
+
+ PrintAndLog("Cloning - ID: %08X, Raw: %08X%08X",id,(uint32_t)(rawID >> 32),(uint32_t) (rawID & 0xFFFFFFFF));
UsbCommand c = {CMD_VIKING_CLONE_TAG,{rawID >> 32, rawID & 0xFFFFFFFF, Q5}};
clearCommandBuffer();
SendCommand(&c);
UsbCommand c = {CMD_VIKING_CLONE_TAG,{rawID >> 32, rawID & 0xFFFFFFFF, Q5}};
clearCommandBuffer();
SendCommand(&c);
@@
-107,9
+108,10
@@
int CmdVikingSim(const char *Cmd) {
arg1 = clk << 8 | encoding;
arg2 = invert << 8 | separator;
arg1 = clk << 8 | encoding;
arg2 = invert << 8 | separator;
+ PrintAndLog("Simulating - ID: %08X, Raw: %08X%08X",id,(uint32_t)(rawID >> 32),(uint32_t) (rawID & 0xFFFFFFFF));
+
UsbCommand c = {CMD_ASK_SIM_TAG, {arg1, arg2, size}};
UsbCommand c = {CMD_ASK_SIM_TAG, {arg1, arg2, size}};
- PrintAndLog("preparing to sim ask data: %d bits", size);
- num_to_bytebits(rawID, 64, c.d.asBytes);
+ num_to_bytebits(rawID, size, c.d.asBytes);
clearCommandBuffer();
SendCommand(&c);
return 0;
clearCommandBuffer();
SendCommand(&c);
return 0;
@@
-124,6
+126,7
@@
static command_t CommandTable[] = {
};
int CmdLFViking(const char *Cmd) {
};
int CmdLFViking(const char *Cmd) {
+ clearCommandBuffer();
CmdsParse(CommandTable, Cmd);
return 0;
}
CmdsParse(CommandTable, Cmd);
return 0;
}
Impressum
,
Datenschutz