NFC haritası için işletim sistemine giriş - Hardcore "kendin yap"
Kendiniz Yapın / / December 19, 2019
Şimdiye kadar, popüler masaüstü işletim sistemlerinin kullanıcıları şifre hariç OS girişinde Başka bir ihtimali yoktu. Bunu katlanmak için yeterli! Kimlik doğrulama işlemi lehim almak ve yapılacak It zamanı kedisini okşayarak ile basitlikte karşılaştırılabilir.
Bugün kategorisi DIY, biz de peeped paylaşacak Instructables yolu NFC kartı kullanarak OS giriş için bir şifre girin.
Adım 1: Detaylar
Biz gerekir:
- Arduino Leonardo
- Adafriut NFC Kalkanı
- NFC kartı (Adafriut NFC Kalkan ile birlikte geliyor)
- tel küçük bir parça
- Keskin bir bıçak
- lehim
- Kesme ve ayırma teller için bir araç
- bilgisayar
- mikro USB kablosu
Aşama 2: demir
bir donanım modülü oluşturmak için işlem çok basittir.
Cihazın çalışması için gerekli tek modifikasyon, mil ve mil IRQ'ya 2 arasındaki bağlantı kopar etmektir. Bu kullanışlı bıçak için.
Sonra bir ara kablosu ile IRQ ve 6 işaretçilerine bağlamanız gerekir.
Bir kişinin yokluğu / varlığı kontrol, bir multimetre kullanın ve inşa süreci ve Leonardo NFC modülü teklif burada bu kısa videoda daha net anlaşılması için olabilir. Her şey adım adım ve çok net bir şekilde gösterilmiştir:
Adım 3: Yazılım
Aşağıda Arduino doldurulmalıdır koddur. indir başlamadan önce Adafruit NFC kütüphanede emin olmak gerekir. Bu konuda daha fazla oku burada.
#include
#include
#define IRQ 6 // bu iz kesim ve rewired olmalı!
# define RESET 8
Adafruit_NFCShield_I2C nfc (IRQ RESET);
//////////////////////////////////// AYAR
void setup () {
// 9600 bps hızında Seri kütüphane kurmak
Serial.begin (9600);
// Adafruit RFID / NFC kalkan bulmak
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
(Eğer! versiondata) {
Serial.print ( «PN53x kurulu bulamadınız mı»);
(1) ise; // durması
}
// Got Tamam veriler, çıktısını!
Serial.print ( «Bulunan çip PN5»); Serial.println ((versiondata >> 24) 0XFF, HEX);
Serial.print ( «Firmware ver. «); Serial.print ((versiondata >> 16) 0XFF, DEC);
Serial.print ( ''); Serial.println ((versiondata >> 8) 0XFF, DEC);
// yapılandırmak kurulu RFID etiketleri okumak için
nfc. SAMConfig ();
Keyboard.begin (); // Klavye başlatmak
}
/////////////////////////////////// DÖNGÜ
işaretsiz rakam = 0;
void döngü () {
uint8_t başarı;
uint8_t UID [] = {0, 0, 0, 0, 0, 0, 0}; // Tampon geri UID depolamak
uint8_t uidLength; // UID uzunluğu (ISO14443A kart türüne bağlı olarak 4 veya 7 bayt)
// RFID kart göstermek için bekle!
Serial.println ( «Bir ISO14443A Card Bekliyor ...»);
// Bir ISO14443A tipi kartları (Mifare, vs.) için bekleyin. biri bulunduğunda
// 'uid' UID ile doldurulur ve uidLength gösterecektir
// uid 4 bayt (Mifare Klasik) veya 7 baytı ise (Mifare Ultra Hafif)
başarı = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, UID ve uidLength);
uint32_t cardidentifier = 0;
Eğer (başarılı) {
// bir kart Bulundu!
Serial.print ( «Kart # algılandı»);
// tek bir değişken # içine klasik bir mifare dört bayt UID çevirmek
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println (cardidentifier);
Eğer (cardidentifier == 606.061.173) {
Keyboard.write ( 'm');
Keyboard.write (y ');
Keyboard.write ( 'p');
Keyboard.write ( 'a');
Keyboard.write ( 's');
Keyboard.write ( 's');
(W '') Keyboard.write;
Keyboard.write ( 'o');
Keyboard.write ( 'r');
Keyboard.write ( 'd');
gecikmesi (5000); // emin şifre tekrar edilmez hale getirir
}
}
}
Kod yüklendikten sonra, 9600 baud için seri monitör setini açın. okuyucu ve ayrılması için bir ikinci kaset NFC kartı. «Kart #card sayısını tespit» monitör ile mesaj göstermesi gerekir. doğrultusunda cari kart numarasının «cardidentifier ==» alınan numarayı değiştirin.
Şimdi şifre sorumludur kod bölümünü değiştirin. Gördüğünüz gibi, varsayılan parola «ParolaM» bir kombinasyonudur. işletim sistemi içine mevcut şifre girişine değiştirin (karakterlik bir şifre sayısı «Keyboard.write ekibi ile basitçe ekleme / çıkış hatları ile değiştirilir).
Arduino final kod yeniden başlatma ve şimdi, sadece en kısa sürede NFC okuyucuya bu kartı getirmek gibi şifre hemen giriş alanına girilecektir. Enter ve sevin çarptı.
projeye yorumlarda komut girişi şifre nihai Keyboard.write (KEY_RETURN) dizi tamamlayacak sunulan bir adam buldum; basına ihtiyaç Enter ortadan kaldırmak için, ama bu karar doğrulanmadı.