delphi4arab منتديات دلفي للعرب
[تمرين] الكل يسأل و الكل يجيب - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : تمارين دلفي وحلول (https://delphi4arab.net/forum/forumdisplay.php?fid=16)
+--- الموضوع : [تمرين] الكل يسأل و الكل يجيب (/showthread.php?tid=1107)

الصفحات: 1 2 3 4 5


[تمرين] الكل يسأل و الكل يجيب - TF6M - 27-08-2009

للأسف بدلتها و بقي نفس المشكل :kick: .

ممكن لأني عند عمل Make أظع كل من الوحدات Native + NtosKrl + Nt_Status لأنه لو لم أظفها
لم أنجح في عمل الدريفر و الخطأ :

[صورة: 457575.jpg]

الدالة InitializeObjectAttributes غير معرفة ؟؟؟؟ .


[تمرين] الكل يسأل و الكل يجيب - STRELiTZIA - 27-08-2009

إقتباس :للأسف بدلتها و بقي نفس المشكل
هل وضعتها في مجلد include ؟

المكتبة التي ارفقت هي التي اعمل بها حاليا....
ارفق مشروعك كاملا...


[تمرين] الكل يسأل و الكل يجيب - TF6M - 27-08-2009

هل وضعتها في مجلد include ؟ : نعم !!! .
:cryss:


[تمرين] الكل يسأل و الكل يجيب - STRELiTZIA - 27-08-2009

نبدأ بتصحيح الأخطاء:
كود :
NAME=driver DCC=dcc32 rmcoff=C:\KmdKit4D\bin\rmcoff link=C:\KmdKit4D\bin\[color=Red]rmcoff[/color] INCLUDE=c:\KmdKit4D\include LIB_PATH=c:\KmdKit4D\lib

الصحيح :

كود :
link=C:\KmdKit4D\bin\[color=red]link[/color]

جرب قبل ان اكمل فحص مشروعك...


[تمرين] الكل يسأل و الكل يجيب - STRELiTZIA - 27-08-2009

كود :
DCC=[color=Red]C:\KmdKit4D\bin\dcc32[/color]

افضل من

كود :
DCC=dcc32


استعمل هذا الــــ Makefile

كود :
NAME=Driver rmcoff=C:\KmdKit4D\bin\rmcoff link=C:\KmdKit4D\bin\link DCC=C:\KmdKit4D\bin\dcc32 INCLUDE=C:\KmdKit4D\include LIB_PATH=C:\KmdKit4D\lib DCCFLAGS=-U$(INCLUDE) -B -CG -JP -$A-,C-,D-,G-,H-,I-,L-,P-,V-,W+,Y- -O+ LIBS=ntutils.lib ntoskrnl.lib hal.lib win32k.lib ntdll.lib LINKFLAGS=/NOLOGO /ALIGN:32 /BASE:0x10000 /SUBSYSTEM:NATIVE /DRIVER /LIBPATH:$(LIB_PATH) /FORCE:UNRESOLVED /FORCE:MULTIPLE /ENTRY:DriverEntry all : $(NAME).sys $(NAME).sys : $(NAME).obj $(link) $(LINKFLAGS) $(NAME).obj $(LIBS) /out:ZwCreateFile.sys $(NAME).obj : $(NAME).pas $(DCC) $(DCCFLAGS) $(NAME).pas $(rmcoff) $(NAME).obj clean : del *.obj del *.dcu del *.sys

لا تنسهى حذف الملفات المنتجة الأخرى حين تقم بتغيير في السورس مثل ملف object و غيره...


[تمرين] الكل يسأل و الكل يجيب - TF6M - 27-08-2009

ليس هدا هو المشكل ؟؟ هههه أخطاء الـ Copy / Coller .
لعي وجدت الخطأ :

[صورة: 59494.jpg]


[تمرين] الكل يسأل و الكل يجيب - STRELiTZIA - 27-08-2009

بالنسبة للصورة يجب اضافة الدالة في المكتبة الأصلية.
----

مشروعك يعمل عندي تمام بعد تصحيح الأخطاء التي ذكرتها و استعمال ملف makefile الذي كتبت...

غدا ان شاء الله نكمل حديثنا الآن وقت : :monster6:

تقبل الله صيامكم و قيامكم...

بالتوفيق ان شاء الله


[تمرين] الكل يسأل و الكل يجيب - TF6M - 27-08-2009

بارك الله فيك يا أستاذ في إنتظار ك:rtfm: .

و صح فطورك ... بالتوفيق ,,


[تمرين] الكل يسأل و الكل يجيب - TF6M - 28-08-2009

الحمد لله توصلت لحل المشكلة ظهرت بسيطة جدا :kick:

1- لما قارنت الدريفر الدي أرفقته كمثال للدالة ZwCreateFile لم يكن يخص الكود سورس الدي وضعته
لأنه يحمل دوال من ntoskrnl لم تكتب أصلا في السورس كود :Ida + Cff

2- الخطأ أني أظفت دالة InitializeObjectAttributes لـ ntoskrnl و هذا خطأ لأنها في الوحدة macros

3- تعديل ملف الـ Make في ما يخص Link + rmcoff ض :thanks:

4- تم نجاح عملية المايك فايل :clap2: و تم تحميل 4 دوال DbgPrint,RtlInitUnicodeString,ZwCreateFile
و ZwClose .


[تمرين] الكل يسأل و الكل يجيب - STRELiTZIA - 28-08-2009

السلام عليكم و رحمة الله
رائع... هذه الأخبار الجميلة Smile

هل جربت تشغيل الدرايفر ؟ هل قام بالعمل الذي برمج له ؟

انا جربت الدرايفر و ساخبرك بالنتيجة بعد ان تجيب Smile

بالتوفيق ان شاء الله