Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

winxp ntvdm #219

Open
steom opened this issue Mar 22, 2023 · 6 comments
Open

winxp ntvdm #219

steom opened this issue Mar 22, 2023 · 6 comments

Comments

@steom
Copy link

steom commented Mar 22, 2023

I have a dos executable that mounts and unmounts unc network path connections internally.
in the winxp ntvdm that's no problem, the net use are correctly mounted and dismounted at win os level

the windows 7 ntvdm drop the needed functions call for unc network share.
so i still need to use winxp.

the behavior of ntvdmx64 is the same as window 7.

I assume ntvdmx64 is based on the broke ntvdm of windows 7 instead of the ntvdm of winxp.

would it be possible to port the winxp ntvdm ?

@leecher1337
Copy link
Owner

When you execute a Windows command from DOS in NTVDM, it just executes the windows command as-is but lets it run on the current console. So there is no interference of the NTVDM here. If the "NET USE" on Win 7 works differently than the one under XP, then oyu are out of luck. You simply have to make it work in Windows first, and if it works there, you can use the same command from DOS.

So NET USE has nothing to do with NTVDM whatsoever! "NET" a Windows executable not a DOS executable!

One common problem under win 7 that wasn't an issue with Windows XP is the user account separation, i.e. let's say you mount a network drive with "Net use" as a normal user, you won't be able to access the mapped network drive if you are running you application with elevated user rights (i.e. "Run as Administrator") and vice versa, a network drive that you map as elevated administrator won't be available for applications running with normal user rights, so you have tot take this into account.

@steom
Copy link
Author

steom commented Mar 24, 2023

in win Vista ntvdm, this msdos application is still able to mounts and unmounts unc network path using internal calls.
in win 7 ntvdm microsoft removed the needed calls.

ntvdmx64 is based on which ntvdm source version? maybe the thing will works using the loader ldntvdm.dll version 5.1 of xp

@leecher1337
Copy link
Owner

Ntvdmx64 is based on windows XP NTVDM source.

I think I now anderstand what you mean: My guess is that you are referring to VDMREDIR functionality where certain calls indeed have been removed.

See:
576eafa

@steom
Copy link
Author

steom commented Mar 24, 2023

Exactly.
some LAN Manager APIs for the VDM redirector are dropped after WinXP, so some advanced dos network applications don't work anymore even with Ntvdmx64

@leecher1337
Copy link
Owner

Do you have a DOS-Application available for testing?

@leecher1337
Copy link
Owner

leecher1337 commented Mar 29, 2023

Unfortunately, you didn't supply an application for testing, so I was unable to check.
I cluttered together a vdm redirector and used DLLs in order to potentially work with Win 7, but I'm unable to test the implementation. You can try these custom made DLLs by copying all of them to the SysWOW64 directory replacing the shipped VDMREDIR.DLL. Maybe you are lucky and it works. Please give feedback so that I may be able to add them to NTVDMx64 in the unlikely case that it works.
vdmredir.zip

Btw.: The DLLs should also work on 32bit Win 7 with original NTVDM.

leecher1337 added a commit that referenced this issue Apr 6, 2023
…6eafa, so LanManager/NetBIOS interfaces are limited. Adding some DLLs that try to re-enable missing functionality in Windows 7 and above, but this requires Windows Server 2003 sourcecode, therefore make it optional. #219
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants