السلام عليكم ورحمة الله وبركاتة
كيف ابرمجة ملفات dll تعمل على إخفاء البرنامج الذي يستعمل الـ dll التي ابرمجها
مثال لمن يعرف برنامج التنقيح OllyDbg ... لديه Plugins كثير منها من يقوم بإخفاء البرنامج بشكل كامل
مثل هذه الـ dll لكن لبرامج اخرى غير OllyDbg مثل Cheat Engine
.....
علماً اني لا اعرف كيف ابرمج ملف dll
فقط اعرف انه يتم فيه تخزين الدوال ويتم استدعائها من البرنامج الذي اربتط مع الـ dll متى ما اراد
واشكر لكم حسن قرائتكم
اشكر لك ردك السريع اخي الغالي [ B.M.AbdelAziZ ] توقعت ان تجيب علي
جاري متابعه ما ذكرت 
إقتباس : هل للبرنامج امكانية اللإضافة أو pdk اختصارا لPlugin Development kit ؟
انا اعتقد انه يوجد مثل ما يسمى بـ PDK في Cheat Engine
لكن هل لك ان توضح اكثر عنها لان جميع الروابط التي وضعت لم يتكلم فيها احد عن PDK
وبالنسبة للسورس كود للمكتبات اضن اني لن افهم شيء إذا ما عرفت كيف يتخفى البرنامج اصلاً ( اطلعت عليها )
والمقالة التي كتبها المبرمج Ms تعطي امثلة بالـ ASM + C وانا غير جيد البتة في C ولا افهم بالـ ASM
عندما تتعلق بالنظام والتعامل معه @@"
انتهيت من قرائت جميع الروابط وملحقاتها
وبعضها فهمت منها والآخر اشك اني فهمت شيء منها
لكن الكل يتكلم ولديه خبرة وساعه في هذا المجال ولم اجد اي موضوع عربي يتكلم عن برمجة Plugin لاي برنامج حتى الاسااسيات او المفاهيم والطرق التي يجب ان نمشيء عليها ...إلخ
رغم ذلك اجد المبرمجين العرب لديهم Plugin في Olly ومشهورة لدرجة وصولها إلى المنتديات الاجنبية .( ما شاء الله ). ... لكن للاسف كالمعتاد الباحث العربي آخر ما نفكر فيه ... طبعا ربما تضن او يضن اغلبكم انه كما وجدت المعلومة انت يستطيع اي احد آخر إيجادها
واعتقد ان هذا من اهم الاسباب التي تجعل المجتمع العربي متأخر عن المجتمعات الآخرى
الآن انتهيت من معرفة بعض الاساليب في كشف المنقح olly نأخذ على سبيل المثال ابسط طريقة
وهي عن طريق استعمل الدالة FindWindow
كود :
procedure TForm3.Button1Click(Sender: TObject);
Var
FW_Olly: HWND;
begin
FW_Olly := FindWindow('OllyDbg','OllyDbg - [CPU]');
if FW_Olly <> 0 then
ShowMessage('OllyDbg is Run')
else
ShowMessage('OllyDbg is not Run');
end;
ولكي اعمل مضاد لها استعمل الدالة SetWindowText
مثال :
كود :
SetWindowText(FW_Olly,'Example');
إذا بعد ان عرفت طريقة ومضاد لها .. كيف ابرمج لها ملف Dll يتوافق مع الـ Olly او Cheat Engine
انا اعرف ان ملف الـ Dll مكون من دوال استدعيها من البرنامج الذي يستعمل هذه الـ Dll لكن ليست عندي
اي فكرة عن كيفية ربطها في Olly وخصوصاً انه تظهر في قائمة الـ Plugins في Olly لاني اعرف انها دوال فقط
انتظركم اخواني ولا زلت ابحث
فإذا اخذت سروس كود انا لا اعرف مما يتكون واين اضع كودي ولا اعرف هذا الكود خاص بذاك الشيء ...إلخ
على سبيل المثال ... انت وضعت الكود الذي يبحث عن نافذة Olly
كود :
Procedure Process;
Const
WM_MDIGETACTIVE = $0229;
Var
B: Bool;
H: HWnd;
FW_Olly: HWND;
begin
FW_Olly := FindWindow('OllyDbg','OllyDbg - [CPU]');
if FW_Olly <> 0 then SetWindowText(FW_Olly,'Example');
If PluginActive Then Begin
// Maximize current MDI window if not already maximized ..
H := SendMessage(HWnd(HWCLIENT^), WM_MDIGETACTIVE, 0, Integer(@B));
If (Not B) And (H > 0) Then ShowWindow(H, SW_SHOWMAXIMIZED);
End;
End;
هنا لو قلت ضع هذا الكود ما كنت لاعرف اين اضعه وما كنت اعرف ان ذاك الجزء خاص بمعلومات المكتبة
والآخر خاص بستدعائات الدوال ...إلخ
اضن اتضحت الفكرة ...
هل هناك اي مقالة او موضوع او معلومة بهذا الخصوص بأي لغة كانت ... اشكر لك تجاوبك وصبر علي اخي [ B.M.AbdelAziZ ]
بالمناسبة لم تعمل الـ WinMax2 التي ارفقت على النسخة OllyDbg2.01g لا اعرف ما السبب ( اضفتها في مجلد الـPlugins وحددت مساره من برنامج olly )
لم تنتبه للملاحظة 1: تجد كل شيئ بالملف Plugins.hlp
ان لم يعمل المرفق السابق عندك فهناك سبب، فكر!
في عالم البرمجة تحتاج دائما لخلفية ما للقيام بعمل ما، مثل الذي يسال عن التجميع Assembly في x86 ولم يطلع على كتب Intel
السلام علكيم و رحمة الله
إقتباس :بالمناسبة لم تعمل الـ WinMax2 التي ارفقت على النسخة OllyDbg2.01g لا اعرف ما السبب ( اضفتها في مجلد الـPlugins وحددت مساره من برنامج olly )
المرفق يعمل و الـــ Plugin يتم تحميله في اوللي بدون مشاكل... Windows Xp SP3 - Delphi 7
ايضا، يوجد ملف Header كامل تم تحويله من cpp الي الــ pascal من طرف الأخ phpbb3 يدعم النسخة OllyDbg 2.00
كود :
المرفق يعمل و الـــ Plugin يتم تحميله في اوللي بدون مشاكل... Windows Xp SP3 - Delphi 7
انا استعمل Delphi RAD Studio XE3 وأتتني بعض الأخطاء عند عمل كومبلير واعدلتها مثل ما طلبت رسالة الخطاء
والنتيجة كانت لم تعمل المكتبة
لكن بعد ما فتحت المكتبة بالدلفي 7 لم تظهر لي ايت اخطاء وبعد عمل كومبلير عملت المكتبة بدون مشاكل
----
إقتباس : لم تنتبه للملاحظة 1: تجد كل شيئ بالملف Plugins.hlp
للاسف الشديد اني لا اجيد إلا القليل من الانجليزية ( اعتقد اني يجب ان اتقنها اولاً )
إقتباس : في عالم البرمجة تحتاج دائما لخلفية ما للقيام بعمل ما، مثل الذي يسال عن التجميع Assembly في x86 ولم يطلع على كتب Intel
نعم انا معك في هذا ... لذلك قلت
إقتباس :لكن الكل يتكلم ولديه خبرة وساعه في هذا المجال ولم اجد اي موضوع عربي يتكلم عن برمجة Plugin لاي برنامج حتى الاسااسيات او المفاهيم والطرق التي يجب ان نمشيء عليها ...إلخ
...
هل هناك اي مقالة او موضوع او معلومة بهذا الخصوص بأي لغة كانت
واعطني من خبرتك اخي في الكتب التي تتكلم عن إنشاء ملفات dll او كتاب يتكلم عن الـ" Plugin Development kit "
حتى وان كانت باللغة الانجليزية
واعرف اني جاهل في الكثير من الامور لذلك المعذر ان ازعجتك

واشكرك مره آخرى