From e61a65fbe87c4f232ca4cc48472539d5c3dbfd6c Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Tue, 16 Jul 2019 17:15:32 +0300 Subject: [PATCH] check PPSE instead of PSE and vice versa. I have one card with this strange behavior... --- client/emv/cmdemv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/emv/cmdemv.c b/client/emv/cmdemv.c index 0b50ecfe1..5ac9adb00 100644 --- a/client/emv/cmdemv.c +++ b/client/emv/cmdemv.c @@ -829,6 +829,12 @@ static int CmdEMVExec(const char *Cmd) { PrintAndLogEx(NORMAL, "\n* PPSE."); SetAPDULogging(showAPDU); res = EMVSearchPSE(channel, activateField, true, psenum, decodeTLV, tlvSelect); + + // check PPSE instead of PSE and vice versa + if (res) { + PrintAndLogEx(NORMAL, "Check PPSE instead of PSE and vice versa..."); + res = EMVSearchPSE(channel, false, true, psenum == 1 ? 2 : 1, decodeTLV, tlvSelect); + } // check PPSE and select application id if (!res) {