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
You are not logged in.
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.
Hi guys,
I am writing a small script to detect whether a random card placed on the LF antenna is a HID or a EM410x.
In order to detect a HID card, my intention is to issue the command "lf hid fskdemod 1", while issue the command "lf em4x em410xdemod 1" to detect the presence of a EM410x card.
But the problem I am facing is that after issuing the "lf hid fskdemod 1", the proxmark will be waiting for the HID card to be present before it execute the next command, "lf em4x em410xdemod 1".
My question is, is there any way to stop the command after few seconds (beside pressing the button or re-plug the USB cable to the proxmark)?
Thank you.
Online
Use lf search. And no, no other stop method is implemented
Offline
Thanks Marshmellow
Online
well.. not implemented right now but as I understand it the Craig standalone mod together with Holiman are sorting this one out as we speak.
Offline
@iceman ? I don't believe they are touching the hid fskdemod or em410xdemod...
Offline
Indeed they were not talking about "hid fskdemod" nor "em410xdemod" but the solution would have been general one. Which could be used in the aformentioned commands. If there is a solution, I may add. I'vent spoken to @holiman about it.
Offline
If the fskdemod checks for usb activity, you can now use 'hw ping' or 'hw status' to abort the operation. It appears it does not (armsrc/lfops.c):
// loop to get raw HID waveform then FSK demodulate the TAG ID from it
void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol)
{
uint8_t *dest = BigBuf_get_addr();
//const size_t sizeOfBigBuff = BigBuf_max_traceLen();
size_t size;
uint32_t hi2=0, hi=0, lo=0;
int idx=0;
// Configure to go in 125Khz listen mode
LFSetupFPGAForADC(95, true);
while(!BUTTON_PRESS()) {
If you changed that last line to
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
I think it would work the way you want it to. If it works, please add an issue/request in github for it. It's easier to discuss around issues/features on github, since it's less noise there is not buried after 24hrs of inactivity.
Offline