X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=nfc-card-dumper.pl;h=afc3140ab2667b8ab9652ca867a32d6ea922707d;hb=59ab9f21afdf5f7e1a8b25ea4eb5da3d33af51c3;hp=09be74238b5303a63db54c8f668e58c5bfc0f29c;hpb=25e67f6fb1e89a920b38b629de2695c7402d90a9;p=perl-Mifare-MAD.git diff --git a/nfc-card-dumper.pl b/nfc-card-dumper.pl index 09be742..afc3140 100755 --- a/nfc-card-dumper.pl +++ b/nfc-card-dumper.pl @@ -13,6 +13,7 @@ use Data::Dump qw(dump); my ($opt,$usage) = describe_options( '%c %c [dump_with_keys]', [ 'write=s', 'write dump to card' ], + [ 'verify!', 'verify writes', { default => 1 } ], [ 'debug|d', 'show debug dumps' ], [ 'help|h', 'usage' ], ); @@ -84,11 +85,17 @@ if ($r->init()) { if ( $opt->write ) { read_file $opt->write; - print STDERR "writing $uid block "; foreach my $block ( 0 .. $tag->blocks ) { my $offset = 0x10 * $block; - $tag->write_block( $block, substr($card,$offset,0x10) ); - print STDERR "$block "; + my $data = substr($card,$offset,0x10); + print STDERR "writing $uid block $block"; + $tag->write_block( $block, $data ); + if ( $opt->verify ) { + print STDERR " verify "; + my $verify = $tag->read_block( $block ); + print STDERR $verify eq $data ? "OK" : "ERROR"; + } + print STDERR "\n"; } print STDERR "done\n"; unlink $card_key_file;