{"id":18293390,"url":"https://github.com/nfc-tools/nfc-iclass","last_synced_at":"2025-04-05T11:30:55.771Z","repository":{"id":53520391,"uuid":"265042374","full_name":"nfc-tools/nfc-iclass","owner":"nfc-tools","description":"iClass / Picopass tool for libnfc","archived":false,"fork":false,"pushed_at":"2021-03-26T10:56:54.000Z","size":70,"stargazers_count":55,"open_issues_count":3,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-21T03:23:36.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfc-tools.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-18T19:34:28.000Z","updated_at":"2025-03-03T21:45:06.000Z","dependencies_parsed_at":"2022-09-09T22:02:09.131Z","dependency_job_id":null,"html_url":"https://github.com/nfc-tools/nfc-iclass","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfc-tools%2Fnfc-iclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfc-tools%2Fnfc-iclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfc-tools%2Fnfc-iclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfc-tools%2Fnfc-iclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfc-tools","download_url":"https://codeload.github.com/nfc-tools/nfc-iclass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247330487,"owners_count":20921639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T14:24:16.578Z","updated_at":"2025-04-05T11:30:55.470Z","avatar_url":"https://github.com/nfc-tools.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nfc-iclass\niClass / Picopass tool for libnfc\n\nA CLI tool for reading and writing HID iClass (Picopass) Access Control cards.\n\n## Building \u0026 Installing\n\n```\ngit submodule update --init\nautoreconf -vis\nrm -rf build \u0026\u0026 mkdir build\ncd build\n../configure\nmake\nsudo make install\n```\n\n## Running\n\nDefault behaviour is to dump APP1.\n\nFor more options:\n```\nnfc-iclass -h\n\nUsage: ./src/nfc-iclass [options] [BINARY FILE|HEX DATA]\n\n  Options:\n\n\t-c \u003cKEY\u003e      Use CREDIT KEY Kc / APP2 (default is DEBIT KEY Kd / APP1)\n\t-C \u003c?|CARD\u003e   Create CONFIG card (? prints list of config cards)\n\t-d \u003cKEY\u003e      Use non-default DEBIT KEY for APP1\n\t-e            AUTH KEY is ELITE\n\t-h            You're looking at it\n\t-k \u003cKEY\u003e      Keyroll KEY for CONFIG card\n\t-n            Do not DIVERSIFY key\n\t-o \u003cFILE\u003e     Write TAG data to FILE\n\t-r \u003cKEY\u003e      Re-Key with KEY (assumes new key is ELITE)\n\t-R \u003cKEY\u003e      Re-Key to non-ELITE\n\t-w \u003cBLOCK\u003e    WRITE to tag starting from BLOCK (specify # in HEX)\n\n\tIf no KEY is specified, default HID Kd (APP1) will be used\n```\n### Examples\n\nUse ELITE key for APP1:\n\n```\n\tnfc-iclass -d DEADBEEFCAFEF00D -e\n```\nDump contents of APP2:\n\n```\n\tnfc-iclass -c 0DC442031337D00F\n```\nWrite APP1 blocks 8 \u0026 9:\n\n```\n\tnfc-iclass -w 8 aabbccddaabbccddaabbccddaabbccdd\n```\nor\n\n```\n\tnfc-iclass -w 8 /tmp/iclass-8-9-dump.icd\n```\nRe-key to ELITE key:\n```\n        nfc-iclass -r deadbeefcafef00d\n```\nRevert to default iClass Kd (note re-key to NON-ELITE with -R)\n```\n        nfc-iclass -d deadbeefcafef00d -e -R AFA785A7DAB33378\n```\nShow available CONFIG cards:\n\n```\n        nfc-iclass -C ?\n```\nCreate CONFIG card AV1:\n\n```\n        nfc-iclass -C AV1\n```\nCreate KEYROLL card:\n```\n        nfc-iclass -C KRE -k F00FBEEBD00BEEEE\n```\n\n### Config cards\n\niClass readers can be reconfigured using CONFIG cards. These will normally be provided free of charge\nupon request but as we now have the master Kd it's easy enough to dump the set and recreate them at will.\n\nThe available cards are:\n\n*\t\tAV1:\tAudio/Visual #1 - Beep ON, LED Off, Flash GREEN on read\n*\t\tAV2:\tAudio/Visual #2 - Beep ON, LED RED, Host must flash GREEN\n*\t\tAV3:\tAudio/Visual #3 - Beep ON, LED Off, Host must flash RED and/or GREEN\n*\t\tKP1:\tKeypad Output #1 - Buffer ONE key (8 bit Dorado)\n*\t\tKP2:\tKeypad Output #2 - Buffer ONE to FIVE kets (standard 26 bit)\n*\t\tKP3:\tKeypad Output #3 - Local PIN verify\n*\t\tCSN1:\tMifare CSN #1 - 32 bit reverse output\n*\t\tCSN2:\tMifare CSN #2 - 16 bit output\n*\t\tCSN3:\tMifare CSN #3 - 34 bit output\n*\t\tKRD:\tKeyroll DISABLE - Set ELITE Key and DISABLE Keyrolling\n*\t\tKRE:\tKeyroll ENABLE - Set ELITE Key and ENABLE Keyrolling\n*\t\tRSTR:\tReset READER - Reset READER to defaults\n*\t\tRSTE:\tReset ENROLLER - Reset ENROLLER to defaults\n\n*Note that a config card is slightly different from a standard one in that APP1 uses more blocks. This matters\nfor KEYROLL cards as they need the extra space to store the new keys. Other types may work on a standard card\nbut the most reliable method is to use an existing config card and overwrite it.*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfc-tools%2Fnfc-iclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfc-tools%2Fnfc-iclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfc-tools%2Fnfc-iclass/lists"}