標題: 通過Arduino UNO+RC522 修改UID卡號 復制門禁M1卡 [打印本頁]

作者: jinsun    時間: 2017-3-16 15:55
標題: 通過Arduino UNO+RC522 修改UID卡號 復制門禁M1卡
1.利用手機NFC讀取原卡ID號   卡號為 31 0D 6B 45




2. 有請 Arduino UNO :




RC522模塊                         UNO
VCC  <----------------------->3.3V

RST  <----------------------->9

GND  <----------------------->GND

IRQ  <----------------------->不接

MISO <----------------------->12

MOSI <----------------------->11

SDA  <----------------------->10

SCK  <----------------------->13



3.代碼---------------------------------------------------------------------------------------------------------------


  1. /*
  2. * 不同型號arduino的 引腳定義:(vcc接3.3V,  5V必燒!! 5V必燒。。 5V必燒。。。
  3. * -----------------------------------------------------------------------------------------
  4. *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
  5. *             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
  6. * Signal      Pin          Pin           Pin       Pin        Pin              Pin
  7. * -----------------------------------------------------------------------------------------
  8. * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
  9. * SPI SS      SDA(SS)      10            53        D10        10               10
  10. * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
  11. * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
  12. * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
  13. */

  14. #include <SPI.h>
  15. #include <MFRC522.h>

  16. #define RST_PIN   9     // Configurable, see typical pin layout above
  17. #define SS_PIN    10    // Configurable, see typical pin layout above

  18. MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance

  19. /*在這里修改卡號,讀取的卡號是16進制的,每2位前加0x   */
  20. #define NEW_UID {0x31, 0x0D, 0x6B, 0x45}

  21. MFRC522::MIFARE_Key key;

  22. void setup() {
  23.   Serial.begin(9600);  // Initialize serial communications with the PC
  24.   while (!Serial);     // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  25.   SPI.begin();         // Init SPI bus
  26.   mfrc522.PCD_Init();  // Init MFRC522 card
  27.   Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));

  28.   // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
  29.   for (byte i = 0; i < 6; i++) {
  30.     key.keyByte[i] = 0xFF;
  31.   }
  32. }

  33. // Setting the UID can be as simple as this:
  34. void loop() {

  35.   // Look for new cards, and select one if present
  36.   if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
  37.     delay(50);
  38.     return;
  39.   }

  40.   // Now a card is selected. The UID and SAK is in mfrc522.uid.

  41.   // Dump UID
  42.   Serial.print(F("Card UID:"));
  43.   for (byte i = 0; i < mfrc522.uid.size; i++) {
  44.     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  45.     Serial.print(mfrc522.uid.uidByte[i], HEX);
  46.   }
  47.   Serial.println();

  48.   // Set new UID
  49.   byte newUid[] = NEW_UID;
  50.   if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
  51.     Serial.println(F("Wrote new UID to card."));
  52.   }

  53.   // Halt PICC and re-select it so DumpToSerial doesn't get confused
  54.   mfrc522.PICC_HaltA();
  55.   if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
  56.     return;
  57.   }

  58.   // Dump the new memory contents
  59.   Serial.println(F("New UID and contents:"));
  60.   mfrc522.PICC_DumpToSerial(&(mfrc522.uid));

  61.   delay(2000);
  62. }
復制代碼


------------------------------------------------------------------------------------------------------------------


4.上傳代碼到UNO,然后刷一下UID卡

5.完工

下載:

MFRC522.zip (34.24 KB, 下載次數(shù): 277)

ChangeUID.zip (1.4 KB, 下載次數(shù): 239)
作者: criminal    時間: 2017-3-20 19:54
不錯的資源頂一個,下來試試
作者: jinsun    時間: 2017-3-20 21:17
UID卡要用0扇區(qū)可修改的,某寶1.5元左右
作者: yangsir_001    時間: 2017-3-31 21:03
大神,這只是復制了UID,加密的卡能行不?
作者: jinsun    時間: 2017-4-1 09:41
yangsir_001 發(fā)表于 2017-3-31 21:03
大神,這只是復制了UID,加密的卡能行不?

加密扇區(qū)需要先讀出解密的,不好搞,這有個讀寫扇區(qū)的程序,自己研究吧

