
أداة تسجيل ضغطات المفاتيح عبر USB تعتمد على ESP32-S3 مع واي فاي، سهلة DIY-able باستخدام أجهزة متوفرة على نطاق واسع.

DuckLogger هو مسجل مفاتيح USB يعتمد على ESP32-S3. يسجل ضغطات المفاتيح في ملف نصي، ويوفر وصولاً لاسلكياً لتنزيل السجلات من خلال نقطة اتصال Wi-Fi مدمجة. لا تتطلب إعادة إنشاء هذا المشروع أي لوحة دوائر مطبوعة مخصصة. الأجهزة المستخدمة هنا تكلف أقل من 10 دولارات إجمالاً في أماكن مثل Aliexpress.

الوصول إلى واجهة الويب على:
http://192.168.4.1/
(عندما يكون في وضع نقطة الوصول)


| ESP32-S3 | CH9350 |
|---|---|
| 5V | 5V |
| GND | GND |
| GP1 | TX |
| GP2 | RX |
يدعم CH9350 أوضاع تشغيل متعددة، يتم تكوينها باستخدام مفاتيح DIP الموجودة على اللوحة.

اضبط S0 على موضع GND (0) واترك جميع المفاتيح الأخرى في الموضع المعاكس (1). هذا يمكّن وضع مضيف USB، الذي يحول مدخلات لوحة المفاتيح USB إلى بيانات تسلسلية تُرسل عبر UART بمعدل باود افتراضي يبلغ 115200.
DuckLogger مكتوب بلغة MicroPython. قم بوميض لوحتك ببرنامج MicroPython الثابت. ابحث عن تعليمات الوميض هنا.
بعد الوميض، افصل لوحة USB وأعد توصيلها.
git clone https://github.com/Itsmmdoha/duckLogger.git
cd duckLogger
تأكد من توصيل اللوحة عبر USB، ثم شغّل:
python flasher.py
سيقوم المبرمج تلقائياً بما يلي:
mpremote وحزم MicroPython المطلوبة على اللوحةindex.html ونسخ جميع الملفات إلى اللوحةإذا كان في وضع نقطة الوصول (الافتراضي)، اتصل بنقطة اتصال Wi-Fi (كلمة المرور الافتراضية: duckPass1234) وافتح:
http://192.168.4.1/
للوصول إلى مركز القيادة والتحكم.
يدعم DuckLogger حالياً مجموعة أساسية من أوامر DuckyScript لحقن الحمولات:
.
├── flasher.py
├── index.html
├── lib
│ ├── access_point.py
│ ├── api.py
│ ├── duckyscript.py
│ ├── keyboard.py
│ ├── key_led.py
│ ├── logger.py
│ ├── mapper.py
│ ├── microdot
│ │ ├── helpers.py
│ │ ├── __init__.py
│ │ ├── microdot.py
│ │ └── websocket.py
│ ├── queue.py
│ ├── settings.py
│ ├── uart_buffer.py
│ ├── wifi.py
│ └── wifi_radio.py
├── LICENSE
├── main.py
├── README.md
├── resources.md
└── settings.json
يتضمن هذا المشروع مكتبة Microdot من Miguel Grinberg (رخصة MIT):
https://github.com/miguelgrinberg/microdot
| الأمر | الوصف | مثال |
|---|
DELAY | يوقف التنفيذ لعدد محدد من المللي ثانية. | DELAY 500 |
STRING | يطبع سلسلة من الأحرف تماماً كما هي مكتوبة. | STRING Hello, World! |
| مجموعات المفاتيح | يرسل ضغطات مفاتيح متزامنة. | CTRL SHIFT ESC أو ALT i |
| المفاتيح المفردة | يرسل مفاتيح خاصة فردية. | ENTER أو TAB |