Giter Club home page Giter Club logo

diversify's Introduction

Diversification

Writer takes 16-byte 2K3DES master key as command line argument, derives from it a new key based on UID of the tag, and then writes the new key to the tag. If second argument is provided, then it's used as the current key. If no second argument is provided, then the default key (BREAKMEIFYOUCAN!) is used.

Reader takes master key and reads the whole card with derived key.

This works only for Mifare Ultralight C tags.

Dependencies

I use clausecker/freefare that supports key diversification and has some ad-hoc fixes to work with latest version of libfreefare (as well as some minor bug fixes).

Obviously this means that building and installing libnfc and libfreefare from master is needed too. I'd have provided a specific version that's required, but for some reason they have decided to not bump the version for the past 4 years despite continuous changes to the API, so expect things to be broken.

Usage

sh build.sh
output/writer 00112233445566778899AABBCCDDEEFF FFEEDDCCBBAA99887766554433221100
output/reader 00112233445566778899AABBCCDDEEFF 

diversify's People

Contributors

graynk avatar

Watchers

 avatar

diversify's Issues

Update NFC and freefare dependencies

Good evening!

A few months ago I have migrated my NFC and Freefare bindings to use Go modules. I have also since renamed my account from “fuzxxl” to “clausecker.” As a part of this effort, the imports paths for the nfc and freefare packages have changes as such:

import "github.com/clausecker/nfc/v2"
import "github.com/clausecker/freefare"

As an added bonus, the new import paths are versioned with Go modules for higher stability. The old import paths will continue to work in projects that do not use Go modules but won't be updated. Please consider importing the NFC and Freefare modules by the new import paths to keep up to date with future package versions and bug fixes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.