接線同上

  1. #include <SPI.h>
  2. #include <MFRC522.h>

  3. #define RST_PIN         9           // Configurable, see typical pin layout above
  4. #define SS_PIN          10          // Configurable, see typical pin layout above

  5. MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

  6. MFRC522::MIFARE_Key key;

  7. /**
  8. * Initialize.
  9. */
  10. void setup() {
  11.     Serial.begin(9600); // Initialize serial communications with the PC
  12.     while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  13.     SPI.begin();        // Init SPI bus
  14.     mfrc522.PCD_Init(); // Init MFRC522 card

  15.     // Prepare the key (used both as key A and as key B)
  16.     // using FFFFFFFFFFFFh which is the default at chip delivery from the factory
  17.     for (byte i = 0; i < 6; i++) {
  18.         key.keyByte[i] = 0xFF;
  19.     }

  20.     Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write."));
  21.     Serial.print(F("Using key (for A and B):"));
  22.     dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE);
  23.     Serial.println();
  24.    
  25.     Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1"));
  26. }

  27. /**
  28. * Main loop.
  29. */
  30. void loop() {
  31.     // Look for new cards
  32.     if ( ! mfrc522.PICC_IsNewCardPresent())
  33.         return;

  34.     // Select one of the cards
  35.     if ( ! mfrc522.PICC_ReadCardSerial())
  36.         return;

  37.     // Show some details of the PICC (that is: the tag/card)
  38.     Serial.print(F("Card UID:"));
  39. dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  40.     Serial.println();
  41.     Serial.print(F("PICC type: "));
  42.     MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
  43.     Serial.println(mfrc522.PICC_GetTypeName(piccType));

  44.     // Check for compatibility
  45.     if (    piccType != MFRC522::PICC_TYPE_MIFARE_MINI
  46.         &&  piccType != MFRC522::PICC_TYPE_MIFARE_1K
  47.         &&  piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
  48.         Serial.println(F("This sample only works with MIFARE Classic cards."));
  49.         return;
  50.     }

  51.     // In this sample we use the second sector,
  52.     // that is: sector #1, covering block #4 up to and including block #7
  53.     byte sector         = 1;
  54.     byte blockAddr      = 4;
  55.     byte dataBlock[]    = {
  56.         0x01, 0x02, 0x03, 0x04, //  1,  2,   3,  4,
  57.         0x05, 0x06, 0x07, 0x08, //  5,  6,   7,  8,
  58.         0x08, 0x09, 0xff, 0x0b, //  9, 10, 255, 12,
  59.         0x0c, 0x0d, 0x0e, 0x0f  // 13, 14,  15, 16
  60.     };
  61.     byte trailerBlock   = 7;
  62.     MFRC522::StatusCode status;
  63.     byte buffer[18];
  64.     byte size = sizeof(buffer);

  65.     // Authenticate using key A
  66.     Serial.println(F("Authenticating using key A..."));
  67.     status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
  68.     if (status != MFRC522::STATUS_OK) {
  69.         Serial.print(F("PCD_Authenticate() failed: "));
  70.         Serial.println(mfrc522.GetStatusCodeName(status));
  71.         return;
  72.     }

  73.     // Show the whole sector as it currently is
  74.     Serial.println(F("Current data in sector:"));
  75.     mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
  76.     Serial.println();

  77.     // Read data from the block
  78.     Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
  79.     Serial.println(F(" ..."));
  80.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);
  81.     if (status != MFRC522::STATUS_OK) {
  82.         Serial.print(F("MIFARE_Read() failed: "));
  83.         Serial.println(mfrc522.GetStatusCodeName(status));
  84.     }
  85.     Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
  86.     dump_byte_array(buffer, 16); Serial.println();
  87.     Serial.println();

  88.     // Authenticate using key B
  89.     Serial.println(F("Authenticating again using key B..."));
  90.     status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));
  91.     if (status != MFRC522::STATUS_OK) {
  92.         Serial.print(F("PCD_Authenticate() failed: "));
  93.         Serial.println(mfrc522.GetStatusCodeName(status));
  94.         return;
  95.     }

  96.     // Write data to the block
  97.     Serial.print(F("Writing data into block ")); Serial.print(blockAddr);
  98.     Serial.println(F(" ..."));
  99.     dump_byte_array(dataBlock, 16); Serial.println();
  100.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, 16);
  101.     if (status != MFRC522::STATUS_OK) {
  102.         Serial.print(F("MIFARE_Write() failed: "));
  103.         Serial.println(mfrc522.GetStatusCodeName(status));
  104.     }
  105.     Serial.println();

  106.     // Read data from the block (again, should now be what we have written)
  107.     Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
  108.     Serial.println(F(" ..."));
  109.     status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);
  110.     if (status != MFRC522::STATUS_OK) {
  111.         Serial.print(F("MIFARE_Read() failed: "));
  112.         Serial.println(mfrc522.GetStatusCodeName(status));
  113.     }
  114.     Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
  115.     dump_byte_array(buffer, 16); Serial.println();
  116.         
  117.     // Check that data in block is what we have written
  118.     // by counting the number of bytes that are equal
  119.     Serial.println(F("Checking result..."));
  120.     byte count = 0;
  121.     for (byte i = 0; i < 16; i++) {
  122.         // Compare buffer (= what we've read) with dataBlock (= what we've written)
  123.         if (buffer[i] == dataBlock[i])
  124.             count++;
  125.     }
  126.     Serial.print(F("Number of bytes that match = ")); Serial.println(count);
  127.     if (count == 16) {
  128.         Serial.println(F("Success :-)"));
  129.     } else {
  130.         Serial.println(F("Failure, no match :-("));
  131.         Serial.println(F("  perhaps the write didn't work properly..."));
  132.     }
  133.     Serial.println();
  134.         
  135.     // Dump the sector data
  136.     Serial.println(F("Current data in sector:"));
  137.     mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
  138.     Serial.println();

  139.     // Halt PICC
  140.     mfrc522.PICC_HaltA();
  141.     // Stop encryption on PCD
  142.     mfrc522.PCD_StopCrypto1();
  143. }

  144. /**
  145. * Helper routine to dump a byte array as hex values to Serial.
  146. */
  147. void dump_byte_array(byte *buffer, byte bufferSize) {
  148.     for (byte i = 0; i < bufferSize; i++) {
  149.         Serial.print(buffer[i] < 0x10 ? " 0" : " ");
  150.         Serial.print(buffer[i], HEX);
  151.     }
  152. }
