كيف اقوم بحقن dll في عملية قبل تنفيذ اي امر فيها ؟
#1
السلام عليكم ورحمة الله وبركاتة

ربما العنوان غير مناسب ... لاني لم اعرف ماذا اكتب بالضبط @@"

الحالة :
لدي برنامج البرنامج لديه حماية وهي عبارة عن EnumWindows و FindWindow و Process32Next
ولدي ملف dll يقوم بعمل هوك لهذه الدوال

السؤال هنا كيف اقوم بحقن ملف dll وجعله ينفذ الهوك وبعد ذلك يتم تشغيل البرنامج
اي :
PHP كود :
var
  
StartUpInfo : TStartupInfo;
  
PInfo : TProcessInformation;
begin
  CreateProcess
(NameApp,nil,nil,nil,False,4,nil,NameApp.Path,StartUpInfo,PInfo)
  
// after stoped Porcess I want do Hooks;
  
ResumeThread(PInfo.hThread);
end; 

في السابق كنت اطبق عملية الحقن بعد ان اوقف العملية وبعد ذلك احقن ملف الـ Dll وبعد ذلك
اشغل الـ thread من جديد ولكن تحصل اخطاء ويخرج البرنامج ... وذلك لان البرنامج لم يحمل بعد ...

سؤالي كيف اقوم بعميلة الهوك قبل تنفيذ اي امر بالبرنامج الهدف وبعد تنفيذ الهوك وتعديل الدوال اقوم
بتشغيل البرنامج ...؟

اضن الفكرة واضح نواعاً ما ...

ايضاً قرات وانا ابحث على النت اني استطيع حجز جزء في ذاكرة البرنامج الهدف وعد ذلك اضغ فيها
الدالة التي تعمل هوك او اين كان وتكون هي جزء من البرنامج الهدف ... وعلى ما اذكر انها كانت تنفذ
اثناء توقف الـ Thread الخاص بالعملية ...

وشكراً لحسن القراءة Big Grin
الرد


الردود في هذا الموضوع
كيف اقوم بحقن dll في عملية قبل تنفيذ اي امر فيها ؟ - بواسطة ALmuhhnad - 31-03-2013, 10:46 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم