Membuat kunci RFID universal untuk interkom

Salam untuk semua yang tertarik dengan topik kunci elektronik-semua-medan kendaraan. Sebenarnya, saya sendiri belum mengikuti berita di daerah ini untuk waktu yang lama. Tapi saya ingin mempublikasikan perkembangan saya tiga tahun lalu, karena mudah diulang dan mungkin menarik bagi seseorang. Intinya: alih-alih selusin kunci dengan kode semua medan dan hanya kode, semua kunci dapat dilakukan dalam satu perangkat kecil.



Penafian: ulangi - Saya tidak mendesak, untuk perakitan dan penggunaan - Anda bertanggung jawab, saya berbagi informasi semata-mata untuk tujuan informasi. Misalnya, untuk membantu perusahaan yang menyediakan speaker ponsel untuk menambal "lubang" pada waktunya, jika terdeteksi menggunakan perangkat.

1. Apa itu? Apa yang bisa?


Perangkat yang saya kumpulkan pada tahun 2017 tidak lebih dari spoofer untuk kunci interkom RFID yang beroperasi pada frekuensi 125 kHz. Kata "spoofer" dalam hal ini berarti bahwa perangkat, pada kenyataannya tidak menjadi kunci, menyamar sebagai itu, dan interkom merespons sesuai.

Perangkat dapat mengirimkan kode kunci apa pun yang direkam dalam memorinya. Beberapa kode dapat ditemukan di Web untuk "kunci semua medan", saya memasukkannya ke firmware terlebih dahulu. Tetapi dengan beberapa keterampilan dan keinginan, Anda dapat memasukkan dalam firmware kode-kode semua kunci RFID yang Anda gunakan (jika mereka bekerja pada frekuensi 125 kHz), dan dengan demikian dapat mengganti sekelompok pelompat kunci dengan satu perangkat.

Saya tahu bahwa dalam luasnya Web ada sejumlah besar rangkaian perangkat tersebut. Tujuan saya adalah membuat versi paling sederhana dari semua yang tersedia. Apakah itu berhasil atau tidak - menilai sendiri.

2. Keterampilan apa yang perlu Anda miliki untuk mengulangi proyek ini?


Pertama-tama, keterampilan untuk bekerja dengan Arduino: memiliki lingkungan pengembangan yang diinstal, untuk dapat mengunggah firmware ke papan tulis, menginstal perpustakaan, driver, itu saja. Selanjutnya Ada tempat di proyek di mana tanpa menyolder - baiklah, tidak ada. Karena - Anda memerlukan lengan lurus dan setrika dengan bahan habis pakai. Untuk dapat membaca diagram sirkuit listrik (atau kesamaan mereka). Nah, kemampuan pemrograman dalam C ++, agar bisa menyesuaikan perangkat. Tapi ini sudah opsional.

3. Bagian apa yang dibutuhkan dan bagaimana cara memasangnya?


Tanpa penundaan, berikut adalah diagram perangkat:
Maaf untuk kenyataan bahwa "tidak sesuai dengan GOST" - Saya menggambar di drawio, karena satu-satunya alternatif gratis dan nyaman adalah Visio, dan sekarang saya hanya menggunakan perangkat lunak berlisensi. Tapi, saya kira, semuanya sudah sangat jelas.


Seperti yang Anda lihat, BOM untuk versi dasar terlihat seperti ini:

  1. Arduino Nano (atau Dunya lainnya yang ada di tangan);
  2. EM4100 RFID key (bukan induktor);
  3. transistor npn (apa pun yang ditemukan, frekuensi di sini tidak terlalu tinggi);
  4. 10K resistor;
  5. Kapasitor 560 pF (SMD yang lebih baik, Anda dapat menyolder langsung ke kasing dari kunci);
  6. baterai lithium-ion - secukupnya;
  7. tiga tombol sentuh;
  8. Layar OLED dengan antarmuka I2C;
  9. modul pengisian daya untuk liIon;
  10. Step-up converter DC-DC dengan output 5V.

Skema kekuatan dapat berupa apa saja, hanya untuk memiliki Arduino yang cukup untuk memulai. Perangkat I / O - serupa: firmware dapat dengan mudah disesuaikan dengan tombol / layar yang tersedia (tautan ke github - tepat di bawah). Versi firmware saat ini ditulis untuk tampilan OLED dan tombol sentuh (diambil dari pertimbangan "no bounce").

