Within the proxmark client, some commands have some quirks that need to be worked around in order to achieve a given goal, in the case of IOProx we need to convert the facility code to decimal in order to write it using the ioprox command set.
Here you can see we received this output from lf search
[+] IO Prox - XSF(01)74:18114, Raw: 00785d20346e164b ( ok )
To contextualise this data relevant to the lf io clone -h commmand:
[+] IO Prox - XSF(vn)fc:cn
The proxmark gives you the above values in these formats:
This is a problem, because to use the lf io clone command, we need to provide the data in all decimal values.
So if we provided lf io clone --vn 1 --fc 74 --cn 18114 it would not clone correctly and would infact encode the ioprox like so:
This is because we used 74 for the facility code option, while it looks like a decimal number it is infact a hexidecimal number, so if we give it to the proxmark as a decimal number, when it encodes the data, it converts 74 to 4a.
IMPORTANT
To counteract this we must convert theFCto decimal before supplying it in thelf io clonecommand like so:
74converted from hexadecimal to decimal is116
Now, knowing we need to use 116 we can go ahead and use this command to make a perfect clone of our original tag data: