added read records

This commit is contained in:
merlokk 2018-10-05 16:13:06 +03:00
commit c7aa55a311

View file

@ -1443,8 +1443,8 @@ int CmdHFEMVScan(const char *cmd) {
struct tlvdb *gpofci = tlvdb_parse_multi(buf, len); struct tlvdb *gpofci = tlvdb_parse_multi(buf, len);
JsonSaveTLVTree(root, "$.Application.GPO", gpofci); JsonSaveTLVTree(root, "$.Application.GPO", gpofci);
JsonSaveTLVValue(root, "$.Application.AIP", tlvdb_find_full(gpofci, 0x82)); JsonSaveTLVValue(root, "$.ApplicationData.AIP", tlvdb_find_full(gpofci, 0x82));
JsonSaveTLVValue(root, "$.Application.AFL", tlvdb_find_full(gpofci, 0x94)); JsonSaveTLVValue(root, "$.ApplicationData.AFL", tlvdb_find_full(gpofci, 0x94));
tlvdb_free(gpofci); tlvdb_free(gpofci);
@ -1456,8 +1456,18 @@ int CmdHFEMVScan(const char *cmd) {
PrintAndLog("E->Wrong AFL length: %d", AFL->len); PrintAndLog("E->Wrong AFL length: %d", AFL->len);
break; break;
} }
/*
json_t *sfijson = ; json_t *sfijson = json_path_get(root, "$.Application.Records");
if (!sfijson) {
json_t *app = json_path_get(root, "$.Application");
json_object_set_new(app, "Records", json_array());
sfijson = json_path_get(root, "$.Application.Records");
}
if (!json_is_array(sfijson)) {
PrintAndLog("E->Internal logic error. `$.Application.Records` is not an array.");
break;
}
for (int i = 0; i < AFL->len / 4; i++) { for (int i = 0; i < AFL->len / 4; i++) {
uint8_t SFI = AFL->value[i * 4 + 0] >> 3; uint8_t SFI = AFL->value[i * 4 + 0] >> 3;
uint8_t SFIstart = AFL->value[i * 4 + 1]; uint8_t SFIstart = AFL->value[i * 4 + 1];
@ -1484,14 +1494,19 @@ int CmdHFEMVScan(const char *cmd) {
PrintAndLog(""); PrintAndLog("");
} }
// here save json_t *jsonelm = json_object();
struct tlvdb *rsfi = tlvdb_parse_multi(buf, len); json_array_append_new(sfijson, jsonelm);
JsonSaveTLVTree(sfijson, "", rsfi);
tlvdb_free(rsfi);
JsonSaveHex(jsonelm, "SFI", SFI, 1);
JsonSaveHex(jsonelm, "RecordNum", n, 1);
JsonSaveHex(jsonelm, "Offline", SFIoffline, 1);
struct tlvdb *rsfi = tlvdb_parse_multi(buf, len);
JsonSaveTLVTree(jsonelm, "$.Data", rsfi);
tlvdb_free(rsfi);
} }
} }
*/
break; break;
} }