Anda juga dapat mengumpulkan sampel uji pada papan tempat memotong roti tanpa solder. Tidak ada instruksi khusus yang diperlukan di sini, kecuali untuk apa yang harus dilakukan dengan "induktansi". Tentang itu - lebih terinci.



Kuncinya, mirip dengan yang ada di foto, dapat diperoleh dari master lokal, atau dipesan pada Ali. Ada penutup pada badan kunci, yang harus dibuka dengan hati-hati saat mencapai pengisian:



Ini adalah koil dan chip memori dengan dua bantalan di sisi. Temuan koil disolder hanya untuk bantalan ini. Semua ini dibanjiri dengan lapisan tipis termopolimer elastis (dalam penampilan dan sifat yang mirip dengan B7000 perekat beku). Untuk mendapatkan gelung, saya melakukan yang berikut. Mengambil pisau klerus, aku dengan lembut menekan textolite dengan pisau di antara bantalan dan sirkuit mikro. Dia memisahkan sirkuit mikro dari koil dan membuangnya. Kemudian, dengan besi solder, dengan lembut (agar tidak menyolder kawat tipis koil) membakar termopolimer di atas bantalan, sehingga memungkinkan untuk dial lebih lanjut.



Sebelum menyolder, Anda harus mengukur resistansi koil, memastikan tidak ada di tempat terbuka. Jika semuanya sudah beres, maka lebih baik untuk berkumpul seperti ini: pertama solder kapasitor SMD ke bantalan (itu harus cocok dengan rapi di antara mereka), maka kaki-kaki transistor dan pada akhirnya - resistor ke pangkalan. Semua ini dapat dipasang dengan rapi di perumahan utama. Kabel-kabel "bumi" dan pangkalan transistor disolder terakhir.



Kemudian buat lubang di penutup kunci untuk kabel-kabel ini, dan tutup gantungan kunci, sehingga tampak seperti aslinya. Untuk memasang di papan tempat memotong roti tanpa solder, Anda harus menyolder konektor pin ke kabel (atau cukup merobeknya dengan baik sehingga Anda dapat dengan mudah memasukkannya ke dalam papan tempat memotong roti).

4. Firmware, uji dan pengaturan


Seperti yang dijanjikan, tautan ke repositori proyek. File firmware ada di folder My_125_kHz_spoofer_v.03.

Setelah menyusun dan mengunggah firmware, perangkat siap digunakan. Untuk memastikan itu berfungsi, sama sekali tidak perlu untuk mencari interkom - Anda dapat bertahan dengan modul bahasa Mandarin untuk membaca kunci RFID, yang disebut RDM6300 dan papan Arduino lain (meskipun lebih mudah bagi siapa saja). Saya juga meletakkan firmware untuk modul RDM6300, yang menampilkan kode kunci yang diterjemahkan dalam format yang sama seperti yang dimasukkan dalam firmware spoofer, ke dalam repositori proyek. Diagram koneksi pembaca - di tempat yang sama.

Prosedur pengujian menggunakan pembaca RDM6300:

  1. Pastikan pembaca bekerja dengan menahan salah satu tombol yang tersedia pada 125 kHz ke antena (data akan dikeluarkan ke port COM);
  2. Pilih kode kunci yang menarik di menu spoofer;
  3. Bawa antena ke pembaca. Jika pembaca membaca kunci yang sama yang ditentukan dalam firmware - semuanya berhasil! Lain - periksa skema, cari di mana kesalahannya, hilangkan dan mulai dari titik 1.

5. Apa yang bisa diubah di firmware dan apa yang lebih baik untuk tidak disentuh


Karena firmware dibuat berdasarkan kode ini, yang tidak begitu jelas bagi saya, fungsi-fungsi vital yang tidak dapat diubah sekarang sepenuhnya, saya memasukkan tab functions.ino yang terpisah. Sisa dari program ini berfungsi semata-mata untuk memberi pengguna kesempatan yang nyaman untuk memanggil fungsi EmulateCard (well, dan beberapa baris kode di depannya).

