Search code examples
delphirfid

RFID card identification


I am looking for some libraries in delphi to programming and reading from RFID cards. today I use normal Mifare 1k cards, and use a simple library to read the cards UID, but I would like to do more with these cards, like storing and reading from theire memory.

today my development uses PCSCconnector.pas library in delphi (PC/SC Interface component)

I am not sure if this is capable of doing anything more advanced other than just send code to return the UID number of my cards ?

if not, what else is there out there who can be used?

in a second note, can someone push me in the right direction on how to identify card types?. what kind of RFID card I am holding, what are the parameters, mifare 1k. 5k? java card etc etc ?


Solution

  • This doesn't exactly answer your question, but a few notes and hints:

    The problem with Mifare 1k (all Mifare Classic cards, not DESFire, Ultralight etc.) is that they are proprietary. Reading the UID is a standard function, supported by all ISO14443-compliant readers. To read/write data, you need to have a reader with Mifare (classic) support.

    This raises the question on what kind of reader you are using?

    The protocol and algorithms were reverse-engineered, but NXP does not license the crypto algorithm (crypto-1) - means any open source library doing so (there might be some) is probably not legal.

    Documentation for all other NXP Mifare cards is only available under NDA.

    EDIT:

    SpringCard does have a lot of diagnostic software tools available on their website as well as a lot of other PC/SC-related resources. I think it is mainly C++/C#-focused.

    http://www.springcard.com/solutions/pcsc.html

    PC/SC Diag for example is quite handy for some quick tests on a card.