復制代碼

作者: 天涯0807    時間: 2017-4-26 18:28
編譯時出錯
作者: 縣長家兔子    時間: 2017-5-18 10:52
不錯的資源頂一個
作者: enneo    時間: 2017-5-24 01:01
進來學習,謝謝
作者: huangq1228    時間: 2017-5-25 16:02
h好好學習了e
作者: RickyW    時間: 2017-5-25 22:05
編譯時出錯了
作者: 雨涵agony    時間: 2017-6-5 19:07
好東西,不錯的
作者: i5298936    時間: 2017-6-6 20:47
很棒耶,還沒試過  很期待
作者: yangsir_001    時間: 2017-6-16 13:04
編譯通過,測試如下:
Card UID: B4 F7 6C DB
Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?
Error name: Timeout in communication.
Activating the UID backdoor failed.
New UID and contents:
Card UID: B4 F7 6C DB
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block   0  1  2  3   4  5  6  7   8  9 10 11  12 13 14 15  AccessBits
  15     63   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         62   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         61   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         60   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  14     59   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         58   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         57   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         56   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  13     55   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         54   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         53   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         52   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  12     51   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         50   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         49   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         48   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
  10     43   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         42   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         41   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         40   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   9     39   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         38   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         37   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         36   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   8     35   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         34   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         33   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         32   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   7     31   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         30   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         29   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         28   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   6     27   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         26   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         25   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         24   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   5     23   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         22   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         21   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         20   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   4     19   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         18   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         17   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         16   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   3     15   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         14   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         13   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
         12   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   2     11   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
         10   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          9   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          8   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          4   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
   0      3   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ]
          2   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          1   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ]
          0   B4 F7 6C DB  F4 08 04 00  62 63 64 65  66 67 68 69  [ 0 0 0 ]
請問樓主,是不是我的卡是不可擦寫的?
作者: sghny    時間: 2017-7-3 22:12
want download
作者: 偶游QHD    時間: 2017-7-4 05:19
樓主太棒了,我家的物業(yè)太差勁,門禁卡盡然不好用,打不開門,我可以試試能不能學會樓主教的方法把物業(yè)KO了。
作者: 653246915    時間: 2017-7-20 21:31
不錯的資源頂一個,下來試試
作者: hxq3210    時間: 2017-7-31 13:31
大神,
有實物連線圖沒
作者: 123額成為其實現(xiàn)    時間: 2017-8-25 08:41
謝謝,好用
作者: yzq1736    時間: 2017-8-29 00:47
正要學習,謝謝了。
作者: chinafilm    時間: 2017-9-12 11:11
學習中……
作者: gsdm123    時間: 2017-10-4 19:49
直接可以下載吧 在ide上的庫
作者: 65489z    時間: 2017-10-7 10:17
  怎么修改啊了。
作者: faxa1    時間: 2017-10-7 23:32
正要學習,謝謝了。
作者: n02040007788    時間: 2017-11-13 15:14

學習中,謝謝了。
作者: hxq3210    時間: 2017-11-18 19:08
怎么再把卡號顯示在LED屏上??
作者: lujunda2    時間: 2017-11-22 10:55
顯示到LED屏要用LED庫,調(diào)用相應的函數(shù)把串口讀取的數(shù)據(jù)打印出來即可
作者: lujunda    時間: 2017-11-22 15:25
yangsir_001 發(fā)表于 2017-6-16 13:04
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

