Jump to content

Recommended Posts

Posted

Is there a way to use newer user32.dll and/or user.exe files in Windows 95?
By newer I mean the Win98 counterparts.

I have several applications which would require the Win98 versions of these files (especially user32.dll) and I've come across a program called cff explorer which enables me to change some stuff in a file and there's a section called import directory and there's a list of files which are used by this exe file or dll file or whatever.

So I copied the user32.dll from Win98 over to Win95 and renamed it to user98.dll and changed the file name in the import directory section and hoped this would help the application to get started, but it didn't.

I'm obviously not a programmer, I don't know anything about it, I just tinker with stuff I don't know anything about so I didn't really expect it to work anyway but is this a lost cause or is there a fairly easy way to get applications to use different system files than the ones they would normally use?
 

ScreenShot 508.jpg


Posted

Your method works but USER98.DLL itself apparently failed to load. You will have to check it for missing Imports. Even so it may not be compatible.

Posted

How do I check it for missing imports?

When I try to launch an application (which needs this newer system file) there is an error message telling me that the dll file cannot be started.

Posted

Hm ok.

In my case, I already knew which function was missing because it was part of the error message. So I used "Import adder" to import that function but when I try to launch the application it takes a while until an error message pops up, telling me something about an illegal operation and then it crashes. In the details section it refers to kernel32.dll

Probably not a good sign.

ScreenShot 510.jpg

Posted

P.S. Is there a way to add a function to an empty dll file and to link that empty dll file to the executable file (just as I did with the user98.dll file)?

Posted

No.

Your method replaces an entire DLLs set of Imports so you have to provide all the other Functions of the DLL as well.

I have a program that can redirect individual Imports to alternative DLLs or names. I also have a tool that can add a Redirecting Export to the original DLL that can then point to your single Function DLL.

Posted

Hmm, with this tool you can add redirecting exported funuctions to dll skeleton, you should check the link.

Maybe i will make small video tutorial to show how to use this tool.

Posted

I actually meant rloew but your tool is also interesting.

I copied the function from the newer user32.dll file to the one from Win95 and it works to some extent.

It's extremely unstable, so there are a lot of error messages (all referring to user32.dll) and the application crashes and explorer.exe crashes etc. but it does work to some extent.

Nevertheless I assume it would make more sense not to modify the original user32.dll but find an empty dll file that I can copy that function into and then link the application to this new dll file.

But where do I get an empty dll file from?

(and no, just creating any file and changing its extension to dll doesn't work)

Posted

My DLLHOOK Program intercepts the system Import resolver and provides an alternative Address. You can redirect the problem Import to your replacement DLL using a DLLHOOK.INI File.
My MODEXP Program allows you to add, change, or delete Exports. You can add a Redirection Export to the original pointing to your replacement DLL. A KERNEL32.DLL Patch to fix a bug, is needed in most cases under Windows 98 for this to work.

You would probably need to Compile a Replacement DLL unless you can find a suitable Stub or Function in some existing DLL.

Posted
1 hour ago, ABCDEFG said:

Maybe i will make small video tutorial to show how to use this tool.

Please, do it. I can think of varous members who could benefit from such a tutorial.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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