From d1b56172c6a32998ace66a249585888d9527616b Mon Sep 17 00:00:00 2001 From: Dom Date: Fri, 6 Apr 2018 08:55:14 +0100 Subject: [PATCH] Added ability to send Proximity Check in multiple chunks. --- client/scripts/mifarePlus.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/client/scripts/mifarePlus.lua b/client/scripts/mifarePlus.lua index 9fd0cc2c..5d8c4e7d 100644 --- a/client/scripts/mifarePlus.lua +++ b/client/scripts/mifarePlus.lua @@ -205,9 +205,20 @@ function proximityCheck() --PC-- RndC = "0001020304050607" --Random Challenge - commandString = PROXIMITYCHECK .. "08" .. RndC - response = sendRaw(commandString, true, true) - RndR = string.sub(response, 3, 18) + num_rounds = 8 --Needs to be 1, 2, 4, or 8 + part_len = 8 / num_rounds + j = 1 + RndR = "" + for i = 1,num_rounds do + pRndC = "" + for q = 1,(part_len*2) do + pRndC = pRndC .. string.sub(RndC,j,j) + j = j + 1 + end + commandString = PROXIMITYCHECK .. "0" .. tostring(part_len) .. pRndC + pRndR = string.sub(sendRaw(commandString, true, true), 3, 3+part_len) + RndR = RndR .. pRndR + end print("RndC = " .. RndC .. " RndR = " .. RndR) --VerifyPC--