14-02-2025, 02:01 PM
السلام عليكم و رحمة الله
شكرا لك اخي على فتح باب شرح المحاولات.
في البداية قمت بكتابة قائمة احتياجات و وضع خطة عمل:
قمت بتحليل المثالين في المنقح لفهم الآلية بلغة "الزرع" الأسمبلي.
العملية:
الآن، لماذا هذه المشاركة لا تحتوي على أمور تقنية "Only Code" ؟
حسب وجهة نظري، لأننا نحتاج بشكل كبير الى دراسة "بمعنى دراسة" كل جوانب الاحتياجات و خطط الطريق... قبل الإبحار داخل المنقح و لاكتفاء بمحاولات شبه عشوائية قد تصيب او تخيب.
المرفقات تحتوي على الأمثلة التي اعتمدت عليها و النسخ المعدلة من التحدي... و لصغر حجمها يكفي تحميلها في المنقح لفهم ما يجري...
شكرا لك اخي على فتح باب شرح المحاولات.
في البداية قمت بكتابة قائمة احتياجات و وضع خطة عمل:
- الدوال التي احتاج زرعها و استدعائها RegOpenKeyA و RegDeleteKeyA
- اختيار أماكن زرعها في الملف التنفيذي المستهدف (أماكن تحمل خاصية تنفيذ الأوامر)
- إعادة توجيه سير تنفيذ الأحداث EntryPoint, OnClick and OnClose الى الدوال التي زرعتها.
- و أخيرا، اعادة سير التنفيذ الى المسار الطبيعي للملف التنفيذي.
قمت بتحليل المثالين في المنقح لفهم الآلية بلغة "الزرع" الأسمبلي.
العملية:
- بمساعدة أحد أدوات التعديل على الملفات التنفيذية قمت بإضافة دوال النظام RegOpenKeyA و RegDeleteKeyA الى جدول استراد الدوال Imports التابع للملف التنفيذي المستهدف.
- اخترت مكان الزرع في جزء فارغ من الأوامر (يحمل خاصية التنفيذ) لزرع آلية فحص وجود المفتاح و آلية الحذف، الزرع تم داخل المنقح.
- باعتماد على قفزة قمت بإعادة توجيه نقطة الدخول الى آلية فحص وجود المفتاح ثم بقفزة أخرى اعدت سير التنفيذ الى المكان الذي يتبع نقطة الدخول.
- بعد حصولي على عنوان حدث OnClick الذي بدوره يؤشر الى حدث OnClose "ضرب عصفورين بحجر واحد" اعدت توجيه "الحدث" الى آلية الحذف بقفزة ثم بعد انتهاء سير التنفيذ داخل ما تم زرعه اعدت سير التنفيذ من جديد الى الأحداث الحقيقية للتحدي.
الآن، لماذا هذه المشاركة لا تحتوي على أمور تقنية "Only Code" ؟
حسب وجهة نظري، لأننا نحتاج بشكل كبير الى دراسة "بمعنى دراسة" كل جوانب الاحتياجات و خطط الطريق... قبل الإبحار داخل المنقح و لاكتفاء بمحاولات شبه عشوائية قد تصيب او تخيب.
المرفقات تحتوي على الأمثلة التي اعتمدت عليها و النسخ المعدلة من التحدي... و لصغر حجمها يكفي تحميلها في المنقح لفهم ما يجري...