Jump to content

VxDs and related stuff help


BogdanV

Recommended Posts

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!

Link to comment
Share on other sites


Dead links for the 98DDK : http://freenet-homepage.de/Power-Info/Windows98_DDK.htm

Have you tried the Wayback Machine ? We'll see what we can do if you can't find anything. :whistle:

Links for tuts and sample code I had collected :

Creating A Basic VxD : http://www.addict3d.org/news/120/feeds.php

Virtual Device Driver Basics : http://win32assembly.online.fr/vxd-tut1.html

Virtual Machine Manager : http://win32assembly.online.fr/vxd-tut2.html

Virtual Device Driver Skeleton : http://win32assembly.online.fr/vxd-tut3.html

VxD Programming: Primer : http://win32assembly.online.fr/vxd-tut4.html

VxD Example: MessageBox : http://win32assembly.online.fr/vxd-tut5.html

Dynamic VxD and DeviceIoControl Interface : http://win32assembly.online.fr/vxd-tut6.html

Application Time and Shell Functions : http://win32assembly.online.fr/vxd-tut7.html

Client Register Structure : http://win32assembly.online.fr/vxd-tut8.html

Virtual 8086 Memory Manager : http://win32assembly.online.fr/vxd-tut9.html

(.vxd) LINEAR-EXECUTABLE File Header Layout : http://faydoc.tripod.com/formats/exe-LE.htm

An assembly shell for creating dynamically loadable VxDs : http://www.matcode.com/win95vxd.txt

Examining VxD Service Hooking : http://www.ddj.com/184409878

Programming VXD’s using Assembler : http://www.vijaymukhi.com/vmis/vmchap8.htm

Windows Device Driver Development : http://www.newss.co.kr/solution/soft/driver.html#VirtualM

Virus oriented VxD writing tutorial : http://vx.netlux.org/lib/vgy05.html

Windows 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,0

DSDskInf.VxD - Retrieve Information from an ATA disk : http://skyscraper.fortunecity.com/virtuosi...f/dsdskinf.html

DSIdeInf.VxD - Retrieve IDE controller's Information : http://skyscraper.fortunecity.com/virtuosi...f/dsideinf.html

VxD W9x en ASM (French) : http://perso.numericable.fr/~fayjpier/vxdasm/vxdasm.php

WinIo - Direct Hardware Access Under Windows 9x/NT/2000/XP : http://www.internals.com/utilities/winio.zip

Sysinternal source code : http://doc.sch130.nsc.ru/www.sysinternals..../98source.shtml

If 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=435152

VxDWriter - 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_s

All the best and good luck :hello:

Link to comment
Share on other sites

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=2343

http://www.boot-land.net/forums/index.php?showtopic=623

http://www.boot-land.net/forums/index.php?showtopic=4353

http://www.boot-land.net/forums/index.php?...ic=2293&hl=

and more generally:

http://www.boot-land.net/forums/index.php?showforum=53

even 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=86312

it appears to have been cached by the Wayback Machine:

http://web.archive.org/web/20000823113036/...EN-US/98DDK.EXE

jaclaz

Link to comment
Share on other sites

Oh how sweet of MS - after 1MB of download, they cut the link off. :realmad: 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 by Drugwash
Link to comment
Share on other sites

Examining VxD Service Hooking - Monitoring, altering, or otherwise changing parts of Windows : http://www.ddj.com/architect/184409878?pgno=7

Fast Interrupt Processing in Windows 95 -Improving Windows' real-time performance : http://www.ddj.com/architect/184410045?pgno=11

Windows 95 Journaling and Playback - Using keyboard and mouse macros anywhere and anytime : http://www.ddj.com/architect/184409843

Building VxDs in Windows 95 - An assembly shell for creating dynamically loadable VxDs : http://www.ddj.com/architect/184410047

Examining the Windows 95 Layered File System - Adding functionality to block devices : http://www.ddj.com/architect/184409681?pgno=8

Link to comment
Share on other sites

Attacking Windows 9x with Loadable Kernel Modules : http://archives.neohapsis.com/archives/bug...0164/01-vxd.txt

cInfo.VxD :Retrieve Serial Number and Model of physical disk hosting drive c: : http://skyscraper.fortunecity.com/virtuosi...info/cinfo.html

Windows Virtual Device Drivers (VxDs) related stuff : http://www.geocities.com/SiliconValley/Pea...35/samples.html

Link to comment
Share on other sites

Perhaps this is also of interest although it is geared at not writing a driver.

TVicPort Overview

TVicPort 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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...