FlyerTalk Forums - View Single Post - Reverse Engineering Priority Pass Apple Wallet / QRCodes
Old Feb 6, 2017 | 9:48 am
  #6  
mrothly
10 Countries Visited20 Countries Visited30 Countries Visited5 Years on Site
 
Join Date: Apr 2016
Location: Brooklyn, NY
Programs: DL DM / GE / APEC
Posts: 61
Originally Posted by motocrossmann
MROTHLY, did you make any progress here? Sadly, I'm a Chase PP member, so no QR code for me. I like your angle though. There is nothing special about a QR code, it is just a series of letters/numbers.
I made a decent amount of progress, but only one person was able to send me a working QR to look at, so I don't have enough data to fully figure it out yet.

For the most part the QR code is really simple -- just encodes some text roughly like this format:
PP/[$issue-date]/[$cardholder-name]/[$expiration-date]/[$account-number]//[$checksum]

All of those are things that are normally visible on your card except for the checksum (which is a calculated hash designed to make sure the other fields are read correctly). Without more examples though, I can't reverse engineer how the checksum is calculated.

As a test, I made myself a QR code with my actual account details and just put junk data in the checksum field. This actually still worked in about 50% of the lounges I tried it in (the other half got a scan error, and ended up just manually typing in the details).

Since I was curious I also bought a cheap mag stripe card reader and looked at what is on the physical PP card. It's very similar, but doesn't have a checksum field at all (which is ironic since QR codes have built in data redundancy making the checksum largely irrelevant, whereas magstripes get misreads all the time and a checksum would actually be useful in the field).

Last edited by mrothly; Feb 6, 2017 at 9:50 am Reason: formatting
mrothly is offline