مقال : الهندسة العكسية للموجات اللاسلكية – اختراق أنظمة فتح السيارات اللاسلكية Car Key Fobs
بسم الله الرحمن الرحيم,
السلام عليكم أخواني, في البداية أعتذر لطول الغياب, كنت في قمة الانشغال في الفترة السابقة. بأذن الله سأقوم في الفترة القادمة بتقديم مجموعة من المقالات التقنية عن الهندسة العكسية للعتاد الصلب Hardware Reverse Engineering.
ولأن الكثير لا يعلم عن هذا المجال, فقررت أن ابدأ بداية مشوقة, سنقوم اليوم بأذن الله بعمل هندسة عكسية على الموجات الكهرومغناطيسية في الهواء, تلك الموجات التي تتحكم في حياتنا ولكننا لا نراها ولا نشعر بوجودها في الظروف الطبيعية, وكمثال على حديثنا سنقوم بعمل هندسة عكسية على موجات ترددات ريموت مفتاح السيارة Car Key Fobs.
كيف يعمل مفتاح السيارة؟
كيف يقوم مفتاح السيارة بإرسال أمر فتح أو غلق؟ يقوم المستخدم بالضغط على زر الفتح فتُفتح السيارة, كيف حدث هذا تقنيا؟ الأمر في بادئ الأمر هو أن ضغطة زر مُعين وليكن زر الفتح, معناها إرسال بعض البيانات الرقمية binary data لاسلكيا لدائرة الإستقبال بداخل السيارة, تقوم دائرة الإستقبال بمقارنة القيمة المُستلمة بالقيم المُسجلة فيها, فتقوم بفتح السيارة عندما تتأكد أن الأمر المُستقبَل هو الخاص بفتح السيارة.
إذا هدفنا هنا هو معرفة القيمة الرقمية التي يتم إرسالها لاسلكيا في الهواء لنقوم نحن بعد ذلك بإرسالها من خلال دائرة إلكترونية معينة (سنتكلم عن ذلك لاحقا بأذن الله فلا تقلق إذا لم تكن الصورة واضحة بعد) فتُفتح السيارة بدون الحصول على ريموت فتح السيارة وبذلك بإمكان أي مُخترق سئ النوايا بإختراق أي سيارة من خلال نفس الطريقة.
أيضا يجب التنويه أن القيمة الرقمية الخاصة بكل أمر تختلف من ريموت سيارة لريموت سيارة آخر, كما أن هنالك أنظمة ريموتات تحتفظ بقيم ثابتة لتلك الأوامر, تلك القيم لا تتغير أبدا, فمثلا لو كان أمر الفتح مُتمثلا في القيمة الرقمية 01101 فإذا جئت بعد أعوام وضغطت نفس الزر في نفس الريموت سيقوم بإخراج نفس القيمة الرقمية 01101, بينما هنالك أنظمة ريموتات أخرى تقوم بتوليد قيمة رقمية Binary Data جديدة في كل مرة تقوم بالضغط على زر معين من خلال لوغاريثمية تمت برمجة الريموت عليها, فمثلا إذا ضغطت الآن على أمر الفتح ستكون القيمة الرقمية 01101, فإذا جئت بعد ساعة وضغطت على نفس الزر ستكون القيمة الرقمية مختلفة عن سالفتها. اليوم سنقوم بالحديث عن الأنظمة من النوع الأول.
آليات استخراج القيمة الرقمية لأوامر الريموت.
الآن أول خطوة منطقية هي التفكير كيف يمكن استخراج تلك القيم الرقمية من داخل ريموت الإرسال؟
نستطيع ذلك من خلال طريقتين, الأولى هي البحث عن مكان لتخزين تلك القيم الرقمية داخل ريموت الإرسال بعد فكه وإخراج الدائرة الإلكترونية. يقوم أي معالج مدمج Embedded Processor بالاحتفاظ بالقيم الثابتة التي لا تتغير في أنواع من الذاكرة تسمى Read Only Memory, فبالتالي نقوم في تلك الطريقة بالبحث عن أي ROM داخل الدائرة ونحاول قراءة محتواها من خلال استخدام متحكم دقيق خارجي External Microcontroller للتواصل مع الـ ROM وأخذ البيانات التي بداخلها. طبعا تلك الطريقة بها الكثير من العيوب, فمثلا نحن لا نعلم إذا ما كانت البيانات التي بداخل الـ ROM هي البيانات الأصلية الخاصة بأوامر كل زر أم هي نسخة مشفرة أو متغيرة منها, عيب آخر وهو قد لا تكون دائرة الريموت تحت أيدينا, فبالتالي لا نستطيع فكها والحصول على الدائرة الكهربية التي بداخلها, عيب ثالث هو أن أي خطأ في توصيل دائرة المتحكم الدقيق الخارجي بدائرة الريموت قد تقوم بإتلاف الدائرة بأكملها, عيب رابع وهو صعوبة العملية وطول الوقت, فنحن بحاجة لشراء متحكم دقيق يحوي الواجهة الكهربية Electrical Interface التي ستقوم بالتخاطب مع الـ ROM (مثال I2C protocol, SPI Protocol, إلخ…), ويجب قراءة الـ datasheet الخاص بالـ ROM لنعلم ما هي أوامر الـ ROM الوقتية (Commands timing diagram) وكيفية إرسال أمر كتابة أو أمر قراءة من وإلى الـ ROM (بفرض أن الـ ROM يُمكن الكتابة عليها), بعد ذلك نقوم ببرمجة هذا المتحكم الدقيق ليرسل الأوامر كما علمناها من الـ datasheet, كل هذا يستغرق الوقت والمال والجهد.
الطريقة الثانية لاستخراج القيم الرقمية هي اعتراض القيمة وهي في الهواء فور خروجها من المُرسل إلى المُستقبِل, وهذا ما سنفعله اليوم بأذن الله.
قبل أن نبدأ في عملية الهندسة العكسية, يجب علينا اعتراض وتخزين البيانات الرقمية لأشارة أوامر الريموت, لهذا يجب علينا أولا أن نتكلم قليلا عن بعض الأساسيات النظرية في علم الإتصالات التناظرية والرقمية Analog and Digital Communication theory.
كيف يتم إرسال البيانات لاسلكيا؟
لكي يتم إرسال أي بيانات رقمية لاسلكيا, يجب علينا أولا أن نقوم بعملية تسمى عملية التعديل Modulation للبيانات التي نود إرسالها. عملية التعديل Modulation هي أننا نقوم بتوليد ترددات جيبية Sinusoidal Frequencies لتقوم باحتواء البيانات المُراد إرسالها لاسلكيا, ثم نقوم بتغيير بعض خصائص تلك الترددات حسب قيمة البيانات, وهذا يعتمد على نوع التعديل Modulation Type. لا أريد أن أتعمق كثيرا في علم الإتصالات لصعوبته وكثرة الكلام فيه, ولأنه يعتمد بالأساس على الكثير الكثير من الرياضيات, ولكن يجب علينا أن نعلم أننا نحتاج عملية التعديل Modulation حتى نستطيع إرسال البيانات لاسلكيا, فالأشارات الجيبية Sinusoidal waves بامكانها الإنتقال في الهواء بتردداتها المختلفة من خلال موجة مغناطيسية وموجة كهربية وهذا ما يُطلق عليه الموجة الكهرومغناطيسية, فهي بكل بساطة موجة يتم توليدها من خلال تغير قيمة التيار المار في مادة موصلة بالنسبة للزمن, ومع سرعة تغير التيار يتم تحديد تردد الأشارة المُولدة. تُمكنا أيضا عملية التعديل Modulation لإرسال البيانات لأماكن بعيدة جدا لاسلكيا تصل لكيلومترات, كما تُمكنا أيضا من إرسال البيانات على تردد فريد فيحتاج كل من أراد استقبال الأشارة لصُنع دائرة إلكترونية مُخصصة لاستلام هذا التردد فقط, ومن ثم القيام بعميلة إزالة التعديل Demodulation ليتم قراءة البيانات المُرسلة لاسلكيا. أمثلة على أشهر الترددات في حياتنا اليومية, الـ WiFi فهو يعمل على تردد 2.4 GHz و 5 GHz, وشبكات الهواتف النقالة التي تعمل تكنولوجيا الجيل الثاني التي تُسمى GSM على تردد 890 MHz حتى 960 Mhz ومن 1710 MHz حتى 1800 MHz. نحن جميعا محاطين بالكثير من الأشارات اللاسلكية التي تحوي ملايين البيانات والمعلومات تنتقل عبر الهواء كل ثانية.
الآن نستطيع أن نبدأ في عملية الهندسة العكسية الفعلية للإشارات اللاسلكية لريموت السيارة.
في البداية, وبعد المقدمة التي تكلمنا فيها عن علم الإتصالات, يجب علينا أولا أن نعرف ما هو النطاق الترددي الذي تعمل عليه موجات ريموت السيارات؟ معظم ريموتات السيارات تعمل على نطاق ترددي يُسمى ISM Band أو Industrial, Scientific and Medical Band, وهي مجموعة نطاقات ترددية تم الاتفاق عليها لتقوم أي شركة تحتاج لنطاق ترددي معين في الهواء بالعمل عليها, من تلك النطاقات هو نطاق الـ WiFi فهو يُعتبر تردد من ترددات ISM Band, ريموتات السيارات تعمل في الأغلب على نطاق الـ 433 MHz أو 315 MHz. الريموت الذي سأعمل عليه اليوم يعمل على تردد 433 MHz.
بعد ذلك, يجب علينا تصنيع دائرة تقوم باستقبال البيانات اللاسلكية في هذا النطاق الترددي. من حسن الحظ, تتوفر دوائر جاهزة تقوم باستقبال وإرسال البيانات لاسلكيا على نطاق واسع من الترددات تُسمى Software Defined Radio, حيث أننا نستطيع أن نستخدم أحد تلك الدوائر وتوصيله بالحاسب ليقوم باستلام البيانات على نطاق ترددي نقوم بتحديده من خلال الحاسب.
يجب علينا أن نعلم أن دوائر الـ SDR لا تقوم بإزالة أي تعديل Demodulation لأي إشارة, هي فقط تقوم باستقبال البيانات وإرسالها للحاسب ليقوم المستخدم من خلال أحد البرامج المتخصصة بمعالجة البيانات اللاسلكية المُستقبلة.
الآن, ثالث خطوة سنقوم بها هي أن نقوم من خلال أحد البرامج المتخصصة بعمل دائرة معالجة للإشارات الرقمية Digital Signal Processing حتى نقوم برؤية الإشارة المُستقبلة ومن ثم محاولة معرفة طريقة الـ Modulation لنقوم بعدها بعمل جزء Demodulation ليقوم باستخراج البيانات من الإشارة المُستلمة.
البرنامج الذي سنعمل عليه هو برنامج GNU-Radio, وهو برنامج يقوم بعمل برامج معالجة للإشارات الرقمية Digital Signal Processing Applications يشبه إلى حد ما برنامج Matlab.
سنقوم الآن بعمل برنامج معالجة Digital Signal Processing Application وهو استلام البيانات من الـ SDR, ورسمها Plot بالنسبة للزمن. نستطيع القيام بذلك من خلال عمل تلك المكونات البسيطة كما في الصورة.
فقط للمهتم بمعرفة مكونات البرنامج, البيانات التي يتم استلامها من دائرة الـ SDR تكون بصورة أرقام مُرَكَّبَة Complex Numbers, أي أنه لدينا رقم حقيقي Real Number ,ورقم خيالي Imaginary Number, لنستطيع رسم الإشارة المُستلمة, نحن نعرف أنها بيانات رقمية مُرسلة على موجة جيبية Sinusoidal wave, عُدِلَت Modulated بطريقة ما (نريد أن نصل إليها), من أشهر أنواع التعديل Modulation Types والمُستخدم كثيرا لسهولته هو نوع يسمى Amplitude Modulation, فهو نوع يقوم فقط بتعديل القيمة القصوى والدنيا للإشارة الجيبية Sinusoidal wave, ولكي نستطيع أن نحصل على تلك القيم, نستطيع أن نحول الأرقام المُركبة لمقدار Magnitude, من خلال مُكون التحويل Complex to Mag في برنامج GNU-Radio. بعد ذلك نقوم بحساب القيمة الرياضية المطلقة للرقم الناتج Absolute value, ثم نقوم برسم Plot للإشارة.
الآن نحن جاهزون لاستقبال إشارات الريموت, نقوم فقط بتوصيل هوائي Antenna في دائرة الاستقبال SDR, ثم نقوم بتشغيل البرنامج GNU-Radio, ونقوم بالضغط على أي زر من أزرار ريموت السيارة, لنرى موجة كتلك التي في الصورة التالية.
نستطيع أن نرى نبضات Pulses كلما ضغطنا على زر من أزرار الريموت, هي بنا نبدأ بتحليل واحدة من تلك النبضات المتتالية.
نستطيع ملاحظة بعض النقاط المهمة في تلك الإشارة:
- أولا, تلك الأشارة تستعمل نوع من أنواع التعديل Pulse Width Modulation Techniques, إن لم تكن كذلك, لما وجدنا تغيرا في وقت كل نبضة عن الأخرى, وهذا عكس ما توقعنا (توقعنا في البداية أنه تم استعمال نوع من أنواع Amplitude Modulation).
- ثانيا, نستطيع حساب الواحد أو الصفر المنطقي من خلال حساب الوقت الذي تستغرقه كل نبضة في حالة الـ Logical High, وهو ما يُسمى الـ Duty Cycle.
هكذا, استطعنا أن نقوم بعمل هندسة عكسية على ترددات ريموت السيارة, نستطيع أن نرى أن الأمر الواحد مكون من 25 bits, وهذا الأمر الذي قمنا بتسجيله هو:
1001001100110101011000010
هنا اعتبرنا أن الـ Pulse التي تستغرق الوقت الأكبر ثُمثل واحد منطقي, أما الصفر فهي الـ Pulse التي تستغرق الوقت الأقل, هذا فقط تخمين ويُمكن أن تكون القيمة الحقيقة هي العكس (الصفر المنطقي هو الـ Pulse ذو القيمة الكبرى).
الآن لا يتبقى لنا سوى تصنيع دائرة تعمل على نفس النطاق الترددي وارسال هذا الأمر الذي قمنا بتحليله بعد القيام بتعديل من نوع Pulse Width Modulation, وهذا الأمر أيضا نستطيع القيام به من خلال SDR وبرامج المعالجة للإشارات الرقمية Digital Signal Processing Applications التي تدعم الإرسال وليس الاستقبال فقط.
اليوم, استطعنا تطبيق الهندسة العكسية على الموجات الكهرومغناطيسية, نستطيع تطبيق هذا الأمر على أي نوع من أنواع الإشارات الكهرومغناطيسية مثل موجات الهواتف النقالة, موجات شبكات الـ WiFi, موجات الـ FM, وهكذا وتحليل محتواها لاستخراج البيانات.
كانت تلك مقدمة شيقة (اسأل الله أن تكون كذلك) للهندسة العكسية للعتاد الصلب Hardware Reverse Engineering, وكما رأينا كم هذا الأمر -المُهمل تماما- في قمة الأهمية, أي أنه -كنوع من أنواع الهجمات على المثال الذي تطرقنا له اليوم- يستطيع المُخترق أن يقوم بفتح أي سيارة من خلال اعتراض الموجة في وقت ارسالها للسيارة, من خلال تسجيل بيانات الفتح, واعادة تشغيلها في أي وقت آخر لسرقة السيارة أو فتحها بدون إذن, كما أيضا يستطيع المُخترق أن يقوم بعمل Brute Force لدائرة مخصصة ليقوم بفتح سيارة ما بدون اعتراض أو تسجيل أي إشارة مسبقا.
في المقال القادم بأذن الله ,سنتطرق لمقال جديد عن الهندسة العكسية للعتاد الصلب أكثر أهمية وخطورة لأنه سيقوم بالهجوم على أي جهاز حاسب من خلال فقط USB ودائرة صغيرة.
thank you up
ماشاء الله يا عبدالله , المقال ممتع جدا جدا جدا ماشاء الله وفي انتظار مقال اخر اكثر تفصيلا وكلن عندي سؤالين:
كيف يمكنني معرفة التردد المتولد من الريموت, ما ادراني انه على نطاق الـ 433 MHz أو 315 MHz كيف اعرف النطاق الحقيقي.
اين يجب ان يكون موقعي وقت اعتراض الاشارة هل يجب ان اكون بمنتصف الطريق بمعني هل الاشاره في هذه الحاله تتحرك في خط مستقيم ام يمكن ان اتواجد في دائرة بنصف قطر معين باعتبار ان الريموت هو المركز ؟
جزاك الله خيرا أخي بلال على كلامك.
بالنسبة لأول سؤال, سؤال منطقي جدا أخي, هنالك ثلاثة طرق لمعرفة تردد جهاز معين:
– أول طريقة هي باستخدام أرقام FCC, أي جهاز لاسلكي يُمكن تصديره للولايات المتحدة الأمريكية, يتم تصديره مع رقم FCC يكون مطبوع على الجهاز نفسه, هذا الرقم تستطيع أن تبحث عنه في قاعدة بيانات الولايات المتحدة الأمريكية للإتصالات الفدرالية, ستجد التردد لتلك الدائرة بجميع التفاصيل التقنية لها.
– ثاني طريقة هي من خلال كتابة برنامج Digital Signal Processing يقوم بالبحث على نطاق ترددي واسع ولنفترض من 50 ميجا هرتز لـ 1 جيجا هيرتز, تقوم من خلالها تحديد أقوى الإشارات (مثلا فلتر الإشارات الأقوى من 5 dB) وهكذا البرنامج سيُخرج مجموعة ترددات ولنفترض عشرة ترددات (لا تنسى أن هنالك ترددات قد تكون قوية حولك لا تشعر بها مثل ترددات الـ FM أو ترددات شبكات الهواتف, أو ترددات ناتجة عن نغمات منشقة من ترددات أخرى Signal’s Harmonics Noise).
– ثالث طريقة هي نفس الطريقة الأولى ولكن بشكل يدوي, من الصعب أن يكون أمامك دائرة تعمل لاسلكيا ولا تستطيع على الأقل أن تُخمن بعض النطاقات التي تعمل عليها الدائرة, على سبيل المثال لو وجدت لعبة أطفال للتحكم بالسيارات لاسلكيا, كيف تعرف نطاقها الترددي؟ أنت تعلم أن أقصى مدى للعبة قد يصل لـ20 متر أو 30 متر, وأنت تعلم أيضا أن أي تردد لا يحتاج لتصريح لابد له أن يعمل في نطاق ترددات ISM, ونطاقات الـ ISM معروفة:
https://en.wikipedia.org/wiki/ISM_band
فبالتالي ستكون أمام عشرات الترددات التي من السهل أن تجرب كل منها على حدا.
بالنسبة للسؤال الثاني, إن هوائي ريموتات السيارات معظمها Omnidirectional, هذا معناه أن الإشارة تنتشر في جميع الإتجاها فور خروجها من الهوائي Antenna, فبالتالي مكانك لن يغير في الأمر شئ, ستتمكن بأذن الله من استقبال الإشارة بشرط أن تكون في مدار انتشار الموجة, وطبعا كلما أقترب هوائي الاستقبال الخاص بدائرتك من الريموت, كلما كانت الإشارة المُستقبلة أقوى.
جزاك الله كل خير علي الرد أوجزت وأحسنت
جوزيت وإيالك أخي بلال.
والله مشكور جداً على هاد المعلومات الشيقة
شكرا استاذ على المدخل الواضح والبسيط لهذا الموضوع…
منذ مدة بحث في هذا الموضوع ووجدت العديد من المقالات والافكار التي تتكلم عن الـ Software Defined Radio وتطبيقاته في مجال تجربة الاختراق، لكن للاسف لم اوفق في الحصول على SDR ،، سؤالي : هل هناك امكانية لعمل SDR في المنزل او مثلا تحويل هاتف اندرويد الى الـ SDR او شيء من هذا القبيل (اعذرني ان بدا سؤالي غريبا فانا لست في الاختصاص 🙂 )
أهلا أخي خالد,
نعم أخي, يمكنك صناعة دائرة SDR في بيتك, ولكن اعلم أخي أن الـ SDR الذي يُباع في الأسواق له إمكانية استلام مجموعة واسعة من الترددات, فمثلا أرخص SDR وهو RTL-SDR يمكنه استقبال من 24 MHz حتى 2.2 GHz.
فسيكون أسهل بالنسبة لك بأذن الله أن تصنع دائرة تستقبل الإشارات في المجال الترددي الذي تحتاجه فقط, مثلا تقوم بصنع دائرة تستقبل فقط 433 MHz مع Bandwidth 200KHz على سبيل المثال, هذا أسهل وأكثر ترشيدا ماديا.
للأسف لا يُمكن استخدام الهواتف في استقبال أي تردد حتى في نطاق الترددات التي يقوم الهاتف باستقبالها, هذا يعني أن الهاتف يستطيع استقبال ترددات الـ Wifi و الـ Bluetooth و اللذان يعملان في نطاق ترددي 2.4 GHz, لو عندك ريموت سيارة يعمل على هذا التردد لن تستطيع رغم ذلك استخدام الهاتف لاستقباله, لأن الهاتف يعمل عملية filtering أي فلترة للبيانات التي يقوم باعتراضها من الهواء, فبالتالي حتى وان كنت تعمل على دائرة تقوم بارسال بيانات في نفس النطاق الترددي فلن يتمكن الهاتف من استقبالها.
أخيرا, أمثلة على تصنيع الـ SDR في البيت تستطيع ايجادها على الانترنت, ولكن أفضلهم وأسهلهم بالنسبة ليه هو:
https://digibird1.wordpress.com/build-your-own-software-defined-radio-sdr/
شكرا استاذ محمد على ردك،،
قلت ان RTL-SDR متوفر في الاسواق، أي اسواق تقصد؟ لا اعرف ان كان متواجدا في الجزائر،، وما هو الاسم التجاري او الماركة المعروفة له؟
هي متوفرة في الأسواق العالمية أخي, لست متأكدا إذا كانت منتشرة في الجزائر أم لا.
اسمها هو RTL-SDR, وها هو رابط لها:
http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/
بارك الله فيك على هذا الموضوع الرائع ، جزيت خيرا و جعله الله في ميزان حسناتك ، ننتظر منك المزيد أخي الكريم و تعمق أكثر فأنت و نحن لها 🙂
السلام عليك أستاذ
موضوع مهم ورائع، ونتمنى مزيدا من التفصيل في مقالات قادمة
هلا أخبرتني في أي تخصص درست هذه “الأشياء”؟
هل في تخصص télécommunication في الهندسة؟
وعليكم السلام ورحمة الله وبركاته,
نعم أخي, هذا هو مجال الـ Communication Engineering.
مشكور اخي الكريم على الموضوع الرائع
والله ابداع . والشيء اللي اعجبني كثير هو المجز بين هندسة الاتصالات وهندسة العكسية وكذى السيارات
للاسف احنا العرب ناقصتنا cooperation اذا كان فيه cooperation بين المجالات فسوف نحتل مراتب عليا في البحوث العلمية
نحن ننتظر فكرة اختراق الريموت التي تعمل على تغيير الشيفرة في كل مرة
شكرا لك. اتمنى ان يكون هناك فيديوهات للفهم اكثر.
سلام عليكم شكرا اخي على الموضوع القيم
عندي سؤال
1- هل RTL-SDR يرسل و يستقبل ام يستقبل فقط ؟
2- ما هي المسافة التي يستقبل و يرسل اليها ؟
وعليكم السلام ورحمة الله وبركاته,
ردا على أول سؤال أخي, جهاز RTL-SDR فقط يقوم باستقبال البيانات, هناك أجهزة أخرى للإرسال غير RTL-SDR.
والسؤال الثاني, المسافة تعتمد على قوة إرسال الإشارة Signal Power ومدى جودة تصميم الهوائي Antenna, لها حسابات معقدة. أيضا الإشارة قوتها والمسافة تختلف من إتجاه لآخر أيضا حسب الهوائي.
شكرا على رد اخي اردت ان اطرح عليك موضوع
يكون في استقبال الاشارة (كود فتح السيارة ) عبر RTL-SDR
واعادة ارساله من الحاسوب عبر جهاز ارسال اخر
و تستطيع حفظ الكود في الحاسوب و فتح سيارة متى تريد
و هذه طريقة لا تقتصر على سيارة فقط لها امكانيات اخرى لحدود لها
-ارجو ان تفيدنا في موضوع جديد يخص كيفية ارسال الكود من الحاسوب الى السيارة عبر جهاز ارسال و اين نجد جهاز ارسال او كيفية صناعته شكرا اخي و لنا شرف فعلا مواضيع قيمة في عالمنا العربي
بأذن الله أخي فقط أنا مشغول تلك الأيام قليلا فاعذرني, بأذن الله في منتصف شهر رمضان سأقوم بكتابة مقال لكيفية تصنيع دائرة إرسال لاسلكي تقوم بارسال البيانات لها من خلال الحاسوب.
أما حفظ البيانات المُستلمة من ريموت سيارة أو أي ريموت لاسلكي فهذا مُمكن من خلال أي دائرة SDR.