11-08-2009, 05:31 PM
11-08-2009, 08:00 PM
STRELiTZIA كتب :ماذا لو اردنا اغلاق Process معين ؟ :g:
شرح مبسط
كود :
TerminateProcess(hProcess,0)و hProcess نحصل عليها بواسطة
كود :
OpenProcess(PROCESS_TERMINATE,binheritHandle,dwProcessID)و dwProcessID نحصل عليها من
TProcessEntry32.th32ProcessID
20-08-2009, 11:40 AM
AvimimuS كتب :السلام عليكم
الشرح عام ومبسط
دور الدالة هو الحصول على قائمة البرامج النشطة في الذاكرة.
بالنسبة البراماتر الاول يحدد ما المراد ارجاعه
th32ProcessID البرامترالثاني ياخذ رقم التعريف الخاص ب ال Process
PHP كود :Var
Handle: THandle;
Struc: TProcessEntry32;
begin
AdjustProcessPrivilege(GetCurrentProcess,'SeDebugPrivilege');
begin
Handle:=CreateToolHelp32SnapShot($00000002, 0);
Struc.dwSize:=Sizeof(TProcessEntry32);
if Process32First(Handle, Struc) then
ProcList.Items.Add(Struc.szExeFile);
while Process32Next(Handle, Struc) do
ProcList.Items.Add(Struc.szExeFile);
end;
end;
بالنسبة لدالة AdjustProcessPrivilege فهي تعطينا صلاحيات في النظام لاضهار processes
المثال التوضيحي مرفق
السلام عليكم و رحمة الله
كل من حمل و جرب المرفق الخاص بالمشاركة :
http://www.delphi4arab.net/forum/showpos...stcount=20
يقوم بفحص جهازه... المرفق ملوث بفيروس : W32/Induc-A
http://www.delphi4arab.net/forum/showthr...5#post9745
بالتوفيق ان شاء الله
23-08-2009, 11:07 AM
إقتباس :المرفق ملوث بفيروس : W32/Induc-Aوعليكم السلام ورحمة الله وبركاته
بالنسبة لمرفق اسف لم اكن علي علم بانه ملوث بهذا الفيروس :monster2:
27-08-2009, 03:50 PM
عملت مثال ZwCreateFile بطريقتين :
1- طريقة xxagri من موقعKmD
2- طريقة STRELiTZIA
لكن المشكل عند فتح الدريفر بـ Cff أجد أن المثال الدي أرفقه STRELiTZIA يحمل 17 دالة أما :
(1) يحمل دالتين .
(2) يحمل 3 دوال .
- عند تجريب كل منهما يطفأ الجهاز و الحمد لله نجوت من BSOD :oops: .
أنتظر ملاحظاتكم ؟؟؟ .
1- طريقة xxagri من موقعKmD
2- طريقة STRELiTZIA
لكن المشكل عند فتح الدريفر بـ Cff أجد أن المثال الدي أرفقه STRELiTZIA يحمل 17 دالة أما :
(1) يحمل دالتين .
(2) يحمل 3 دوال .
- عند تجريب كل منهما يطفأ الجهاز و الحمد لله نجوت من BSOD :oops: .
أنتظر ملاحظاتكم ؟؟؟ .
27-08-2009, 04:05 PM
السلام عليكم و رحمة الله
لقد اختنق الجهاز :monster2:
نعم طريقة تحليلك صحيحة 100% المشكل في الــ Imports.
هل استعملت السروس الذي وضعته في هذه المشاركة ؟
كيف قمت باضافة دالة ZwCreateFile الى المكتبة الأصلية ؟
هل في Make اظهر لك رسالة تتحدث على انشاء الدريفر بــ Force و اخبرك انه ممكن ان لا يعمل ؟
بالتوفيق ان شاء الله
إقتباس :- عند تجريب كل منهما يطفأ الجهاز و الحمد لله نجوت من BSODمبروك عليك اول BSOD
لقد اختنق الجهاز :monster2:نعم طريقة تحليلك صحيحة 100% المشكل في الــ Imports.
هل استعملت السروس الذي وضعته في هذه المشاركة ؟
كيف قمت باضافة دالة ZwCreateFile الى المكتبة الأصلية ؟
هل في Make اظهر لك رسالة تتحدث على انشاء الدريفر بــ Force و اخبرك انه ممكن ان لا يعمل ؟
بالتوفيق ان شاء الله
27-08-2009, 04:37 PM
مبروك عليك اول BSOD
لقد اختنق الجهاز :monster2: العقوبة للجميع :tong:
هل استعملت السروس الذي وضعته في هذه المشاركة ؟ : نعم !!!! .
كيف قمت باضافة دالة ZwCreateFile الى المكتبة الأصلية ؟ :
implementation
هل في Make اظهر لك رسالة تتحدث على انشاء الدريفر بــ Force و اخبرك انه ممكن ان لا يعمل ؟ : نعم !!!! .
بارك الله فيك ,,
لقد اختنق الجهاز :monster2: العقوبة للجميع :tong:هل استعملت السروس الذي وضعته في هذه المشاركة ؟ : نعم !!!! .
كيف قمت باضافة دالة ZwCreateFile الى المكتبة الأصلية ؟ :
كود :
Function ZwCreateFile(FileHandle:PHANDLE; DesiredAccess:ACCESS_MASK;ObjectAttributes:POBJECT_ATTRIBUTES;
IoStatusBlock:PIO_STATUS_BLOCK ;AllocationSize:PLARGE_INTEGER ;
FileAttributes,ShareAccess,CreateDisposition,CreateOptions:ULONG ;
EaBuffer:PVOID;EaLength:ULONG):NTSTATUS;StdCall;implementation
كود :
Function ZwCreateFile; external NtKernel name '_ZwCreateFile';هل في Make اظهر لك رسالة تتحدث على انشاء الدريفر بــ Force و اخبرك انه ممكن ان لا يعمل ؟ : نعم !!!! .
بارك الله فيك ,,
27-08-2009, 04:44 PM
إقتباس :هل في Make اظهر لك رسالة تتحدث على انشاء الدريفر بــ Force و اخبرك انه ممكن ان لا يعمل ؟ : نعم !!!!جيد...
هناك رسائل تخص انواع البرامترات... عن ماذا كانت تتحدث ؟
بعد اضافة الدالة الى المكتبة الأصلية قل قمت بعمل آخـــــــــر و نقل الناتج الى المجلد include ؟
27-08-2009, 05:00 PM
1 - بعد التعديل أصبح يحمل 4 دوال فقط أظفت '_' ZwCreateFile .
2- لم أظف أي شيء أو أعمل تعديلات .. لكن عندما بدلت Dcu لم يتغير شيء نفس النتيجة .
3- ممكن لأني أظفت :
:cryss:
2- لم أظف أي شيء أو أعمل تعديلات .. لكن عندما بدلت Dcu لم يتغير شيء نفس النتيجة .
3- ممكن لأني أظفت :
كود :
Procedure InitializeObjectAttributes; external NtKernel name '_InitializeObjectAttributes';كود :
Procedure InitializeObjectAttributes(InitializedAttributes:OBJECT_ATTRIBUTES ;
ObjectName:PUNICODE_STRING;Attributes:ULONG ;RootDirectory:HANDLE ;
SecurityDescriptor: PSECURITY_DESCRIPTOR); stdcall;:cryss:
27-08-2009, 05:06 PM
غير ملف ntoskrnl.dcu الذي عندك بالذي في المرفق و جرب من جديد... لتعرف مكان الخطأ في المكتبة او في الأوامر التي تعاملت معها...
الملفات المصدرية ساضعها لاحقا حينما انتهي من بعض التعديل عليها...
جرب الآن.... حالا...... و اخبرني
الملفات المصدرية ساضعها لاحقا حينما انتهي من بعض التعديل عليها...
جرب الآن.... حالا...... و اخبرني
