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.
Different formats of farpointe? Might not need a new thread.
Different tags altogether definitely should start a new thread.
Offline
@iceman, did you use a tool to test different checksums/polys?
Offline
Problem now. I used an online tool to verify the CRC's also, but the expansion of the calculation is vague. I also currently don't have any source code to perform the calculation in vb.net. Does anyone know how to expand this crc caclulation by hand so that I can write some code to calculate the final result?
Offline
I had a generic crc.h / crc.c in my common folder. Maybe I put it there long time ago.
static crc_t maxim_crc;
/* calculate crc for a FARPOINT tag */
static int MaximCRC(uint8_t *buff, size_t size ) {
crc_init(&maxim_crc, 8, 0x31, 0x00, 0x00);
crc_clear(&maxim_crc);
for ( int i=0; i < size; ++i){
crc_update(&maxim_crc, buff[i], 8);
}
return crc_finish(&maxim_crc);
}
// called with:
uint8_t buff[] = { 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01,
0x01, 0x40, 0x01, 0x01, 0x04 };
int crc8 = MaximCRC(buff, 13);
PrintAndLog("CRC-8: %x",crc8);
This works.
Offline
@marshmellow, yes, I do use a tool for checking many different kinds of CRC algos.
Offline
Iceman, do you have the four other subroutines required to get this c code working? Mainly CRC_INIT(), CRC_CLEAR() & CRC_UPDATE(), CRC_FINISH?
If not I can write some code based on an expansion I have...
Last edited by hkplus (2015-03-12 13:32:31)
Offline
I found this link that has VBA code for this checksum. Just note it expects the input to be big endian. But the code works.
http://www.maximintegrated.com/en/app-n … vp/id/4600
Offline
@hkplus: in my fork under common, there is the crc.c / crc.h which has what you want. https://github.com/iceman1001/proxmark3 … mmon/crc.c
Offline
Cool let me see if I can convert this code to my fav VB.NET...thanks!
Offline
If we commit the crc.c , then Marshmellow can add the checksum to his lf demods...
Offline
I'll look at adding it.
Offline
just take the crc.c / crc.h under common, and the method above and bob's your uncle
Offline
z
Last edited by hkplus (2016-05-01 04:46:30)
Offline
I think @marshmellow will soon push some code to the PM3 master.
Offline
Committed (a while ago actually)
Offline
MaxSecure is easy...it's a 14 bit number put into D11 and D10 that throws off the checksum calculation.
Last edited by hkplus (2015-03-29 02:17:46)
Offline
Sample?
Offline
a sample would be much appreaciated.
Offline
A trace or an hex example would suffice.
Offline
Sorry I have been away.
Here you go:
FC 10, ID 2500, MaxSecure 1500, 26 Bit Wiegand:
BLOCK 0: 80107080
BLOCK 1: 00010116
BLOCK 2: B9010101
BLOCK 3: 01010140
BLOCK 4: A14F102F
Offline
Using your block 0-4 I got this out.
Possible Auto Correlation of 6402 repeating samples
Using Clock:50, invert:0, fchigh:10, fclow:8
FSK2 decoded bitstream:
0010100011011111
1101111111011111
1101111111011111
1101111111010111
1110101111010110
0001110111111010
0000000000000000
0000000000000000
0010100011011111
1101111111011111
1101111111011111
1101111111010111
1110101111010110
0001110111111010
0000000000000000
0000000000000000
0010100011011111
1101111111011111
1101111111011111
1101111111010111
1110101111010110
0001110111111010
0000000000000000
0000000000000000
0010100011011111
1101111111011111
1101111111011111
1101111111010111
1110101111010110
0001110111111010
0000000000000000
0000000000000000
Offline
I edited this whole post. The CRC-8/Maxim works for both samples.
I don't know what made me think it was different?
However, please tell me what it is we were looking for again? MaxSecure has the two different bytes, and we need to descramble it or?!?
Last edited by iceman (2015-04-07 20:47:04)
Offline
Checksum works the same way as standard 26 bit.
Example 2
FC 20, ID 2100, MaxSecure 1200:
BLOCK 0: 80107080
BLOCK 1: 00010113
BLOCK 2: 61010101
BLOCK 3: 01010143
BLOCK 4: 4040D3E9
Offline
I edited this whole post. The CRC-8/Maxim works for both samples.
I don't know what made me think it was different?However, please tell me what it is we were looking for again? MaxSecure has the two different bytes, and we need to descramble it or?!?
Nothing to solve. MaxSecure is just another number shoved into D11 and D10 that throws off the result of the checksum calculation. This is how the reader rejects cards that do not have the correct MaxSecure number encoded on them.
Offline
The two examples you gave, gets a correct checksum. In which way do you think the extra number throws off the result?
Offline
is the maxsecure number set per customer/location or does it change with every card? (calculated?)
nevermind - it is specified like another Facility Code.
Last edited by marshmellow (2015-04-07 23:44:14)
Offline
By throw off the result I mean that the reader substitutes it's programmed MaxSecure number into D11 and D10 before comparing the cards checksum to its calculated one. Yes MaxSecure works like a second facility code on the reader level without effecting the actual card data output of the reader.
Offline
thanks for explaining it.
Offline
Yes, I too appreciate your work on these tags hkplus.
Offline
I appreciate all of you guys help also. I'm currently messing with trying to get Indala 26 bit and HID ABA working on 5577...
Offline
Don't want to continue this thread on a different topic, but is there any detailed information on how to implement HID ABA formats on 5577? There is a listing of it in some posts, but no details on how to get the reader to recognize it as ABA data...
Offline
bin 200 new try, after inverted writing to new tag, but it don't work ?? FSK
proxmark3> data rawdemod fs
Args invert: 0 - Clock:50 - fchigh:10 - fclow: 8
FSK decoded bitstream:
1110111111101111
1110111111101111
1110111111101010
1000001111100000
0001110001111001
0100111111111111
1110111111101111
1110111111101111
1110111111101111
1110111111101111
1110111111101010
1000001111100000
0001110001111001
0100111111111111
1110111111101111
1110111111101111
proxmark3>
proxmark3> data rawdemod fs 50 1
Args invert: 1 - Clock:50 - fchigh:10 - fclow: 8
FSK decoded bitstream:
0000000000000010
0000001000000010
0000001000000010
0000001000000010
0000001000000010
0000001010101111
1000001111111100
0111000011010110
0000000000000010
0000001000000010
0000001000000010
0000001000000010
0000001000000010
0000001010101111
1000001111111100
0111000011010110
proxmark3>
Offline
is invert necessary ?? please help , thks
Offline
if the tag you are working with is FSK2a modulated then Invert is necessary to read it. if it is FSK2 then no invert is needed.
if it is a "known" tag and your PM3 is up to date you should be using "lf search" to read it.
Offline
Checking for known tags:
Pyramid ID Found - BitLength: 26, FC: 188, Card: 8142 - Wiegand: 1783f9c, Raw: 000101010101010101010157c1fe386b
Checksum 6b passed
Valid Pyramid ID Found!
NOTE: some demods output possible binary
if it finds something that looks like a tag
False Positives ARE possible
Checking for known tags:
Pyramid ID Found - BitLength: 26, FC: 188, Card: 8142 - Wiegand: 1783f9c, Raw: 000101010101010101010157c1fe386b
Checksum 6b passed
Valid Pyramid ID Found!
Args invert: 0 - Clock:16 - fchigh:10 - fclow: 8
FSK decoded bitstream:
1111111111111101
1000011111011111
1111111111100001
1111111111111111
1111100011111111
1111111111111100
0111111111111111
1111111000011111
1111111111111111
1000011111111111
1111111111100011
1111111111111111
1111000111111111
1111111111111000
0111111111111111
1111111000011100
Data in Graphbuffer was too small.
yes, could it clock 16 or 50 ?
Offline
maybe some bugs with bin 200
Offline
bin 200?
looks like it identified your tag fine and output the RAW ID for you. - not sure what more you need.
Last edited by marshmellow (2015-04-27 20:28:45)
Offline
BTW, your output is jumbled, you must be sending multiple commands and pasting SOME of the output from each
Offline
Yeah, Im also curious? Whats the "bin 200"
Offline
version 2.0.0?
EDIT: i get it i think. Aspers compiled binaries are named as pm3-bin-2.0.0
Last edited by marshmellow (2015-04-27 20:41:58)
Offline
but is not working well as 007 ..
Offline
Well, the latest PM3 release, https://github.com/Proxmark/proxmark3/r … tag/v2.0.0
is also call 2.0.0,
Can you compile the latest source yourself, Joe? There has been some changes since the latest offical release.
And yes, I wonder the same as @Marshmellow, what more is it that you are looking for??
Last edited by iceman (2015-04-27 21:02:16)
Offline
I download from window client . Am I right ?
Offline
If you don't know how to compile the sourcecode, then keep using Aspers pre-compiled binary distros.
Offline
Will try again, Just wonder the config block 00107xxx or 80107xxx ?
Offline
Doesn't matter. Look at chip datasheet for why.
Offline
Hi,
Looking at this thread I can see marshmellow, hkplus & iceman did some great work!
I did a lf search and it found a 26 bit pyramid card and it displayed the facility code, card number, wiegand and raw output etc.
I am wondering if there is any command to clone the card?
Thanks
Offline
I might suggest, that you read the documentation for T55x7 tags, and understand how those tags works.
It will help you to clone all sorts of LF tags. But to answer you question, no there is no specific clone command for Pyramid tags at the momement. If you feel the need for it, you are much welcome to add it to the source code.
Offline
I might suggest, that you read the documentation for T55x7 tags, and understand how those tags works.
It will help you to clone all sorts of LF tags. But to answer you question, no there is no specific clone command for Pyramid tags at the momement. If you feel the need for it, you are much welcome to add it to the source code.
Thanks for the suggestion iceman. I am trying to learn as much as I can about the proxmark and the relevant tags. There is a lot of knowledge in these forums and a few other RFID websites. Do you have any suggested reading materials for a relative newbie as a good place to start? Thanks
Offline
The document section on this site is a'ok.
Offline