الصفحة الرئيسية » howto » ما هو حقن الكود على ويندوز؟

    ما هو حقن الكود على ويندوز؟

    يعد إدخال الشفرة أمرًا شائعًا على نظام التشغيل Windows. تقوم التطبيقات "بحقن" أجزاء من التعليمات البرمجية الخاصة بها في عملية أخرى قيد التشغيل لتعديل سلوكها. يمكن استخدام هذه التقنية للخير أو الشر ، ولكن في كلتا الحالتين يمكن أن يسبب مشاكل.

    ويطلق على حقن الكود شائعًا أيضًا حقن DLL نظرًا لأن الشفرة المحقونة غالبًا ما تكون في شكل ملف DLL (مكتبة الارتباط الديناميكي). ومع ذلك ، يمكن للتطبيقات أيضًا إدخال أنواع أخرى من التعليمة البرمجية التي ليست DLL في عملية.

    ما هو قانون حقن يستخدم ل

    يتم استخدام حقن التعليمات البرمجية لإنجاز كل أنواع الحيل والوظائف على Windows. على الرغم من أن البرامج الشرعية تستخدمه ، إلا أنه يُستخدم أيضًا من قِبل البرامج الضارة. فمثلا:

    • غالبًا ما تضخ برامج مكافحة الفيروسات الشفرة في متصفحات الويب. يمكنهم استخدامها لمراقبة حركة مرور الشبكة ومنع محتوى الويب الخطير ، على سبيل المثال.
    • قد تؤدي البرامج الضارة إلى إضافة شفرة إلى متصفح الويب لديك لتتبع تصفحك بشكل أفضل ، وسرقة المعلومات المحمية مثل كلمات المرور وأرقام بطاقات الائتمان ، وتغيير إعدادات المتصفح.
    • تقوم WindowBlinds الخاصة بـ Stardock ، والتي تمثل سمات سطح المكتب ، بإدخال رمز لتعديل كيفية رسم الإطارات.
    • أسوار Stardock تضخ رمز لتغيير طريقة عمل سطح مكتب Windows.
    • AutoHotkey ، والذي يتيح لك إنشاء برامج نصية وتعيين مفاتيح الاختصار على مستوى النظام ، يضخ رمزًا لتحقيق هذا.
    • برنامج تشغيل الرسومات مثل NVIDIA يقوم بحقن DLLs لإنجاز مجموعة متنوعة من المهام المتعلقة بالرسومات.
    • بعض البرامج تضخ DLLs لإضافة خيارات قائمة إضافية إلى أحد التطبيقات.
    • غالبًا ما تضخ أدوات الغش في لعبة الكمبيوتر الشفرات في الألعاب لتعديل سلوكها والحصول على ميزة غير عادلة على اللاعبين الآخرين.

    هو قانون حقن سيئة?

    يتم استخدام هذه التقنية باستمرار من خلال مجموعة واسعة من التطبيقات على Windows. إنها الطريقة الحقيقية الوحيدة لإنجاز مجموعة متنوعة من المهام. بالمقارنة مع النظام الأساسي المحمول الحديث مثل نظام التشغيل iOS من Apple أو نظام Android من Google ، فإن سطح مكتب Windows قوي جدًا لأنه إذا كان هذا النوع من المرونة يوفر للمطورين.

    بالطبع ، مع كل هذه القوة يأتي بعض الخطر. يمكن أن يسبب الحقن في الشفرة مشاكل وأخطاء في التطبيقات. تقول Google أن مستخدمي Windows الذين تم إدخال الشفرة في متصفح Chrome لديهم أكثر من 15٪ من احتمال مواجهة أعطال Chrome ، وهذا هو السبب وراء عمل Google على حظر هذا. تلاحظ شركة Microsoft أنه يمكن استخدام التطبيقات البرمجية الخاطئة باستخدام التعليمة البرمجية للتلاعب في إعدادات المتصفح ، وهو أحد الأسباب التي أدت إلى حظرها بالفعل في Edge.

    توفر Microsoft حتى إرشادات للتحقق من تحميل DLLs لجهة خارجية في Microsoft Outlook ، حيث تتسبب في العديد من أعطال Outlook.

    كما وضعها موظف في شركة Microsoft في مدونة مطوري البرامج من عام 2004:

    حقن DLL ليست آمنة أبدا. أنت تتحدث عن إدخال شفرة في عملية لم يتم تصميمها أو بناءها أو اختبارها أبدًا من قِبل مؤلف العملية ، أو الاشتراك في إنشاء أو إنشاء سلسلة محادثات لتشغيل هذا الرمز. أنت تخاطر بإنشاء مشاكل في التوقيت أو المزامنة أو الموارد لم تكن موجودة من قبل أو تفاقم المشكلات التي كانت موجودة هناك.

    وبعبارة أخرى ، حقن الكود هو نوع من الاختراق القذر. في عالم مثالي ، سيكون هناك طريقة أكثر أمانًا لتحقيق ذلك والتي لا تسبب عدم استقرار محتمل. ومع ذلك ، يعد إدخال الشفرة مجرد جزء طبيعي من النظام الأساسي للتطبيق Windows اليوم. يحدث باستمرار في الخلفية على جهاز الكمبيوتر الخاص بك ويندوز. قد تسميها شرًا ضروريًا.

    كيفية التحقق من وجود DLLs المحقون

    يمكنك التحقق من إدخال الشفرة على نظامك من خلال تطبيق Microsoft Process Explorer الفعال. إنه في الأساس إصدار متقدم من مدير المهام معبأة بميزات إضافية.

    قم بتنزيل ثم تشغيل Process Explorer إذا كنت ترغب في القيام بذلك. انقر فوق View> Lower Pane View> DLLs أو اضغط Ctrl + D.

    حدد عملية في الجزء العلوي وابحث في الجزء السفلي لمشاهدة DLLs التي تم تحميلها. يوفر عمود "اسم الشركة" طريقة مفيدة لتصفية هذه القائمة.

    على سبيل المثال ، من الطبيعي رؤية مجموعة متنوعة من ملفات DLL التي تم إجراؤها بواسطة "Microsoft Corporation" هنا ، حيث إنها جزء من Windows. من الطبيعي أيضًا الاطلاع على ملفات DLL التي تم إنشاؤها بواسطة نفس الشركة مثل العملية المعنية بـ "Google Inc." في حالة Chrome في لقطة الشاشة أدناه.

    يمكننا أيضًا العثور على بعض ملفات DLL التي تم إعدادها بواسطة "AVAST Software" هنا. يشير هذا إلى أن برنامج مكافحة البرامج الضارة من Avast على نظامنا يحقن رمزًا مثل "مكتبة فلتر Avast Script Blocking" في Chrome.

    ليس هناك الكثير الذي يمكنك القيام به إذا وجدت حقنة الكود على النظام الخاص بك جانبا من إلغاء تثبيت البرنامج عن طريق الحقن لمنعه من التسبب في المشاكل. على سبيل المثال ، إذا تعطل Chrome بشكل منتظم ، فقد تحتاج إلى معرفة ما إذا كانت هناك أي برامج تقوم بإدخال الشفرة في Chrome وإزالتها لمنعها من التلاعب بعمليات Chrome.

    كيف يعمل حقن الرمز?

    لا يؤدي إدخال الرمز إلى تعديل التطبيق الأساسي على القرص. بدلاً من ذلك ، تنتظر حتى يتم تشغيل هذا التطبيق وحقن شفرة إضافية في عملية التشغيل هذه لتغيير طريقة عملها.

    يتضمن Windows مجموعة متنوعة من واجهات برمجة التطبيقات (APIs) التي يمكن استخدامها لحقن الشفرة. يمكن أن تقوم العملية بإرفاق نفسها بعملية هدف ، أو تخصيص ذاكرة ، أو كتابة DLL أو رمز آخر إلى تلك الذاكرة ، ثم توجيه العملية المستهدفة لتنفيذ الشفرة. لا يمنع Windows العمليات على جهاز الكمبيوتر الخاص بك من التدخل مع بعضها البعض مثل هذا.

    للحصول على مزيد من المعلومات الفنية ، راجع هذا المنشور الخاص بالمدونة والذي يوضح كيف يمكن للمطورين إدخال DLLs وإلقاء نظرة على أنواع أخرى من حقن الكود على Windows.

    في بعض الحالات ، قد يقوم شخص ما بتغيير التعليمات البرمجية الأساسية على القرص ، على سبيل المثال ، عن طريق استبدال ملف DLL الذي يأتي مع لعبة كمبيوتر مع نسخة معدلة لتمكين الغش أو القرصنة. هذا من الناحية الفنية ليس "حقنة الكود". لا يتم إدخال الشفرة في عملية قيد التشغيل ، ولكن يتم خداع البرنامج بدلاً من ذلك لتحميل ملف DLL مختلف بنفس الاسم.

    Image Credit: Lukatme / Shutterstock.com.