Package org.nfctools.mf.block

Examples of org.nfctools.mf.block.DataBlock


    return null;
  }

  @Override
  public void doWithReaderWriter(MfClassicReaderWriter readerWriter) throws IOException {
    DataBlock emptyDataBlock = new DataBlock();
    MemoryLayout memoryLayout = readerWriter.getMemoryLayout();

    for (int sectorId = 0; sectorId < memoryLayout.getSectors(); sectorId++) {
      TrailerBlock trailerBlock = readTrailerBlock(readerWriter, sectorId);
      if (trailerBlock != null) {
View Full Code Here


    DataBlock[] dataBlocks = new DataBlock[blocksToWrite];

    for (int x = 0; x < blocksToWrite; x++) {
      byte[] writeBuffer = new byte[MfConstants.BYTES_PER_BLOCK];
      System.arraycopy(madData, x * MfConstants.BYTES_PER_BLOCK, writeBuffer, 0, MfConstants.BYTES_PER_BLOCK);
      dataBlocks[x] = new DataBlock(writeBuffer);
    }

    MfClassicAccess access = new MfClassicAccess(new KeyValue(Key.B, trailerBlock.getKey(Key.B)), sectorId,
        firstBlockId);
    readerWriter.writeBlock(access, dataBlocks);
View Full Code Here

          byte[] buffer = new byte[MfConstants.BYTES_PER_BLOCK];
          if (bais.available() > 0)
            bais.read(buffer);

          DataBlock dataBlock = new DataBlock(buffer);
          readerWriter.writeBlock(access, dataBlock);
        }
      }
    }
    else {
View Full Code Here

      MfAccess mfAccess = new MfAccess(card, 0, card.getTrailerBlockNumberForSector(0), createKey, createKeyValue);
      readerWriter.writeBlock(mfAccess, trailerBlock);

      MfAccess mfAccessDataBlock = new MfAccess(card, 0, 1, Key.B, writeKeyValue);
      readerWriter.writeBlock(mfAccessDataBlock, new DataBlock(), new DataBlock());

      Mad1 mad1 = new Mad1(null, null);
      mad1.writeMad();

      return mad1;
    }

    if (card instanceof MfCard4k) {
      TrailerBlock trailerBlock = new TrailerBlock();
      trailerBlock.setKey(Key.A, MadConstants.DEFAULT_MAD_KEY);
      trailerBlock.setKey(Key.B, writeKeyValue);
      trailerBlock.setAccessConditions(MadConstants.READ_WRITE_ACCESS_CONDITIONS);
      trailerBlock.setGeneralPurposeByte((byte)(MadConstants.GPB_MAD_AVAILABLE | MadConstants.GPB_MAD_V2));

      MfAccess mfAccess = new MfAccess(card, 0, card.getTrailerBlockNumberForSector(0), createKey, createKeyValue);
      readerWriter.writeBlock(mfAccess, trailerBlock);

      MfAccess mfAccessDataBlock = new MfAccess(card, 0, 1, Key.B, writeKeyValue);
      readerWriter.writeBlock(mfAccessDataBlock, new DataBlock(), new DataBlock());

      MfAccess mfAccess2 = new MfAccess(card, 16, card.getTrailerBlockNumberForSector(16), createKey,
          createKeyValue);
      readerWriter.writeBlock(mfAccess2, trailerBlock);

      MfAccess mfAccessDataBlock2 = new MfAccess(card, 16, 1, Key.B, writeKeyValue);
      readerWriter.writeBlock(mfAccessDataBlock2, new DataBlock(), new DataBlock());

      Mad2 mad = new Mad2(null, null);
      mad.writeMad();

      return mad;
View Full Code Here

TOP

Related Classes of org.nfctools.mf.block.DataBlock

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.