nikolatesla20
October 30th, 2002, 22:18
Well, thought I would try and learn something new today, so I figured, hey why not try to write a KMD that patches the IDT against INT 1 detection for SI?
So I am just using DriverWorks which came with DS 2.7. I told it to build a Generic NT4.0 driver. Anyway, after about 4 or 5 BSOD's (oops
) I got it working. Had to use inline assembler to get it just right - been a while since I did bitwise ops in C.
The driver works cool, it's a *.sys driver that upon load, patches the IDT, and on unload, undos the patch. You can load it with "net start <name>".
BUT. I hosed something up in my Build Environment now, and I can't actually build the driver from MSVC anymore, it's looking for something and it cant find it. Earlier it kept complaining that the environment variable "BASEDIR" wasnt set, and to choose it. SO I did, and everything worked fine. However, if I closed VC++ (to get ready for another BSOD lol) it would forget and I'd have to enter it again.
SO I decided to add the environment variable properly and went into My Computer -> Advanced, etc,. But I didnt notice I had accidentally clicked on "Edit" instead of "Add" and I overwrote another variable, and I don't remember what it was anymore.
And now the VC project doesn't see that some support libs have already been built, and it won't launch vcspawn.exe anymore...*ugh*
So now my VC++ driver builds are busted. I can still build from the command line with nmake tho. But that sux.
Hey but the driver worked ! Cool !
-nt20
So I am just using DriverWorks which came with DS 2.7. I told it to build a Generic NT4.0 driver. Anyway, after about 4 or 5 BSOD's (oops

The driver works cool, it's a *.sys driver that upon load, patches the IDT, and on unload, undos the patch. You can load it with "net start <name>".
BUT. I hosed something up in my Build Environment now, and I can't actually build the driver from MSVC anymore, it's looking for something and it cant find it. Earlier it kept complaining that the environment variable "BASEDIR" wasnt set, and to choose it. SO I did, and everything worked fine. However, if I closed VC++ (to get ready for another BSOD lol) it would forget and I'd have to enter it again.
SO I decided to add the environment variable properly and went into My Computer -> Advanced, etc,. But I didnt notice I had accidentally clicked on "Edit" instead of "Add" and I overwrote another variable, and I don't remember what it was anymore.

And now the VC project doesn't see that some support libs have already been built, and it won't launch vcspawn.exe anymore...*ugh*
So now my VC++ driver builds are busted. I can still build from the command line with nmake tho. But that sux.
Hey but the driver worked ! Cool !
-nt20