Jump to content

Vxd patcher


Recommended Posts

VXD analysis Finished:

Methods:

i have compiled my own vmm32.vxd file including ios.vxd and ifsmgr.sys, excluding vmm, vmm32, vshare, qemmfix and dosnet.vxd file, then i have completely erased vmm32 directory from system.

then i have compared system performance and stability with same windows installation with standard vxds which is located on other hardrive.

on both systems i tried some vxd related tricks to cause system crash. New VMM32.VXD seems to be more stable. Ultima Online + Media player classic caused error related to afvxd.vxd causing BSOD or system freeze on old system. on new system with new vmm this error was fixed (partially with client update - freezing, and partially by vmm compilation - bsod on logon).

also i was trying to crash system for three hours without any sucess :)

in this phase i need help from someone who has standard vmm32.vxd and can measure any vxd related errors on his system, and is willing to test which vxds his system needs and later compile new vmm32.vxd from these files...

it seems that if we can detect which vmm32 related vxds are needed and later compiled we can improve system stability, while vxds in vmm32 directory may cause more trouble as precompiled vmm32.dll

i will appreciate some kind of patcher which can analyze vmm32.vxd to report which files it contains, than extract them from CD, while keeping newer vxd files available and then create new vmm32.vxd with most recent vxds, and adding there ios and ifsmgr ...

necesarry files has to be compiled to vmm32.vxd, unnecessary must stay away from system, and VMM directory must stay empty to improve stability...

more references are now in Immolator project topic and i shall move them here.

Required VXD detection - IMPORTANT

1. Backup your VMM32 directory and VMM32.VXD file.

2. Erase all files in VMM32 directory.

3. Replace VMM32.VXD in System directory by basic VMM32.VXD file from Windows installation CD (dated 5.5.1999 for win98se).

4. Reboot

5. System shall not boot up, but write down list of all missing files which windows requests.

6. system shall shut down (in normal case).

7. restore your VMM32 directory and VMM32.VXD file and bootup normally.

8. Check the list of *.VXD files and remove duplicate entries - each file is needed only once.

9. Write down list of all *.VXD files which are in your VMM32 directory.

10. sent the file lists here for comparation. i will add my own list when i shall have it available again.

I need to know if each system require same vxds or there are differences, so this information is crutial in creating of this patch. Also i dont want to include all vxds - only these which are really needed.

this is my list of necessary vxds:

biosxlat.vxd

combuff.vxd

configmg.vxd

dosmgr.vxd

dynapage.vxd

ebios.vxd

int13.vxd

mtrr.vxd

ntkern.vxd

pageswap.vxd

parity.vxd

perf.vxd

reboot.vxd

shell.vxd

spooler.vxd

udf.vxd

v86mmgr.vxd

vcache.vxd

vcd.vxd

vcdfsd.vxd

vcomm.vxd

vcond.vxd

vdd.vxd

vdef.vxd

vdmad.vxd

vfat.vxd

vfbackup.vxd

vflatd.vxd

vkd.vxd

vmcpd.vxd

vmouse.vxd

vmpoll.vxd

vpd.vxd

vpicd.vxd

vsd.vxd

vtd.vxd

vtdapi.vxd

vwin32.vxd

vxdldr.vxd

ios.vxd

ifsmgr.vxd

all these including ios and ifsmgr have been sucessfully compiled into vmm32.vxd. all these which i dont have in this list were not requested by system during test.

right now i have removed at least one critical bug which was caused by one app with this updated version of vmm32.vxd

thanks passingby :)

Edited by Offler
Link to comment
Share on other sites


Alpha version:

http://slayershrine.wz.cz/VMM32.rar

backup your vmm32.vxd file and vmm32 directory, then unpack this archive and put it to system directory. then erase all files in vmm32 directory and reboot.

this file is intended for Windows 98SE. list of used files is in previous post. for me it has fixed some bugs and improved boot up time little bit.

(hosting is little bit lazy so maybe you will need to download it more than once until it is ok. file has 1 020 018 bytes)

if you get error message or bsod during boot restore your files and send report here which files were missing.

Link to comment
Share on other sites

this is list of files which have been in my VMM32 directory originally:

configmgm.vxd - 4.10.2225 - dated 8.12.2000

ntkern.vxd - 4.10.2224 - 21.2.2001

qemmfix.vxd - 4.10.1998 - 5.5.1999 (not included)

vcomm.vxd - 4.10.2225 - 2.3.2001

vmcpd.vxd - 4.10.2223 - 2.5.2000

vmm.vxd - 4.10.2226 - 5.3.2001 (not included)

vmouse.vxd - 4.10.2225 - 4.4.2002

vpicd.vxd - 4.10.2224 - 21.07.2000

udf.vxd - 4.10.2223 - 5.3.2003

vfat.vxd - 4.10.2223 - 19.10.2000

ifsmgr.vxd - 4.10.2225 - 19.9.2000

ios.vxd - 4.10.2225 - 9.1.2001

the list of file in first post shows vxds which vere included. all of them are dated 5.5.1999 except those which are in this shorter list - i used the newer ones.

the following files have not been requested by my system (when skeleton vmm32.vxd with empty vmm32 directory was used during boot up) so they were not used for compiling of this vmm32.vxd which i put here for download:

dosnet.vxd

qemmfix.vxd

vmm.vxd

vmm32.vxd

vshare.vxd

vmd.vxd

vmm32.vxd cannot be inlcuded because it will be compiled into itself :) rest of files seems unnecessary for my system but the question is if they are necessary for other users... i am not sure about it so as a first step i recomend the test with skeleton vmm32.vxd and empty vmm32 directory to detect it.

PLEASE REPORT ANY CHANGE IN BEHAVIOUR AFTER APPLYING THE VMM32.VXD

i need feedback to correct all possible errors or confirm improvement.

Edited by Offler
Link to comment
Share on other sites

  • 2 months later...

Hi, Offler!

You may find VxDLib useful. It is downloadable from V-Com homepage. It'll list all the files packed inside VMM32.VxD and can extract any or all of them, if you want it to. Now, it is time consuming to determine the original version of any VxD extracted from VMM32.VxD, because the file version infomation block of any VxD is removed in the process of packing it inside VMM32.VxD. VxDLib can also repack files into VMM32.VxD (but this one feature I never did test myself)...

Link to comment
Share on other sites

This has been discussed thoroughly in the past, including here and here. Each system compiles it's own vmm32.vxd per what is needed. Sorry but yours sounds like a world of potential problems coming.

Link to comment
Share on other sites

i have taken a closer look at the registers which are calling VXDs from different directories. i found that there is a bit mess when file is called from VMM32 directory, because every time when are registers used to scan system directories it scan everywhere. it may also use vxds from "VMM32 family" when they are located in system directory not only in VMM32 directory.

When the files are compiled (whether are needed or not) in single file and all other files are erased it at least helps with system bootup and further performance... since the VMM32.vxd is compiled it is hard to enter it and update its components, thats why registers may alter vxds and make them primary from VMM32 directory. but i dont think that it is good idea when a database is ordering to executable to replace its parts in system memory.

also needed and non needed files... registers contains a lot of thrash, even subsystems which are not needed by system are called from here and loaded (tested with some VXDs). maybe the best way should be to compile vmm32.vxd from newest files and erase all other "vmm32 family" files from system. Windows does not use files which it really need... it is quite random (except some really needed files).

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...