Anda dapat menambahkan kunci Anda ke array uint64_t universalID [] yang terletak di baris 75 dari kode. Karena saya belum "menentukan" jumlah total kunci dalam memori perangkat, dan beberapa fungsi terkait dengan konstanta ini, ketika menambahkan kunci saya sendiri, Anda juga harus mengubah batas di mana variabel keyNumber bertanggung jawab untuk memilih kunci. Nah, jangan lupa untuk menambahkan kunci Anda di menu. Secara umum, semuanya lembab, tetapi jika Anda mau, saya ulangi, tidak sulit untuk mengetahuinya.

6. Apa yang bisa diperbaiki dalam perangkat


  1. Tambahkan dukungan untuk kunci iButton (setidaknya yang paling umum dari Dallas).
  2. Untuk menambah emulasi tombol yang beroperasi pada frekuensi 13,5 MHz (seperti yang saya mengerti, baik dengan menggunakan blank yang dapat ditulis ulang dan modul RC522, atau secara teknis sulit melalui emulasi nyata).
  3. Tambahkan pembaca iButton, RDM6300 dan RC522 ke perangkat untuk menjadikan perangkat lebih universal.

Siapa yang akan berhasil - tulis tentang hasilnya. Saya sendiri tidak akan kembali ke pengembangan mainan ini dalam waktu dekat)

7. Sejarah penciptaan


Saya berada di halaman pada musim gugur 2017. Sebagai siswa tahun kedua, saya merana dalam masalah penentuan nasib sendiri yang belum terselesaikan. Sederhananya, dilemparkan tentang kemalasan dan sedang mencari sesuatu untuk dilakukan. Akibatnya, ia memutuskan untuk menyelesaikan proyek-proyek teknik lamanya dengan merugikan mengunjungi universitas.

Cuaca di halaman cukup mewah. Dan apa yang bisa lebih baik daripada duduk di atap gedung tinggi di malam musim gugur yang dingin, minum teh dari termos dan merenungkan kesibukan kota malam di bawah kaki Anda? ..

Di sore hari, masuk ke pintu masuk gedung tinggi tidak sulit - rekayasa sosial dari seri "Halo, survei sosial tentang kualitas pekerjaan perusahaan manajemen untuk nama surat kabar lokal" bekerja dengan baik, dan memang, pada dasarnya penyewa tidak keberatan seseorang memasuki pintu masuk bersama mereka. Di malam hari, satu hal lagi. Dan saya suka naik ke atap baik saat matahari terbenam atau di malam hari ... Masalah telah matang, yang saya pecahkan dengan cara yang dijelaskan di atas.

Seingat saya, informasi tentang perangkat semacam itu tidak segera ditemukan. Googling untuk kata kunci "interkom cracker" menghasilkan hampir tidak ada. Mulai ketika saya sedikit memahami teknologi RFID, dan mulai mengajukan pertanyaan yang lebih bermakna, seperti "emulator RFID", "RFID multykey", "RFID spoofer".

Hasilnya, ternyata menemukan dua artikel berbahasa Inggris yang layak pada topik tersebut. Dalam satu, penulis menggambarkan bagaimana, berdasarkan Arduino, kunci yang agak membingungkan dari sudut pandang perangkat keras dibuat, dan yang kedua, semuanya sama, tetapi tanpa sumber, tetapi dengan perangkat keras yang sangat sederhana. Setelah beralasan bahwa karena kedua sirkuit terhubung ke antena dengan satu pin Arduino, saya memutuskan untuk melintasi solusi perangkat keras sederhana dan open source. Itu mungkin, meskipun bukan yang pertama kali).

Foto di awal artikel ini jauh dari versi perangkat yang pertama. Yang pertama adalah di papan tempat memotong roti, dan bekerja melalui port COM. Saya ingat bagaimana orang yang lewat membuat saya mengerti dalam segala hal bahwa saya tampak curiga ketika saya berdiri di pintu sebuah gedung bertingkat dengan laptop terbuka dan melihat sesuatu di interkom.

Lalu ada beberapa versi yang lebih ringkas, yang saya kumpulkan dan bongkar demi kepentingan. Yang kedua dari belakang mencuri salah satu karakter utama dari artikel saya sebelumnya. Versi saat ini disusun pada tanggal 29 Januari tahun ini, di antara pelajaran yang saya ajarkan di lingkaran saya. Itu dirakit hanya dengan tujuan untuk memastikan bahwa saya tidak memberi informasi yang salah kepada siapa pun, dan firmware dengan rangkaian berfungsi.

Source: https://habr.com/ru/post/id485104/


All Articles