I wouldnāt own him either⦠Not that we own catsā¦
You broke Rule 1 AND Rule 2
So I managed to break the xAC by mistake. I mightāve almost set something on fire. It shorted after the massive storm we had pass over us and it shorted, burned a circuit and yāknow⦠kaput.
So I cheaped out and somehow found a solution on Facebook marketplace, picked that up and installed it slightly more waterproof this time. But now, Iāve got two RFID antennas.
So now Iām wondering, could I make a splice into the wiring that goes from the Antenna to the xAC and wire in the second antenna with extended wiring to have another antenna on the inside of the car?
Or would that somehow interfere with its reading capabilities? Seems to me like itād work just fine, but I donāt wanna risk cutting before I know for sureā¦
option 1) just try it. option 2) get complicated.
in theory it will not work because the inductance will be all wrong⦠but it might not matter if its off⦠could still work well enough.
what should be happening is a flip flop that multiplexes between both antennas using a double pole relay so one antenna is active for 1 second, and the other antenna is active for 1 second and it just flips back and forth. could be different timings like 500ms or whatever but you get the idea.
Thatās kind of what Iād been pondering over. Idk, might just give it a shot. If it seems to lose anything, if I just āundoā the splice and fix up the original wire from xAC to Antenna, all should be fine right?
SHOULD
I was poking around the PM3 client some more today, and came across emv scan
. Now, EMV in general is pretty much pure magic to me, but the description for the command:
Scan EMV card and save it contents to json file for emulator
It executes EMV contactless transaction and saves result to a file which can be used for emulation
Caught me by surprise. What does it mean for emulation? I didnāt think we could really do a whole lot of emulation with EMVā¦
the most basic funciton of EMV payment applications for Visa and Mastercard (and yes they work slightly differently), is they can provide contact or contactless access to āTRACK2ā data using ADPU commands to extract the data. It is the dumbest shit ever though⦠on a magstripe you have different ātracksā of data⦠and the term ātrackā comes from magnetic tape⦠cassette tapes to be exact⦠because a magstripe reader uses a goddamn magnetic reader head from a friggen tape player⦠and the reader has two track heads that can read basically two separate tracks of data from the card at the same time when you swipe it past the read head⦠contact and contactless chips were new but instead of upset the entire backend 1970s era network based entirely on magentic track data (track 1 and track 2), they just literally stored the same track data in the chip⦠so if you pull track 2 data from the chip using a specific set of commands (depending on which type of card youāre talking to, Visa or Mastercard or Discover or Amex, etc.) then you just get back what youād get if you swiped the magstripe⦠track 2 data contains the card number and exp date and later versions had CVV as well⦠and emulating the cardās side of a transaction that pulls track 2 data is easy enough⦠you answer the commands in succession, then when the terminal asks for track 2 data you dump out what you pulled from the card.
Things get a little different in the EU and other markets because there are additional interactions with the card that involve some crypto - transaction signatures basically⦠which cannot be emulated for lack of keys⦠but just about every terminal in the USA just pulls track 2 data.
The short answer here to the question that will be burning a hole in your mind after reading the above is this; yes you could make an EMV emulator applet for javacard that could run on flexSecure that could just do the same thing and dump out track 2 data and it would basically work with terminals here in the USA⦠but it would be kind of a risky proposal to do that and put our future plans with legitimate payment in jeopardy⦠but thatās not to say someone else couldnāt do it⦠someone not associated with us at all⦠maybe with a public github repo that anyone could access. There might even be some repos which could serve as a good start.
oh also i should mention that emv as a standard is actually kind of confusing because it has started to be looked at for applications other than strictly payment⦠so people are considering implementing something like it for applications like ticketing⦠so you might see it popping up in odd places or use cases that may not really help address your immediate goals, whatever those might be
Ha! I was concerned enough about the possibility of doing it via the PM3
Wonder why they donāt seem to have implemented that then, especially if they have the scan command availableā¦
It seems odd to put such a seemingly dumb back end on an actually pretty nice chipā¦
I knew the cards had some unencrypted data on them, but I had figured it was a backwards compatibility ājust-in-caseā scenario, which I could sort-of-kinda-maybe understand. I keep hoping they have something better too, but it doesnāt seem like itā¦
The USA suffers from two things;
- Being the first to invent a lot of shit
- Being so goddamn huge that updating things can cost 100x more than it would cost much smaller countries
When 2G mobile networks went to 3G, then to 4G and 5G⦠the amount of money and time it took for smaller countries like Sweden (500k towers), Australia (686k towers), Mexico (950k towers), etc. was basically nothing⦠rollouts happened quickly⦠but the USA has 7.7 million fucking cellphone towers⦠upgrades cost a ton and take forever⦠and some areas skip entire generations⦠going from 2g to 4g⦠or 3g to 5g. We often lag behind because weāre first movers in a lot of things, but our huge infrastructure costs mean updates are sloooowww AF.
In short, small countries can easily be more nimble when it comes to rollouts. The USA invented electronic payments⦠particularly credit card payment networks. The USA also invented contactless payment, but rolled it out in 1997 in such a stupid fucking way that it quickly died⦠we clung to magstripe while the rest of the world implemented chip + pin⦠why? The number of merchant terminals that needed to be updated in the USA to support contact (chip + pin) or contactless meant the cost was insanely high and making it happen was a chicken and egg problem⦠critical mass for such a huge country was just not happening⦠so it died.
Pretty quickly after banks started shipping the first contactless cards (which were useless because of the old magstripe only terminal problem), Google tried to bring out Google Wallet but it failed because of incompatible terminals, but also mobile phone carriers only wanted payments on their locked in phones, and some like Verizon actually blocked Google Wallet app from installing on ātheirā phones⦠like wtf⦠but then Apple actually did some brilliant moves creating Apple Pay⦠they patiently created everything, but then getting merchants to update millions of terminals across the country to support contactless (let alone chip + pin) was a hurdle⦠so they worked with banks and processors to implement the liability shift to scare the shit out of merchants and force hardware upgrades⦠basically saying if you accept a magstripe payment and itās fraud, it will 100% be your (the merchantās) liability with no chance to contest or prove transaction legitimacy⦠again a brilliant move to make everyone pay billons of dollars across the industry to upgrade terminals all so Apple Pay could launch in a big way immediately after⦠fucking brilliant scam there Apple.
I meant to wonder about the proxmark implementing an emv sim
type command to go with the emv scan
here
But also that too
It sounds like then that the cards likely do support a better protocol and itās the POS terminals that lack implementation for it?
Or are our cards behind too?
It seems like an odd choice to use a fancy-pants java-card if all theyāve done so far is move the magstripe data into NFC format
oh i see⦠yeah emulating would require a lot of params⦠there are different payment systems on cards⦠emv applets on cards are not made by visa or mastercard but by companies like npx, gemalto, infineon, g+d, etc. who buy the huge ābooksā from mastercard or visa (the more research you do youāll see different ābookā standards) and create their own payment applications⦠but then along the way there were like a couple different āpayment system environmentā standards created because if you are a terminal do you just scan through a bunch of AIDs when a card is presented, looking for different payment applets to talk to? how do you update that list in the field⦠itās terrible⦠so the idea of a PSE would mean the terminal could query just one AID⦠send some commands to find out what actual payment applets were on chip, present options to the user because yes you can actually have a card with a Visa payment applet and a MasterCard payment applet on board⦠and in the USA we have a āpin networkā option for ādebit cardsā that have credit card numbers associated with them, but are not credit cards⦠which are referred to as āsignature networksā because you sign for them, you donāt enter a pin code⦠jesus we are doing things very āfeet, pounds, ouncesā here in the USA while the rest of the world is pretty much standardized on this⦠but anyways⦠to properly sim an āemvā card you would have like 25 different parameters to enter to handle most common simulation setups⦠and like⦠yeah itās not like emulating an EM or Mifare chip⦠not at all.
both⦠cards are not updated because terminals arenāt⦠the same chicken and egg issue contactless payment had really⦠so fraud happens and consumers and merchants battle it out while visa, mastercard, and processors like stripe just sit back and laugh⦠a year ago i had to accept new terms for stripe which said that EVEN IF I WON A TRANSACTION FRAUD DISPUTE that i would still have to pay the contested charge fee⦠oh and also IF I REFUND A CHARGE i still have to pay the processing fee (both of these things were new changes to processor agreements)⦠so nobody in power gives two shits about it because the fraud costs are ultimately pushed to consumers⦠with merchants having to act as the bad guy by raising prices.
they have actively and successfully killed the threat of crypto, disallowing crypto apps to run on terminals and chips with payment applets side by side⦠they subverted the promise of p2p crypto payments by forcing it to go over their networks (crypto.com does this, owned by mastercard, visa, etc.) so they can take their cut and control the flow of money⦠they actively lobby and market social commentary in countries to push the narrative that cash is only used by criminals and digital payments (that run over their networks) is the only way upstanding citizens should be paying for anything)⦠if money is the root of all evil, these guys pull the purse strings.
if a luigi ever happened to anyone working in payments, iād understand.
It seems like the PM3 would be doing the same searching around the card structure for payment info during emv scan
and could save the same information about the card to the dump json
oh sure⦠but you gonna code it? its a very complex ask⦠itās an open source project⦠theyāre waiting for you to get busy
itās kind of the same thing with hacking the ntag216 based mo-lock nfc system⦠iām waiting for the sim function for the ntag216 chip type to get an update so i can control the output of PWD_ACK ⦠but it was coded by someone who is not even the same someone that coded the lf em sim function⦠its a big collection of various project supporters and right now if i want that function i would have to figure it out myself and submit a pull request⦠not something i can do or have the time to learn how to do.
at best i can only hope that ai programming tools will or have already advanced to the point i could submit the codebase and ask for a feature to be added and get back working code⦠maybe thatās a possibility for my relatively simple ask ⦠but emv sim would be pretty complex, even for a vibecoder.
Iām barely competant as a theorizer for this kind of thing, let alone programmer
Iām not trying to accuse any given party for the fact that it hasnāt been done yet, more so Iām surprised that itās even as possible and progressed as far as it is
Did that python script not end up working?
oh yeah of course⦠no i just wanted to point out that the answer to āi wonder whyā for open source projects is always ābecause nobody has done it yetā⦠unlike a commercial endeavor with a clear driving force behind it and $ to pay people to make things work⦠open source is always just waiting for people to step up and do the thing⦠so itās always āwhy hasnāt XYZ happenedā ā ānobody did it yetā.
ehhhhh⦠to be honest i have not circled back to it⦠it might work? I think it will be put on a @tac0s to do list soon⦠heās good at python
Iām definitely curious to know if it works that way, if it has any issues Iād be happy to adjust the script where possible too
Yikes!
āYouāre being accused for money laundering because you payed for a hamburger in cash, only criminals pay in cashā - Visa
I love chash BTW.
Why is fusking garlic so common around here!? It doesnāt taste great, it smells disgusting, and you end up smelling like fusking garlic for hours on end.
Stop putting it in fusking everything!