بسم الله الرحمن الرحيم

اليوم ساشرح لكم طريقة من اكتشافي لتلغيم اي برنامج
لن اقول برايفت
التلغيم سيكون بدون دمج و بدون زيادة اي بايت على البرنامج الاصلي
ـ لن يتغير حجم الملف الملغوم ـ
الطريقة هذه تمكن من تلغيم اي برنامج كيفما كان نوعه ( اختراق ـ تشفير ... )
و تعتمد على ارفاق ملف dll او dll و plugin وهمي مع البرنامج الهدف
و لا يمكن تشغيل البرنامج اذا لم تتواجد تلك المكتبة كانها جزء منه و لكنها في الاصل هي الجزء الملغوم اذا لم يكن هناك بلوجن
التلغيمة يمكن استغلالها بشكل فضيع جدا ...
لكن ساكتفي بشرح عمل داونلودر
و من اهم فوائد هذه التلغيمة انه عند كشف اتصال الداونلودر فان البروسيس المسؤول عن التحميل هو البرنامج نفسه
و ان تم ايقافه فلن تتشغل باقي اجزاء البرنامج
اضافة الى ان الاتصال يتم على البورت 80 ( http)
مما سيقلل من الشك
و تمكن من تخطي بعض الدفاعات الاستباقية
كل ما تحتاج اليه هو
1ـ او Delphi 7 او XE
2ـ سرفر له نفس ايقونة و اسم البرنامج المراد تلغيمه ( لتضليل من يراقب البروسيسات )
3ـ LordPE
4ـ Olly او اي ديبجر آخر
نبدا الشرح
نفتح مشروع مكتبة dll جديدة في delphi
نذخل هذا الكود



طبعا هذا كود داونلودر
يمكن تغيير مكان النزول
لكن الافضل تركه %temp% او %windir%
و تجنب المسارات التي تعتمد على اسماء الاقراص الصلبة
لان هناك من ينصب نظامه في القرص D و E غيره
نحتفظ بالكلمة المسطرة بالاحمر
نعمل compile




الآن انتهينا من الشطر الاول
صنعنا داونلودر بصيغة dll
للاشارة فقط ان كنت تملك سورس اي سرفر اخر
فما عليك الا تحويله الى dll
يمكن استعمال اي لغة برمجة غير الدلفي
لكن يجب ان تتوفر المكتبة على imports
يمكن تغيير الاسم المسطر بالاحمر الى اي شيء
حتى لا يشك احد اكتب فيه شيء مثل skin او theme ...
الآن سنذهب الى اعداد برنامجنا
انا اخترت الـ notepad للتجريب عليه
نفتح الـ lordpe


و نتبع الخطوات
نذهب الى directories



نضغط على النقط
كليك يمين ثم add import


ستظهر هذه النافذة


نكتب في 1 اسم dll ( مثلا skin.dll )
و في 2 الاسم الذي كان مسطرا بالاحمر
نضغط على +
تمت الاضافة بدون اخطاء



الآن نضغط على save
ثم ok
ملاحظة
لكي تنجح العملية يجب ان تكون و الملف المراد تلغيمه في نفس المكان
و لا يجب تغيير اسم المكتبة بعد الاضافة
انجزنا الآن نصف العمل
بقي لنا فقط الحاق ملف dll بـ exe
نفتح olly
نذهب الى مكان فارغ من الـ code cave
و نضغط كليك يمين
ثم assemble


و نضيف هذا الكود



في السطر الاخير يجب وضع
call eip
حيث eip هي المسطرة بالازرق و تختلف من برنامج الى اخر
وظيفة الكود هي تشغيل ملف dll و العودة الى برنامجنا
و بعض الاسطر لا جدوى منها
وضعتها للتضليل لا غير
و عند تشغيله لن يظهر عند مراقبة البروسيسات
نحتفظ برقم الـ rva
وهي عنوان السطر بالاخضر
التي ستصبح نقطة الذخول الجديدة
ملاحظة صغيرة اريد ان اشير اليها
هي لو كانت لديك خبرة بتحليل البرنامج
فلن تظطر لتيغيير ep ما عليك سوى زرع نداء نحو في المكان الذي تراه مناسبا
انا لم اضعه هنا لان البرامج تختلف
الآن نحفظ ما انجزناه
و نعود من جديد لـ lordpe ep لنغير الـ entry point


طريقة حساب هي ( بالنسبة لبعض البرامج الآخرى المعقدة في الحساب )
ep = rva - image base
يمكن استعمال hex calculator او الآلة الحاسبة في النظام مع تغييرها من dec الى hex
انتهينا الآن
عند وضع المكتبة في نفس مجلد البرنامج فكل شيء سيعمل جيدا
اما اذا حذفت المكتبة فستظهر رسالة خطا
نذخل التغييرات
ثم save
و ok
هذا ما ستشاهده عن مراقبة البروسيسات


الآن الطريقة الثانية
نصنع سرفر خاص بنا
نضعه نفس مجلد برنامجنا الهدف
نغير اسمه الى شيء مثل plugin.abc
ضروري تغيير الامتداد
فهذا لن يؤثر على اداء سرفرنا
و نصنع المكتبة بنفس الطريقة
لكن هذه المرة بهذا الكود




نعيد نفس العملية على البرنامج الهدف
نفتحه و لاحظ ماذا سيحدث
الطريقة تمكن من تلغيم اي شيء و مجربة على اكثر من برنامج
اتمنى ان يكون هذا الشرح مفيدا
هذه الطريقة مفتوحة للتطوير ( يمكن استغلالها بشكل مختلف و النتيجة قاتلة )