Kernel Mode Driver Tut for MASM32 programmers

The subject is self-explanatory. Only a couple of words.
1. If you understand russian you better read all five articles in original language here
2. Don't laugh when you will read it ;) ,since my english is far from perfection.
And i would be very happy if someone once will correct it. Thanks and mail me first, please.
3. The tuts are in RTF format. Consider it as pre-release. When i'll finish with translation i'll publish all in HTM and CHM.
Posted on 2003-02-15 05:55:39 by Four-F
Keep gettin this error...

HTTP1.1 STATUS 403 Remote Access to this object forbidden This file cannot be directly accessed from a remote site, but must be linked through the Brinkster Member's site.
Posted on 2003-02-15 06:04:21 by BubbaFate
:confused: No problem with access for me. Anyway, now don't have time to fix it. Take it from attach.
And KmdKit itself can be found here: Kernel Mode Driver Development Kit for MASM32 programmers
Posted on 2003-02-15 06:16:54 by Four-F
Oops... Forgot to attach.
Posted on 2003-02-15 06:19:53 by Four-F
I found out your webpage works if you right-click... save target as
Posted on 2003-02-15 06:23:55 by BubbaFate
I think the tuts and the package is super!!
great work four-f!!!!
Posted on 2003-02-16 05:08:21 by david
the home work, but the tut link not :(
btw, i'll take time to read it, but now i'm busy for some reason :grin:
Posted on 2003-02-16 05:59:29 by dion
For all who tries to do only left click: Please, be more attentive.
All info on page is zipped! -> right click -> "Save Object As..."
Posted on 2003-02-16 07:03:26 by Four-F
thanks Four-F for the tuts :grin:
about link, i think that's wierd, even lots of link are zip and i dont have to use right click/save target as :confused: , why dont place it on freewebs instead, i think brinkster had problem maybe :tongue:
Posted on 2003-02-16 20:29:32 by dion
I've just uploaded last fifth article of "Kernel Mode Driver Tut for MASM32 programmers".
You can download all the stuff from this link:

But, please remember, this free hosting has annoying limitation:
To download you have to do right click -> "Save Target As..." Sorry.

If you understand russian you'd better to read it in original language (a bit more detailed).
Can be found on "???????? ?????? ???? Windows..."
Posted on 2003-06-14 05:58:00 by Four-F
I just downloaded all five and will study them. I was looking into another methode of direct I/O using call gates. Are you familiar with this technique?
Posted on 2003-06-14 15:04:25 by mrgone
I have this book, but haven't read it ;-) And i took a look at callgate souce code.
Can't see anything ununderstandable. But answering your question, I never did exactly the same. But in DateTime example is demonstrated another officially undocumented but well known way to let the user direct I/O port access.

I/O access under NT is frequently discussed theme. You can find many different methods to do such thing.
I have touched this theme in tut only because it's rather simple for beginners in the world of kernel.
Posted on 2003-06-15 04:32:19 by Four-F
I looked through documentation and files of that call gate method and they still have a kernel mode driver .SYS file and a DLL. So I need to study your tutorial which by the way is excellent and very well done. Thanks again!:grin:
Posted on 2003-06-15 14:04:58 by mrgone
Thought you might like to analyze it for yourself. Interesting package but I could not get the .ASM file to assemble and the EXE file worked sometimes with Control Regs displayed at a quick blink.
Posted on 2003-06-15 14:48:51 by mrgone
OK. I'll take a look on it in a few days.
But original (from the book) exe/dll/sys works fine for me by the way.

If someone will have trouble doing right clicks on my lame page :-), all stuff can be also found here: under "Tutorials"
Many thanks to hutch--.
Posted on 2003-06-16 09:48:06 by Four-F
Four-F thanks for everything you did and shared with others :alright:
I love you man :grin:
Posted on 2003-06-16 19:59:33 by Mikky
Where do we get this file from? I checked the board and the Inet. I found the macro file but can't find this one. Thanks
Posted on 2003-06-16 20:46:22 by mrgone
you really a "share man"
very good work!
thanks a lot!
Posted on 2003-06-16 23:04:53 by nhnpresario
Thanks all for kind words. ? Where do we get this file from?
It's a part of KmdKit \include\w2k\
Posted on 2003-06-17 00:58:40 by Four-F
...but I could not get the .ASM file to assemble...
You probably have compiled your RING0.ASM with tasm.
It produces OMF object file format that msvc doesn't understand.
You need COFF object file (i've attached it). Simply recompile your with masm as usual:
\masm32\bin\ml /nologo /c /coff ring0.asm
and all goes fine if it's the only problem you have.

...and the EXE file worked sometimes with Control Regs displayed at a quick blink...
The original files (from the book) worked fine under w2k+sp2, but i've just tried to run it under xp and it doesn't work at all.
Don't have time now to debug it.
Posted on 2003-06-17 03:05:53 by Four-F