2016-11-27 123 views
1

Evanの回答this pageによれば、セクタの認証キーを変更するには、そのセクタの4番目のブロック(最終ブロック)のキーを上書きする必要があります。MIFAREクラシックでセクタの認証キーを変更する

デフォルトのキーは、常に6バイトのキーである 'FF FF FF FF FF FF'です。今度は、pi-rc522 libraryからwriteメソッドを使用して変更しようとすると、各ブロックは16バイトでなければならないため、Index Errorが発生しますが、認証キーは6バイトのみです。

どこが間違っていますか?

デバイスはRC522であり、私はあなたが唯一のMIFAREクラシックカードの全体のブロックを書き込むことができラズベリーパイ3.

答えて

1

にRaspbianを使用しています。その結果、キーA(最初の6バイト)だけでなく、完全なセクタートレーラーを書く必要があります。

完全なセクタートレーラーは次のようになります。

 
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 
| KEY A      | ACCESS BITS | GP | KEY B      | 
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 

あなたが部門のすべてのブロックが唯一のキーA(すなわち何もキーBが使用されていない)と、読み出し/書き込み可能なようにしたい場合は、アクセスを使用できビットFF 07 80。あなたは11 22 33 44 55 66にキーAを設定したい場合はこのように、あなたはトレーラーブロックのため、この値を使用することができます。

 
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 
| KEY A      | ACCESS BITS | GP | KEY B      | 
| 11 22 33 44 55 66 | FF 07 80 | 00 | 00 00 00 00 00 00 | 
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 

最後に、あなたはセクタートレーラーの中に書かれたものには注意してください。アクセスビットは、冗長機構によって保護される。無効なアクセスビットをトレーラブロックに書き込むと、セクタ全体が不可逆的にブロックされます。

+0

セクタの末尾にセクタの最後のブロックがありますか?たとえば、 'SelectTag'が' 8'を返す場合、キー情報がブロック '7'に格納されることを意味しますか? – jdevelop

関連する問題