วันนี้เราจะรวบรวมอุปกรณ์ที่จะจดจำรหัสผ่านของเราและโดยการกดปุ่มโดยอัตโนมัติป้อนลงในคอมพิวเตอร์ ในกรณีนี้รหัสผ่านจะถูกป้องกัน ผู้เขียนผลิตภัณฑ์โฮมเมดนี้คือไมเคิล (ช่อง YouTube "Arturos TV")
สำหรับการผลิตอุปกรณ์ดังกล่าวเราต้องการส่วนประกอบเพียง 3 ตัวเท่านั้น ก่อนอื่นนี่เป็นแพลตฟอร์มแน่นอน (โปรดอย่าสับสน Arduino โปรมินิ)
arduino นี้มีไมโครคอนโทรลเลอร์ ATmega32u4 ซึ่งหมายความว่ามี USB ในตัวซึ่งก็คือคอมพิวเตอร์รู้จักอาร์ดิโนนี้เป็นเมาส์หรือคีย์บอร์ด มันอยู่รอบคุณสมบัตินี้ที่จะสร้างโครงการของวันนี้
นอกจากนี้อาร์ดิโน่ยังมี pinout ที่ไม่ได้มาตรฐาน อย่างไรก็ตามเราจะพบสิ่งนี้อีกในภายหลัง นอกจากนี้เราจะต้องสำรวจเมนูแล้วป้อนรหัสผ่าน
เรามาจัดการกับหลักการของงานในเวลาสั้น ๆ เครื่องเข้ารหัสมี 2 ผู้ติดต่อที่เรียกว่าแบบมีเงื่อนไข a และ b ขึ้นอยู่กับทิศทางที่เครื่องเข้ารหัสจะเปิด
ตัวอย่างเช่นถ้าเราหมุนตามเข็มนาฬิกาแล้วติดต่อ“ a” ปิดก่อนแล้วจึงติดต่อ“ b” จากสิ่งนี้ในโปรแกรมเราสามารถเข้าใจได้ว่าเอนโค้ดเดอร์หมุนตามเข็มนาฬิกา หากหมุนทวนเข็มนาฬิกาแล้วติดต่อ "b" จะถูกปิดก่อนและจากนั้นติดต่อ "a" เท่านั้น หลังจากการปฏิวัติแต่ละครั้งจะมีการคลิกเพียงเล็กน้อย เป็นพื้นฐานนี้ว่ารหัสผ่านจะเป็นไปตามซึ่งจะต้องป้อนเพื่อให้สามารถเข้าถึงอุปกรณ์ของเรา
เมนูอุปกรณ์จะปรากฏขึ้นในหลักสูตรที่คุ้นเคยบนบัส I2C
และมีความแตกต่างเล็กน้อย ใน arduino pro micro รายชื่อ I2C ไม่ได้อยู่ในพอร์ตมาตรฐาน A5 และ A4 แต่ในรายชื่อ 2 และ 3 ดังนั้นคุณต้องเชื่อมต่อจอแสดงผลที่นี่
โดยทั่วไปแผนภาพของอุปกรณ์ที่ประกอบทั้งหมดมีลักษณะดังนี้:
แน่นอนเราจะพิมพ์เคสบนเครื่องพิมพ์ 3 มิติ
คราวนี้มันออกมาได้ดีมาก แต่ด้วยเหตุผลบางอย่างที่ผู้เขียนตัดสินใจที่จะออกแบบและทำให้ฝาครอบด้านล่างไม่สวยมาก แต่ไม่มีอะไรที่ต้องทำ แต่ด้วยขนาดของเคสและระยะห่างระหว่างหลุมในครั้งนี้ทุกอย่างกลับกลายเป็นอย่างดี รายละเอียดทั้งหมดตกลงไปในสถานที่และด้วยความยากลำบากน้อยมากมันก็เปิดออกเพื่อขันสกรูทั้งหมดเพื่อแก้ไขชิ้นส่วน น่าเสียดายที่กาวร้อนเป็นไปได้อีกครั้ง แต่ในโครงการนี้มันมีอยู่แล้วเล็กน้อย
แน่นอนสิ่งที่น่าสนใจที่สุดเกี่ยวกับโครงการนี้คือการเขียนเฟิร์มแวร์
เราจะไม่ลงลึกในรายละเอียด แต่จำเป็นต้องบอกคุณเกี่ยวกับคุณสมบัติบางอย่าง ก่อนอื่นนี่คือการใช้ keyboard.h ไลบรารี่
ไลบรารี่นี้ใช้กับ arduino leonardo และ arduino pro micro board หรือกับไมโครคอนโทรลเลอร์ usb ในตัวเท่านั้น หากคุณพยายามที่จะแฟลชกับร่างนี้ Arduino อื่น ๆ ที่ไม่ได้มีเช่น USB ในตัวสภาพแวดล้อมการพัฒนาจะสาบานดังนั้นจึงควรระมัดระวัง อีกหนึ่งห้องสมุดที่น่าสนใจคือ EEPROM.h
ผู้เขียนใช้เพื่อทำให้ผู้โจมตีแฮ็คอุปกรณ์ของเราซับซ้อนขึ้น อย่างไรก็ตามเพิ่มเติมในภายหลัง บรรทัดนี้น่าสนใจมากสำหรับคุณ:
ที่นี่เราตั้งรหัสการเข้าถึงสำหรับอุปกรณ์ของเราเพื่อปลดล็อค อย่างไรก็ตามภายหลังเล็กน้อยเกี่ยวกับความปลอดภัย แต่ยังจำได้ว่าที่นี่เรามีโอกาสระบุ "0" หรือ "1" ในขณะนี้เราได้ตั้งรหัสผ่าน "101"
และยังเป็นบล็อกที่สำคัญมากซึ่งเป็นที่เก็บรหัสผ่าน
โปรดทราบว่านี่เป็นอาร์เรย์สองมิติและจำนวนรหัสผ่านที่นี่โดยทั่วไปจะไม่ จำกัด แม้ว่าการพูดอย่างเคร่งครัดจะถูก จำกัด โดยหน่วยความจำของอุปกรณ์นี้สามารถถูกทอดทิ้ง มันสำคัญมากที่จะต้องปฏิบัติตามรูปแบบการบันทึก สมมติว่าเขตข้อมูลแรกเป็นสิ่งที่ปรากฏในเมนูบนอุปกรณ์ นั่นคือตัวอย่างเช่น "ผู้ดูแลระบบ"
จากนั้นคั่นด้วยเครื่องหมายจุลภาคและเครื่องหมายคำพูดเราจะต้องเขียนรหัสผ่านของเราซึ่งเราต้องการให้อุปกรณ์เข้าสู่คอมพิวเตอร์ ตัวอย่างเช่นมีส่วน "ทดสอบ" (นี่จะถูกเขียนบนหน้าจอของอุปกรณ์ของเรา)
และถ้าเรากดปุ่มข้อความนี้จะถูกป้อนเข้าสู่คอมพิวเตอร์:
ความสวยงามของอุปกรณ์นี้คือถ้าไมโครคอนโทรลเลอร์ถูกกะพริบด้วยภาพร่างบางชนิดมันเป็นไปไม่ได้ที่จะเอามันออกมาจากที่นั่น หากคุณตั้งรหัสผ่านทั้งหมดและชื่อทั้งหมดที่นี่จากนั้นลบรหัสผ่านจากเฟิร์มแวร์นี้จะไม่มีใครสามารถเข้าถึงรหัสผ่านของคุณได้ยกเว้นว่าผู้โจมตีจะถอดรหัสอุปกรณ์นี้และเข้าใจวิธีการทำงาน
ต่อไปนี้เป็นเฟิร์มแวร์ที่ค่อนข้างยาวและเราจะไม่ลงรายละเอียด คุณสามารถดาวน์โหลดได้จากลิงค์ในคำอธิบายใต้วิดีโอของผู้เขียน (ลิงก์ SOURCE ที่ท้ายบทความ)
ดังนั้นเราจะทำกับเฟิร์มแวร์ดังนั้นตอนนี้เรามาดูวิธีการทำงานของอุปกรณ์นี้ เราเชื่อมต่อกับคอมพิวเตอร์เพื่อให้ได้พลังงาน
ตอนนี้หน้าที่ของเราคือการป้อนรหัสผ่าน รหัสผ่านตามที่คุณจำได้คือเลขศูนย์และรหัสผ่านและ“ 1” คือคลิกเดียวของการหมุนตามเข็มนาฬิกาของตัวเข้ารหัสและ“ 0” คือการหมุนทวนเข็มนาฬิกา นั่นคือเนื่องจากเราได้ตั้งรหัสผ่าน 101 เราจำเป็นต้องเลื่อนคันโยก 1 ครั้งไปทางขวา 1 ครั้งทางซ้ายแล้วอีกครั้งไปทางขวา
ดังนั้นเราจึงป้อนรหัสผ่านโดยคลิกที่ตัวเข้ารหัสและสามารถเข้าถึงรหัสผ่านในคอมพิวเตอร์
โปรดทราบว่าเรามีเพียง 3 ครั้ง หากเราใช้หมดทุกอย่างอุปกรณ์จะขอให้คุณรอหนึ่งนาทีก่อนที่เราจะสามารถลองใส่รหัสผ่านอีกครั้ง
และสำหรับผู้ที่ฉลาดโดยเฉพาะผู้ที่จะเข้าใจว่าพวกเขาต้องรอสักครู่และถอดอุปกรณ์ออกจากแหล่งจ่ายไฟจากนั้นเชื่อมต่อใหม่อุปกรณ์จะบอกพวกเขาว่าพวกเขาจะต้องหยุดกลอุบายที่ร้ายกาจและพวกเขารู้ทุกอย่างเกี่ยวกับพวกเขา การรอจะถูกบันทึกอย่างต่อเนื่องในหน่วยความจำแบบไม่ลบเลือน
ฉันหวังว่าคุณจะเข้าใจว่าอุปกรณ์นี้ทำงานอย่างไร ขอบคุณสำหรับความสนใจของคุณ แล้วพบกันเร็ว ๆ นี้!
วิดีโอ: