Broadcom의 NFC 컨트롤러 (예 : Nexus 5에서 사용)는 충돌 방지 식별자 (UID), ATQA 및 SAK 바이트에 대한 임의의 값 설정을 지원합니다. 그러나이를 변경할 API가 없으므로 libnfc-nci 라이브러리를 수정하는 것이 유일한 방법입니다.
이 코드는 현재 ATQA (값 플랫폼의 조합과은 0x04)으로 설정
UINT8_TO_STREAM (p, NFC_PMID_LA_BIT_FRAME_SDD);
UINT8_TO_STREAM (p, NCI_PARAM_LEN_LA_BIT_FRAME_SDD);
UINT8_TO_STREAM (p, 0x04);
UINT8_TO_STREAM (p, NFC_PMID_LA_PLATFORM_CONFIG);
UINT8_TO_STREAM (p, NCI_PARAM_LEN_LA_PLATFORM_CONFIG);
UINT8_TO_STREAM (p, platform);
UINT8_TO_STREAM (p, NFC_PMID_LA_SEL_INFO);
UINT8_TO_STREAM (p, NCI_PARAM_LEN_LA_SEL_INFO);
UINT8_TO_STREAM (p, sens_info);
및 SAK 바이트 (:
NFC-A에 대한 관련 코드 파일 nfa_dm_discover.c에 (라인 322부터) sens_info의 값).
NFC-A 충돌 방지 중에 사용 된 UID를 변경하려면, 당신은 또한 매개 변수 NFC_PMID_LA_NFCID1을 추가 할 수 있습니다
이
UINT8_TO_STREAM (p, NFC_PMID_LA_NFCID1);
UINT8_TO_STREAM (p, 4); // length of NFCID1 in bytes
UINT8_TO_STREAM (p, 0x12);
UINT8_TO_STREAM (p, 0x34);
UINT8_TO_STREAM (p, 0x56);
UINT8_TO_STREAM (p, 0x78);
당신은 좀 더 사용자 정의 버전을 찾을 수 있습니다 libnfc을-NCI here (여전히 작동 - 인 - 진행).
코드를 게시 하시겠습니까? 새로운 매개 변수 4.4, requiresDeviceUnlock이 있다는 것을 알고 있습니다. 거짓/참으로 변경하려고 했습니까? – Pete
아무도 당신이 적어도 공식적으로, 대부분의 RFID, NFC 액세스 제어 시스템의 보안을 어떻게 든 깨뜨릴 것입니다, 사용자 정의 카드 UID를 에뮬레이트하게 할 것입니다 !!! 그러나 당신이 평평하게 내려 가면 매우 쉽다고 확신합니다. –
나는 Google Play 스토어에서 전체 카드 에뮬레이터 (카드 UID 포함)를 보는 데 너무 열심이며, 개발자가되기를 바랍니다 !! –