mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-23 22:55:37 -07:00
readsig command
This commit is contained in:
parent
05a212721f
commit
f70558c008
2 changed files with 22 additions and 0 deletions
|
@ -1688,6 +1688,26 @@ int DesfireGetFreeMem(DesfireContext *dctx, uint32_t *freemem) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int DesfireReadSignature(DesfireContext *dctx, uint8_t sid, uint8_t *resp, size_t *resplen) {
|
||||||
|
*resplen = 0;
|
||||||
|
|
||||||
|
uint8_t xresp[257] = {0};
|
||||||
|
size_t xresplen = 0;
|
||||||
|
uint8_t respcode = 0xff;
|
||||||
|
|
||||||
|
int res = DesfireExchange(dctx, MFDES_READSIG, &sid, 1, &respcode, xresp, &xresplen);
|
||||||
|
if (res != PM3_SUCCESS)
|
||||||
|
return res;
|
||||||
|
|
||||||
|
if (respcode != 0x90)
|
||||||
|
return PM3_EAPDU_FAIL;
|
||||||
|
|
||||||
|
memcpy(resp, xresp, xresplen);
|
||||||
|
*resplen = xresplen;
|
||||||
|
|
||||||
|
return PM3_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
int DesfireGetUID(DesfireContext *dctx, uint8_t *resp, size_t *resplen) {
|
int DesfireGetUID(DesfireContext *dctx, uint8_t *resp, size_t *resplen) {
|
||||||
return DesfireCommandRxData(dctx, MFDES_GET_UID, resp, resplen, -1);
|
return DesfireCommandRxData(dctx, MFDES_GET_UID, resp, resplen, -1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,6 +153,8 @@ void DesfirePrintContext(DesfireContext *ctx);
|
||||||
int DesfireExchange(DesfireContext *ctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *respcode, uint8_t *resp, size_t *resplen);
|
int DesfireExchange(DesfireContext *ctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *respcode, uint8_t *resp, size_t *resplen);
|
||||||
int DesfireExchangeEx(bool activate_field, DesfireContext *ctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *respcode, uint8_t *resp, size_t *resplen, bool enable_chaining, size_t splitbysize);
|
int DesfireExchangeEx(bool activate_field, DesfireContext *ctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *respcode, uint8_t *resp, size_t *resplen, bool enable_chaining, size_t splitbysize);
|
||||||
|
|
||||||
|
int DesfireReadSignature(DesfireContext *dctx, uint8_t sid, uint8_t *resp, size_t *resplen);
|
||||||
|
|
||||||
int DesfireSelectAID(DesfireContext *ctx, uint8_t *aid1, uint8_t *aid2);
|
int DesfireSelectAID(DesfireContext *ctx, uint8_t *aid1, uint8_t *aid2);
|
||||||
int DesfireSelectAIDHex(DesfireContext *ctx, uint32_t aid1, bool select_two, uint32_t aid2);
|
int DesfireSelectAIDHex(DesfireContext *ctx, uint32_t aid1, bool select_two, uint32_t aid2);
|
||||||
int DesfireSelectAIDHexNoFieldOn(DesfireContext *ctx, uint32_t aid);
|
int DesfireSelectAIDHexNoFieldOn(DesfireContext *ctx, uint32_t aid);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue