[تمرين] الكل يسأل و الكل يجيب
#15
السلام عليكم

1- يعن بواسطة الدريفر ZwLoadDriver حملنا الدريفر ZwDeleteFile المسجل مسبقا في الريجيستري .

2- طريقة كتابة الدالة بالدلفي ؟؟ ... يعني صحيحة لكن أين أضيفها هل في System أم في NtDll

3- الدالة ZwCreateFile و توزظيفها هي نفسها CreateFile في الـ User Mode :

ملاحظة : لكن إذا أردنا أن نستدعيها من الـ User Mode نستعمل NtCreateFile في مكان ZwCreateFile .

المثال :
كود :
uses nt_status, ntoskrnl, ntifs, native, winioctl, fcall, macros; Var RtnCode: NTSTATUS; oa: OBJECT_ATTRIBUTES; iosb: IO_STATUS_BLOCK; hDirectory: HwnD; { function _DriverEntry(pDriverObject:PDRIVER_OBJECT; pusRegistryPath:PUNICODE_STRING): NTSTATUS; stdcall;} RtnCode := ZwCreateFile(@hDirectory, SYNCHRONIZE, @oa, @iosb, nil, FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN_IF, FILE_DIRECTORY_FILE + FILE_SYNCHRONOUS_IO_NONALERT, nil, 0); if RtnCode = STATUS_SUCCESS then begin if iosb.Information = FILE_CREATED then begin DbgPrint('FileWorks: Directory created'#13#10); end else if iosb.Information = FILE_OPENED then begin DbgPrint('FileWorks: Directory exists and was opened'#13#10); end; ZwClose(hDirectory); end;

- بالطبع نتيجة الدالة من NTSTATUS لأن كل رقم مرجع يوافق حالة ما مسجلة مسبقا أو غير مسجلة في الوحدة nt_status كما يمكننا أن نستعمل حاصل دالة IoStatusBlock كالـ IoResult لتحقق من الأخطاء .

- صيغة الدالة (****ا أن تكون صحيحة) :
كود :
Function [color=Red]ZwCreateFile[/color](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;

بالتوفيق ,,
الرد


الردود في هذا الموضوع
[تمرين] الكل يسأل و الكل يجيب - بواسطة Goblin - 05-08-2009, 07:48 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 05-08-2009, 08:24 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 09:21 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 11:22 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 11:56 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 08-08-2009, 12:05 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 09-08-2009, 12:19 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 10-08-2009, 12:25 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة o15s19 - 11-08-2009, 08:00 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 03:50 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 04:37 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:00 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:29 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:40 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 06:10 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 06:36 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 28-08-2009, 02:57 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 28-08-2009, 02:59 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة MjIrIm - 06-09-2009, 10:37 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة MjIrIm - 07-09-2009, 02:01 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 23-12-2009, 03:45 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 23-12-2009, 04:01 PM

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


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