13-02-2009, 06:46 PM
13-02-2009, 07:17 PM
يامحمد , كانت عندي تحب الصراحة لعدم فهمي للغة الصينية لم استطيع إستعماله فهذه درايفر وليس برنامج يعني الواحد يجب ان يعرف ماذا يفعل . حاولن الإتصال بصاحب الKit لكي يقوم MultiLangue للبرنامج لكن لاحياة لمن تنادي .
إن تكرم احد الإخوة وترجم لنا من الصينية الى الانجليزية على الاقل .
محمد
إن تكرم احد الإخوة وترجم لنا من الصينية الى الانجليزية على الاقل .
محمد
13-02-2009, 08:25 PM
في البداية السلام عليكم
مشكور جدا أخي العزيزDeltaAziz
مشاركة جد قيمة
بالنسبة للملفات فهي مدعمة بتعاليق خفيفة بالانجليزية
يمكن ان تفي بالغرض مبدئيا أخي العزيز mohfa
و السلام.
مشكور جدا أخي العزيزDeltaAziz

مشاركة جد قيمة
بالنسبة للملفات فهي مدعمة بتعاليق خفيفة بالانجليزية
يمكن ان تفي بالغرض مبدئيا أخي العزيز mohfa
و السلام.
14-02-2009, 06:01 PM
شكرا اخي MjIrIm اولا انا لاارى اي تلميحات , وحتى إن كانت هناك تلميحات ففي هكذا برمجة لانعتمد على التلميحات .
15-02-2009, 09:43 AM
اخي محمد لو انتظرت ان يترجم لك لن تتعلم شيئ
تابع معي
بعد التحميل فك الضغط في القرص C: (مثلا) ليكون C:\KmdKit4D
ثم حمل ايضا الملف BIN وفك ضغطه في المجلد BIN الموجود داخل المجلد KmdKit4D
اخي GamingMaster بارك الله فيك ووفقه في دراسه يقوم بكتابة سلسلة دروس برمجة KMD
الدرس الاول تمهيدي : Kernel-mode programming #1
http://www.at4re.com/f/showthread.php?tid=5376
الدرس الثاني اول مثال تطبيقي : Kernel-mode programming #2
http://www.at4re.com/f/showthread.php?tid=5429
نفس المثال يمكن عمله بدلفي هكذا
الكود الخاص بالـDriverEntry سيكون بالشكل التالي :
PHP كود :
function _DriverEntry(DriverObject:PDriverObject;RegistryPath:PUnicodeString):NTSTATUS; stdcall;
begin
DbgPrint('Test Driver :: DriverEntry');
DriverObject^.DriverUnload :=@ DriverUnload;
Result := STATUS_SUCCESS;
end;
PHP كود :
procedure DriverUnload(pDriverObject: PDriverObject); stdcall;
begin
DbgPrint('Test Driver :: Unload');
end;
بما اننا لن نستخدم DDK ونبرمج بدلفي ونستخدم KmdKit4D ملف makefile سيكون من الشكل
PHP كود :
NAME=driver
DCC=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=ntoskrnl.lib hal.lib win32k.lib ntdll.lib ntutils.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
rmcoff $(NAME).obj
link $(LINKFLAGS) $(LIBS) /out:$(NAME).sys $(NAME).obj
$(NAME).obj : $(NAME).pas
$(DCC) $(DCCFLAGS) $(NAME).pas
clean :
del *.obj
del *.dcu
del *.sys
ونفذ Make
![[صورة: KmdKit4D.jpg]](http://www.delphi4arab.net/images/KmdKit4D.jpg)
ام لم ترتكب اي خطا فمبروك driver.sys
ملاحظة: يجب اضافة مجلد KmdKit4D لPath
يمكن ذلك بكتابة التالي قبل تنفيذ Make
كود :
set path=C:\KmdKit4D\Bin;%path%حمل المرفقات
فك الضغك
نفذ Dbgview.exe
نفذ OSRLOADER.exe
بحيث تظهر نافذتي البرنامجين واحدة بجنب الثانية
في OSRLOADER اضغط الزر Browse ثم اختر ملنا المبرمج driver.sys ثم
Register Service
Start Service
لاحظ الرسائل وخاصة DbgView كل شيئ تمام ، نوقف البرنامج
Stop Service
Unregister Service
هذا كل شيئ والسلام عليكم