對。MF1卡第0扇區(qū)第0塊好像是產(chǎn)商寫死了,里面包含的是卡號、檢查字節(jié)和制造廠商的數(shù)據(jù),可能真的要買1.5的空白卡才能更改
作者: jian360    時間: 2017-11-27 09:07
學習中,謝謝了。
作者: sf5a1    時間: 2017-11-30 19:49
無以為報,直接點贊666
作者: 1156479136    時間: 2017-12-17 23:19
已下載,待測試!
作者: 1156479136    時間: 2017-12-17 23:19
已下載,待測試!有空再搞
作者: harly2200    時間: 2017-12-18 00:07
好資料,自已學習還須加把勁
作者: sinolover    時間: 2017-12-18 10:10
不錯的東西,回頭試試
作者: 704470054    時間: 2018-3-30 17:03
黑幣,您當前的黑幣不足,請通過以下途徑獲取黑幣:
作者: yywudi    時間: 2018-4-2 00:27
呃 沒有看懂 是不是太蠢了
作者: 開心雨    時間: 2018-4-4 16:08
了解下,弄這個復制問題已弄了很久了
作者: lwh594    時間: 2018-4-13 20:06
66666666666666666666666
作者: Sniper_QQ    時間: 2018-5-15 16:18
正要找這個
作者: cjsoong    時間: 2018-5-25 00:58
用白卡還是出現(xiàn)" Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?"
作者: thwin520    時間: 2018-7-27 12:50
不錯的資源頂一個,下來試試
作者: hyzycczz    時間: 2018-7-28 15:37
進來學習,謝謝
作者: hyzycczz    時間: 2018-7-28 15:38
進來學習,謝謝
作者: WuHeyG    時間: 2018-9-18 19:55
支持。。。。。。
作者: arduinowangyang    時間: 2018-11-16 19:04
大師,我為什么刷了幾遍都沒成功呀,會是哪里出問題了呢
作者: arduinowangyang    時間: 2018-11-16 19:11
yangsir_001 發(fā)表于 2017-6-16 13:04
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

我的跟您一樣,也寫不上
作者: colinwang8407    時間: 2018-11-23 16:56
謝謝樓主的支持,辛苦了
作者: xuezhe8973    時間: 2018-12-25 19:04
好評,正在調(diào)試
作者: bg7idj    時間: 2019-2-10 17:30
好東西,不錯的
作者: hamwang    時間: 2019-2-20 19:54
學習下,有空試試
作者: earth007    時間: 2019-3-7 08:41
厲害了 這個可以
作者: Ricardo01    時間: 2019-3-7 18:35
這個要下載嗎?放在那里
作者: Ricardo01    時間: 2019-3-8 08:35
讀卡顯示這個是為什么呢請問

捕獲.PNG (12.24 KB, 下載次數(shù): 537)

捕獲.PNG

作者: hp3175358    時間: 2019-3-25 02:40
希望樓主幫解決上面的問題,謝謝。
作者: ayzlg    時間: 2019-3-27 17:19
不錯的資源,謝謝樓主,辛了
作者: hoo2333    時間: 2019-3-28 11:14
yangsir_001 發(fā)表于 2017-6-16 13:04
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

我的也和你一樣改不了uid
作者: jettwang    時間: 2019-5-1 18:43
不錯的資源頂一個,下來試試
作者: 924    時間: 2019-5-3 14:33
過來學習
作者: wkp217    時間: 2019-11-18 09:47
資源不錯,下載看看
作者: lyzdroid    時間: 2020-1-6 16:41
謝謝分享      
作者: 李宏輝    時間: 2020-1-11 16:55
很不錯 是我需要的 太給力了
作者: sastorm    時間: 2020-1-14 21:13
感謝,下載來試試!
作者: jons    時間: 2020-3-4 11:51
學習中……
作者: qweqweqPK    時間: 2021-1-27 22:05
jinsun 發(fā)表于 2017-4-1 09:41
加密扇區(qū)需要先讀出解密的,不好搞,這有個讀寫扇區(qū)的程序,自己研究吧

接線同上

讀完扇區(qū)后是干嘛
作者: qweqweqPK    時間: 2021-1-27 22:06
cjsoong 發(fā)表于 2018-5-25 00:58
用白卡還是出現(xiàn)" Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable ...

你的這個白卡時加密了嗎?
作者: wv1124    時間: 2021-2-17 22:10
Are you sure it is a UID changeable one
作者: 往后余生echo    時間: 2021-5-9 13:21

了解下,弄這個復制問題已弄了很久了
作者: A哈哈哈嘿嘿嘿    時間: 2021-5-11 23:10
厲害有沒有詳細教程
作者: woshishui22    時間: 2021-5-12 10:50
滾動碼復制能有效么?
作者: 可可分享    時間: 2021-5-21 10:16
不錯的文章
作者: 952503049    時間: 2021-8-26 10:29
用白卡還是出現(xiàn)" Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?"





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1