* .h include only the strict minimum for their own parsing
* this forces all files to include explicitment their needs and not count on far streched dependencies
* this helps Makefile to rebuild only the minimum
* according to this rule, most standalone .h are now gone
* big app.h is gone
* remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
* bring zlib to common/
* bring stuff not really/not yet used in common back to armsrc/ or client/
* bring liblua into client/
* bring uart into client/
* move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
* treat deps in armsrc/ as in client/
* client: stop on warning (-Werror), same as for armsrc/
Tested on:
* all standalone modes
* Linux
ADD: 'hf mfu restore' - added a restore from file command, see helptext for instructions
CHG: some help-text updates and refactored to functions
CHG: 'hf mfu gen' - added the possibility to read uid from card as input
CHG: 'hf mfu dump' - refactored out the dump-printing
ADD: 'hf mfu info' ul-ev1 pwd tests are now correct
ADD: 'ul ev1 authentication' now deals with magic tags and NACK messages correct.
ADD: 'hf mfu pwdgen' added the option 'r' to read uid from tag instead.
ADD: a ROL function in util.c
ADD: two pwdgen functions in cmdhfmfu.c, call them with a 7byte UID and get a 4byte number back. Will see if it can be connected with the "hf mfu info" command, make data extraction easier later on.
ADD: added some more easy pwd in the dictionary file default_pwd.dic
CHG: Merged the "hf mfu wrbl" and "hf mfu cwrbl" commands into "hf mfu wrbl". One write command.
Both new commands implement a help, authentication (0x1A/0x1B) for ULC and the rest,
and at present it can detect if a UL-C tag is magic (uid changeable)
FOR UL it writes the first configuration pages 0-3.
For UL_C it tests some default 3des keys, and lock / confg bytes at pages 42-43,44-47
For UL_EV1 / NTAG it collects the GETVERSION command and tries to read 3 counters., it also tries one default password of 0xFF,0xFF,0xFF,0xFF for the EV1 /NTAG authentication 0x1B.
FOR UL_C_MAGIC, it tries to see if the gatherd nonces for authentication 0x1A is the same, which indicates on my tags that they are magic.
There is the @marshmellow changes to "hf mfu dump" command.
This commit needs testing, and is to be considered experimental.