9

I am currently researching my studentcard. Money is stored on this card.

But the vending machine also checks a checksum on the card. I already did a lot of effort to find it but didn't succeed.

The information:

Studentcard layout: Studentcard Layout

Some transaction with the card. Only these values change on the card. Transactions (Unknown value(pink) is the checksum)

I did some testing with changing the values and this what I concluded from it:

  • Transaction byte is used in the checksum
  • Money is also used in the checksum
  • Some unique value from the card is also used.

Thanks for any help! Meanwhile I will keep breaking my head :)

  • 1
    You could try feeding various parts of your card into Reveng to check if it's one of the common CRC algorithms. But i'd read out a few more cards first to get more examples. – Guntram Blohm May 23 '16 at 11:50
  • 1
    Also, don't get your hopes up too much. You can always upload 50€, read the values, spend 49,80€, then reset the values to 50€ again. But unless the vending machine was designed in the 1990s, it will have an online connection to a server that knows how much money should be on the card, and maybe use the card values as fallback when the online connection doesn't work. In that case, it'll update transactions to the server later. So, cheating won't work in most cases, and if/when it does, you'll be found out later. – Guntram Blohm May 23 '16 at 11:56
  • Well I already tried resetting it and that worked. ;) So I actually have free money now. But that's to easy, I want to "hack" it completely. I already checked Reveng and tried something but due lack of knowledge in CRC it was hard to make anything useful. I made a python scripts which tries to brute force the crc by doing XOR. Didn't succeed. Now I am making a C program which will bruteforce many CRC16's with the values on the card. Any help for Reveng would be welcome ofcourse. – 6kgstront May 23 '16 at 12:18
  • @6kgstront Hey op, how does your setup look, I mean its just an RFID reader/writer and a suitable program? Which one did you use? – NirPes May 23 '16 at 16:35
  • 2
    @VitalyOsipov I have permission to test this issue. It's for my thesis. :) – 6kgstront May 24 '16 at 6:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.