/* get clock */
clock = GetClock(Cmd, high, 0);
-
+
/* parity for our 4 columns */
parity[0] = parity[1] = parity[2] = parity[3] = 0;
header = rows = 0;
retest:
/* We go till 5 before the graph ends because we'll get that far below */
- for (i = 1; i < bit2idx - 5; i++)
+ for (i = 0; i < bit2idx - 5; i++)
{
/* Step 2: We have our header but need our tag ID */
if (header == 9 && rows < 10)
PrintAndLog("Thought we had a valid tag but failed at word %d (i=%d)", rows + 1, i);
/* Start back rows * 5 + 9 header bits, -1 to not start at same place */
- i -= 9 + (5 * rows) - 5;
+ i -= 9 + (5 * rows) -2;
rows = header = 0;
}
return 0;
}
- PrintAndLog("Starting simulating with UID %02X %02X %02X %02X %02X", uid[0],uid[1],uid[2],uid[3],uid[4]);
-
+ PrintAndLog("Starting simulating UID %02X%02X%02X%02X%02X", uid[0],uid[1],uid[2],uid[3],uid[4]);
+ PrintAndLog("Press pm3-button to about simulation");
/* clock is 64 in EM410x tags */
int clock = 64;
/* clear our graph */
- ClearGraph(0);
- GraphTraceLen = 0;
+ ClearGraph(1);
/* write it out a few times */
for (h = 0; h < 4; h++)
}
/* modulate that biatch */
- CmdManchesterMod("");
+ CmdManchesterMod("64");
/* booyah! */
RepaintGraphWindow();
- CmdLFSim("64");
+ CmdLFSim("");
return 0;
}
}
CmdLFRead(read_h ? "h" : "");
- CmdSamples("12000");
+ CmdSamples("16000");
} while (
- !CmdEM410xRead("64")
+ !CmdEM410xRead("")
);
return 0;
}
++i;
while ((GraphBuffer[i] > low) && (i<GraphTraceLen))
++i;
- if (j>(MAX_GRAPH_TRACE_LEN/64)) {
+ if (j>=(MAX_GRAPH_TRACE_LEN/64)) {
break;
}
tmpbuff[j++]= i - start;
return 1;
}
- PrintAndLog("Writting word %d with data %08X", Word, Data);
+ PrintAndLog("Writing word %d with data %08X", Word, Data);
c.cmd = CMD_EM4X_WRITE_WORD;
c.d.asBytes[0] = 0x0; //Normal mode
int CmdWriteWordPWD(const char *Cmd)
{
- int Word = 8; //default to invalid word
+ int Word = 16; //default to invalid word
int Data = 0xFFFFFFFF; //default to blank data
int Password = 0xFFFFFFFF; //default to blank password
UsbCommand c;
return 1;
}
- PrintAndLog("Writting word %d with data %08X and password %08X", Word, Data, Password);
+ PrintAndLog("Writing word %d with data %08X and password %08X", Word, Data, Password);
c.cmd = CMD_EM4X_WRITE_WORD;
c.d.asBytes[0] = 0x1; //Password mode