Merge pull request #3225 from team-orangeBlue/mf_acl_polish

Polish the `hf mf acl` command
This commit is contained in:
Iceman
2026-04-10 13:06:23 +07:00
committed by GitHub
2 changed files with 11 additions and 1 deletions
+1
View File
@@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file.
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
## [unreleased][unreleased]
- Changed `hf mf acl` command to have more recognized generic configurations (@team-orangeBlue)
- Added `hf mfp acl` command (@team-orangeBlue)
- Modified `data_hex_crc.lua` script, it now takes a `-s` parameter and the output is now in alternative row colors. (@iceman1001)
- Added `hf mfdes brutedamslot` command (@kormax)
+10 -1
View File
@@ -1189,14 +1189,23 @@ static int CmdHF14AMfAcl(const char *Cmd) {
int acllen = 0;
uint8_t acl[3] = {0};
CLIGetHexWithReturn(ctx, 1, acl, &acllen);
CLIParserFree(ctx);
if (acllen && acllen != 3) {
PrintAndLogEx(FAILED, "ACL length must be 3 bytes. Got %d", acllen);
return PM3_EINVARG;
}
PrintAndLogEx(NORMAL, "");
// look up common default ACL bytes and print a fingerprint line about it.
if (memcmp(acl, "\xFF\x07\x80", 3) == 0) {
PrintAndLogEx(INFO, "ACL... " _GREEN_("%s") " (transport configuration)", sprint_hex(acl, sizeof(acl)));
} else if (memcmp(acl, "\x7F\x07\x88", 3) == 0) {
PrintAndLogEx(INFO, "ACL... " _GREEN_("%s") " (key B enabler configuration)", sprint_hex(acl, sizeof(acl)));
} else if (memcmp(acl, "\x78\x77\x88", 3) == 0) {
PrintAndLogEx(INFO, "ACL... " _GREEN_("%s") " (no value-commands configuration)", sprint_hex(acl, sizeof(acl)));
} else {
PrintAndLogEx(INFO, "ACL... " _GREEN_("%s"), sprint_hex(acl, sizeof(acl)));
}
if (mfValidateAccessConditions(acl) == false) {
PrintAndLogEx(ERR, _RED_("Invalid Access Conditions, NEVER write these on a card!"));