![]() |
|
مشكلة : عند عملية حقن DLL في Process ! - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : مشكلة : عند عملية حقن DLL في Process ! (/showthread.php?tid=5171) |
مشكلة : عند عملية حقن DLL في Process ! - ALmuhhnad - 27-04-2013 السلام عليكم ورحمة الله وبركاتة لدي مشكلة في عملية الحقن ... عندما احقن DLL في عملية تعمل بالذاكرة الحالة ... : كنت اعمل على XP ... وكنت استعمل دالة الحقن(InjectDLL كتبتها بالاسفل) وكان كل شيء سليم ![]() لكن بعد إنتقالي لـ Win7 ... قمت بتجربة الدالة وعند الحقن يصبح البرنامج الحاقن والعملية المحقونة كلاهم في حالة عدم إستجابة ... بعد ان قمت بتنقيح البرنامج الحاقن وجدته يتوقف على دالة من دوال API وهي الدالة WaitForSingleObject وبعد ان بحثت بمشاكل هذه الدالة وجدت صفحة من صفحات microsoft والتي اشارات إلى نفس الخطاء الذي واجهني ... وذكرت السبب وذكرت كذلك الحل ... حيث كان بإستعمال الدالة الاخرى MsgWaitForMultipleObjects ... الدالة : PHP كود : function InjectDLL(dwPID: DWORD; DLLPath: PWideChar): integer;أريـد احد الاخوة الذي يستطيع ترجمة C++ إلى Delphi ان يقوم بترجمة الحل في صفحة ماكروسوفت وإن كان هناك طريقة افضل من التي استعملتها او بدون استعمال دوال API فاافيدوني بها جزاكم الله خير ![]() وشكراً لحسن القراءة مشكلة : عند عملية حقن DLL في Process ! - SMP3 - 27-04-2013 لا أعلم ما المشكل .. لكن الدالة التي و ضعتها تعمل بشكل طبيعي .. تم تجريبها على Win 7 Pro & DXE3 مشكلة : عند عملية حقن DLL في Process ! - ALmuhhnad - 28-04-2013 إقتباس : لا أعلم ما المشكل .. لكن الدالة التي و ضعتها تعمل بشكل طبيعي .. فعلاً ... هذا ما يحصل معي ... لكن مرات يحصل ما تم ذكرة بالاعلى ... !! وكنت في شك من امري ... لكن بعد ان قرأت الموجود بـ صفحة ماكيروسوفت تأكدت انها من الدالة WaitForSingleObject وكانت هذه المشكلة في البداية تحصل مع مستخدمين البرنامج ... وكنت اقول لهم ان البرنامج لا توجد به اي مشكلة ... لكن مع الوقت صادفت هذه المشكلة ... واستطعت معرفة من اين تأتي... ولاحظت كذلك ان المشكلة مستمرة مع انظمة 64bit ... بينما انظمة 32 قليلاً ما تحصل معهم هذه المشكلة ... على اي حال ... إذا كان هناك طريقة لحقن الـ DLL بدون إستعمال هذه الدالة ... فستكون الحل الأمثل مشكلة : عند عملية حقن DLL في Process ! - SMP3 - 28-04-2013 لقد قمت البتجريب على 64 بت .. وكل شيئ طبيعي .. أعتقد أني وضعت سابقا دالة لعمل الحقن .... على كل حال هذه مجموعة من الدوال لعمل حقن : كود : http://www.progamercity.net/delphi/647-delphi-dll-injection-functions.html |