BogdanV Posted June 30, 2009 Posted June 30, 2009 Since its summer vacation and I don't have too much to do, I thought on giving it a try and learn how VxDs work and maybe try my hand on making some crude tutorial-like drivers. As far as I've managed to find out, a DDK is vital as its name suggests, but the problem is that I haven't managed to find anyone who happened by chance to upload the 98SE DDK on the "internets" . As for licenses and forum rules, I don't know how the DDK is classified as. Is it legal for it to be uploaded/downloaded, because, like with any other 9x-related stuff, M$ retired most of the stuff, so any Win98 DDK links are dead. Also, except for the DDK, are there any introductory documentations/tutorials on VxDs ? I'm asking this because although I know C++ syntax and how to code something, I have absolutely no practical experience with drivers. I don't know their code-"anatomy", I don't know nothing on this issue. A summary of my knowledge on this area would be wikipedia's article on VxDs and some general knowledge of how INFs work and their syntax, so I'm practically a "tabula rasa" . Any help on the matter is highly appreciated. Thanks!
herbalist Posted June 30, 2009 Posted June 30, 2009 If it's 98 related, check MDGX. http://www.mdgx.com/add.htm#DDK
eidenk Posted June 30, 2009 Posted June 30, 2009 Dead links for the 98DDK : http://freenet-homepage.de/Power-Info/Windows98_DDK.htmHave you tried the Wayback Machine ? We'll see what we can do if you can't find anything. Links for tuts and sample code I had collected :Creating A Basic VxD : http://www.addict3d.org/news/120/feeds.phpVirtual Device Driver Basics : http://win32assembly.online.fr/vxd-tut1.htmlVirtual Machine Manager : http://win32assembly.online.fr/vxd-tut2.htmlVirtual Device Driver Skeleton : http://win32assembly.online.fr/vxd-tut3.htmlVxD Programming: Primer : http://win32assembly.online.fr/vxd-tut4.htmlVxD Example: MessageBox : http://win32assembly.online.fr/vxd-tut5.htmlDynamic VxD and DeviceIoControl Interface : http://win32assembly.online.fr/vxd-tut6.htmlApplication Time and Shell Functions : http://win32assembly.online.fr/vxd-tut7.htmlClient Register Structure : http://win32assembly.online.fr/vxd-tut8.htmlVirtual 8086 Memory Manager : http://win32assembly.online.fr/vxd-tut9.html(.vxd) LINEAR-EXECUTABLE File Header Layout : http://faydoc.tripod.com/formats/exe-LE.htmAn assembly shell for creating dynamically loadable VxDs : http://www.matcode.com/win95vxd.txtExamining VxD Service Hooking : http://www.ddj.com/184409878Programming VXD’s using Assembler : http://www.vijaymukhi.com/vmis/vmchap8.htmWindows Device Driver Development : http://www.newss.co.kr/solution/soft/driver.html#VirtualMVirus oriented VxD writing tutorial : http://vx.netlux.org/lib/vgy05.htmlWindows 3.1/95 Virtual Device Drivers (VxD) : http://www.dcee.net/Files/Programm/Windows/Hooking Disk Access : http://www.geoffchappell.com/viewer.htm?do...=25&ts=66,0DSDskInf.VxD - Retrieve Information from an ATA disk : http://skyscraper.fortunecity.com/virtuosi...f/dsdskinf.htmlDSIdeInf.VxD - Retrieve IDE controller's Information : http://skyscraper.fortunecity.com/virtuosi...f/dsideinf.htmlVxD W9x en ASM (French) : http://perso.numericable.fr/~fayjpier/vxdasm/vxdasm.phpWinIo - Direct Hardware Access Under Windows 9x/NT/2000/XP : http://www.internals.com/utilities/winio.zipSysinternal source code : http://doc.sch130.nsc.ru/www.sysinternals..../98source.shtmlIf you want to write vxds in C/C++ you'll need expensive commercial tools I think (not 100% sure though):VToolsD for VxD Development : http://www.ddj.com/184409684;jsessionid=B5...equestid=435152VxDWriter - Develop VxD in C/C++ : http://www.techsoftpl.com/vxd/ ($429)Also there is a an apparently good book about programming vxds : Writing Windows VxDs and device drivers By Karen Hazzah : http://books.google.com/books?id=F868yPHsA...=gbs_navlinks_sAll the best and good luck
jaclaz Posted June 30, 2009 Posted June 30, 2009 And, if I may, a couple of possible fields/projects in which to express your newly acquired knowledge/experience (the following would actually be useful ):http://www.boot-land.net/forums/?showtopic=2343http://www.boot-land.net/forums/index.php?showtopic=623http://www.boot-land.net/forums/index.php?showtopic=4353http://www.boot-land.net/forums/index.php?...ic=2293&hl=and more generally:http://www.boot-land.net/forums/index.php?showforum=53even if you are not interested in any of the above, the threads do contain some interesting/useful links related to VXD's. About the Win 98 DDK:http://www.msfn.org/board/index.php?showtopic=86312it appears to have been cached by the Wayback Machine:http://web.archive.org/web/20000823113036/...EN-US/98DDK.EXEjaclaz
Drugwash Posted June 30, 2009 Posted June 30, 2009 (edited) Oh how sweet of MS - after 1MB of download, they cut the link off. However, I do have a 98DDK on my HDD - it's a RAR archive (45,460,335 bytes) and the readme inside says it's synced to Windows 98 build 1998.6. If it's OK with the mods, I could offer a temporary HTTP link for direct download. Edited June 30, 2009 by Drugwash
eidenk Posted June 30, 2009 Posted June 30, 2009 Yet another interesting link :Spy Windows 95/98 File I/O : http://www.codeguru.com/cpp/w-p/system/vxd...icle.php/c2849/Perhaps this thread should be stickied
eidenk Posted June 30, 2009 Posted June 30, 2009 Hiding Directories in Windows 95/98/ME : http://www.ddj.com/windows/184416380Unfortunately the linked source is gone and not on the wayback machine.But here is some interesting code of a similar nature :http://www.opensc.ws/asm/1045-9xrx-9x-rootxit.html
eidenk Posted June 30, 2009 Posted June 30, 2009 Examining VxD Service Hooking - Monitoring, altering, or otherwise changing parts of Windows : http://www.ddj.com/architect/184409878?pgno=7Fast Interrupt Processing in Windows 95 -Improving Windows' real-time performance : http://www.ddj.com/architect/184410045?pgno=11Windows 95 Journaling and Playback - Using keyboard and mouse macros anywhere and anytime : http://www.ddj.com/architect/184409843Building VxDs in Windows 95 - An assembly shell for creating dynamically loadable VxDs : http://www.ddj.com/architect/184410047Examining the Windows 95 Layered File System - Adding functionality to block devices : http://www.ddj.com/architect/184409681?pgno=8
eidenk Posted June 30, 2009 Posted June 30, 2009 Attacking Windows 9x with Loadable Kernel Modules : http://archives.neohapsis.com/archives/bug...0164/01-vxd.txtcInfo.VxD :Retrieve Serial Number and Model of physical disk hosting drive c: : http://skyscraper.fortunecity.com/virtuosi...info/cinfo.htmlWindows Virtual Device Drivers (VxDs) related stuff : http://www.geocities.com/SiliconValley/Pea...35/samples.html
eidenk Posted June 30, 2009 Posted June 30, 2009 A last one for today :Writing Device Drivers : http://www.rdrop.com/~cary/html/device_driver.html
BogdanV Posted June 30, 2009 Author Posted June 30, 2009 Wow! That's more than enough to get me started ! Thanks a ton everybody and especially eidenk for the bounty of links !
herbalist Posted June 30, 2009 Posted June 30, 2009 The MDGX link is live. http://www.mdgx.com/spx/98DDK.RAR I just rechecked it and it works fine.
BogdanV Posted July 1, 2009 Author Posted July 1, 2009 The MDGX link is live. http://www.mdgx.com/spx/98DDK.RAR I just rechecked it and it works fine. I actually downloaded the DDK from there. Thanks for the link.
eidenk Posted July 1, 2009 Posted July 1, 2009 Windows DDK: I/O Supervisor Guide for Windows 9x/Me Operating Systems : http://www.microsoft.com/downloads/details...;displaylang=enAnd this is a nice document I have found on my HDD in ugly doc format. I have converted it in pdf and added bookmarks for convenience. I have no clue about its origin.http://stashbox.org/557239/VXD.pdf
eidenk Posted July 1, 2009 Posted July 1, 2009 Perhaps this is also of interest although it is geared at not writing a driver.TVicPort OverviewTVicPort is a toolkit for direct port I/O from Win32 applications. TVicPort includes transparent support for Windows 95/98/Me and Windows NT/2000/XP/XP 64-bit, providing programmers with standard methods for real-time direct access to port and memory mapped I/O - without requiring you to write a custom virtual device driver for Windows 9x/Me or a kernel-mode driver for NT/2000/XP/XP 64-bit. Brand new 64-bit offers intelligent support for 64-bit solutions.http://www.entechtaiwan.com/dev/port/index.shtm
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now