Research, development and trades concerning the powerful Proxmark3 device.
Remember; sharing is caring. Bring something back to the community.
"Learn the tools of the trade the hard way." +Fravia
Time changes and with it the technology
Proxmark3 @ discord
Users of this forum, please be aware that information stored on this site is not private.
What if we made a luascript that took all trace-files inside the traces folder and did a "data load" "lf search" and saved the output to a file. Easy to see which traces that doesn't decode. You could say its a "self-test" script.
The another lua-script I thought of would is one that would test a T55x7 tag which different configurations for PSK..
lf t55xx write 0 00088040
lf read
data samples
data pskdet
data psknrz
data pskindala
data psknrzraw
Where it iterates over
xxxx8xxx = PSK RF/2 with Manchester modulation
xxxx1xxx = PSK RF/2 with PSK1 modulation (phase change when input changes)
xxxx2xxx = PSK RF/2 with PSk2 modulation (phase change on bitclk if input high)
xxxx3xxx = PSK RF/2 with PSk3 modulation (phase change on rising edge of input)
and underneath each and one about, also this four
XXXXX0XX = PSK RF/2
XXXXX4XX = PSK RF/4
XXXXX8XX = PSK RF/8
The output could also be save to a file...
Someone up for it?
The lf search currently only searches for hid, em410x, ioprox, and indala. If the trace isn't one of those it won't output. Several traces are not actual tags, but modulation examples that can be demoded but not by lf search
I made a simple version of suggestion number 1,
It loads traces starting with EM* and MOD*
afterwards it runs "data load" | "lf search" for each found file name.
however, the "lf search" must be modified to read from graphbuffer, Marshmellows "!offline" only works if the pm3-device in not connected.
char cmdp = param_getchar(Cmd, 0);
if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') {
PrintAndLog("Usage: lf search <0|1>");
PrintAndLog(" <use data from Graphbuffer>, if not set, try reading data from tag.");
PrintAndLog("");
PrintAndLog(" sample: lf search");
PrintAndLog(" : lf search 1");
return 0;
}
if (cmdp != '1' ){
ans = CmdLFRead("");
} else if (GraphTraceLen < 1000) {
PrintAndLog("Data in Graphbuffer was too small.");
return 0;
}
It is easy enough to unplug it.
I did see in the next pull request you changed it to take input.
I have some modifications to clarify the output as well.
And here is a test for the psk idea with a T55x7 tag...
Running my tracetest script against the now LF commands looks kind of cool
I also think there is a problem inside the FSK demods, since my client crashes around there in the test.
i found it.
need to add one line to lfdemod.c - Em410xDecode(...)
after the preambleSearch call
if (*size<64) return 0;
i will include this in my next pull request.
No problem