11P by xguru 2023-06-01 | favorite | 댓글 2개
  • 치솔 헤드가 삽입되면 LED를 깜박여서 알려주고, 언제 새로운 치솔을 사야할지도 알려줌
  • 헤드에 13.56Mhz로 동작하는 NFC Tag(NTAG213)가 삽입되어 있어서 가능
  • 메모리에 뭐가 들어있는지 확인해서 특정 0x22 는 치솔의 색상, 0x24 는 총 사용시간을 알아냄(읽기만 가능, 쓰기는 암호 걸려있음)
  • 새 헤드를 넣고 사용해보면서 계속 읽어내어서 시간 값을 알아냄
  • 쓰기 암호가 걸려있지만, 해당 암호는 플레인 텍스트 통신이었음
  • HackRF SDR(Software Defined Radio) 장비를 이용해서 시그널을 캡쳐
  • gnuradio 스크립트를 작성해서 데이터를 wav 파일로 변환
  • nfc-laboratory 로 암호를 캡쳐함. 알아낸 치솔 헤드의 암호는 "67:B3:8B:98"
  • 이 암호를 이용해서 시간값을 마음대로 저장 가능
  • 안타깝지만 헤드마다 암호는 다름. NXP가 UID로 부터 암호를 생성하는 것을 추천하고 있어서 그때문인듯
  • 이 암호를 알아내는 함수를 알아내는 것은 실패. 누가 이 퍼즐 풀 수있으면 메일 부탁!

LED 마스크들의 수명 제한을 이런 식으로 풀어 쓰기도 한다더군요 ㅎㅎ

전동칫솔이나 토스트기를 제어해서 음악 연주하는 유튜브가 생각나네요.

https://www.youtube.com/watch?v=NATZy-ZqD7A