I'm very interested in what the VXD files may have to offer, in terms of extensibility.
I did the following google search: "structure of 16bit VXD" (without quotes), and came up with a few pages that offer an insite as to what the structure is...
http://podgoretsky.c...D/vxd-tut7.html
http://www.podgorets...D/vxd-tut3.html
And this site:
http://www.tbc.net/~clive/vcomwinp.html has a few decompilers/extracters for Win95 VXD files -- Just a heads up, according to this site, the VxD files can be extracted, and more VXDs hide inside the VXD files stored in the SYSTEM folder... Some sort of microsoft compression scheme is used, probably to keep initial memory usage low at boot time. (or possibly only load code that will fit in conventional memory (?)). This may explain why you can't find the location of the code referenced above.
Be sure to grab all the utilities on that site, as you'll need dumplx to dump out each VXD into a text file (ASM disassembly). It all works out pretty darn well, if I do say so myself.
Hope this helps some. Good luck.
edit2: Hehehe... Our very own MDGx has one of the utils on his site, VxDLib -
http://www.mdgx.com/98-3.htm <- Points to the above "and this site:" link.
Also:
http://www.helpwithw...iles/vmm32.html - " Now there may come a time, when one of the *.vxd files built into vmm32.vxd needs to be updated, and Win9x provides a very simple means for this. Each system has a Windowssystemmm32 directory. Any *.vxd file in this directory will be automatically loaded and used during Win9X startup, instead of the one in the vmm32.vxd file if it exists in both places. In other words files in this directory take precedence over same files within vmm32.vxd. So when these web sites have you put the individual files in this directory all they are doing is putting a copy of the same code that is already within vmm32.vxd into this directory as stand alone files which will actually cause Win9X to take longer to load. Microsoft says that Extracting system files that are rolled into VMM32.VxD will not increase system performance, once you are started, there will be no difference. The reason for bundling VxD's into VMM32 was to improve system boot time."
So, it seems that the possibiliy that your memory addresses are actually relating to another file is very, very possible, according to this article.
And here's another page with some Win95 vmm32 hacks:
http://netweb.usc.edu/yaxu/ISPsoftware/Sha...ok/unauthw.html
And here's a site with some useful VxD hacks:
http://www.dcee.net/...ogramm/Windows/
After fooling around with a decompiled VMM32.VXD from a VMWare install of Windows 98SE (No patches), I managed to create some dumplx log files, which are mostly ASM listings of some of the VXD's. Here's a zipped up copy of the log files:
http://rapidshare.de...33/vxd_logs.zip
This post has been edited by jimmsta: 25 September 2006 - 10:55 PM