KmdKit4D - Kernel Mode Driver Kit for Delphi
#1

KmdKit4D اختصارا لKernel Mode Driver Kit for Delphi
تجميعة خاصة لبرمجة الدريفرات بدلفي


الملفات المرفقة
.rar   KmdKit4D.part01.rar (الحجم : 500 ك ب / التحميلات : 508)
.rar   KmdKit4D.part02.rar (الحجم : 500 ك ب / التحميلات : 477)
.rar   KmdKit4D.part03.rar (الحجم : 35.58 ك ب / التحميلات : 252)
.rar   bin.rar (الحجم : 876.4 ك ب / التحميلات : 497)
الرد
#2
يامحمد , كانت عندي تحب الصراحة لعدم فهمي للغة الصينية لم استطيع إستعماله فهذه درايفر وليس برنامج يعني الواحد يجب ان يعرف ماذا يفعل . حاولن الإتصال بصاحب الKit لكي يقوم MultiLangue للبرنامج لكن لاحياة لمن تنادي .

إن تكرم احد الإخوة وترجم لنا من الصينية الى الانجليزية على الاقل .

محمد
الرد
#3
في البداية السلام عليكم


مشكور جدا أخي العزيزDeltaAziz Cool
مشاركة جد قيمة

بالنسبة للملفات فهي مدعمة بتعاليق خفيفة بالانجليزية
يمكن ان تفي بالغرض مبدئيا أخي العزيز mohfa

و السلام.
الرد
#4
شكرا اخي MjIrIm اولا انا لاارى اي تلميحات , وحتى إن كانت هناك تلميحات ففي هكذا برمجة لانعتمد على التلميحات .
الرد
#5

اخي محمد لو انتظرت ان يترجم لك لن تتعلم شيئ
تابع معي
بعد التحميل فك الضغط في القرص 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; 
دالة Unload تكون بالشكل التالي :
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 
قم بفتح سطر الاوامر وادخل مجلد المثال، في حالتي C:\driver
ونفذ Make
[صورة: 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
هذا كل شيئ والسلام عليكم


الملفات المرفقة
.rar   delphi_driver.rar (الحجم : 767 بايت / التحميلات : 127)
.rar   DbgView.rar (الحجم : 220.33 ك ب / التحميلات : 238)
.rar   OsrLoader.rar (الحجم : 122.58 ك ب / التحميلات : 221)
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • mohamed49
الرد


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


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