Jump to content

Recommended Posts

Posted (edited)

  

On 10/8/2025 at 7:55 AM, Nokiamies said:

I managed to hack around to get it starting.... ... What are rules on redirecting missing calls? How you find alternative.

Ideally a replacement function takes the same number of parameters so the stack (local variables and calling information) doesn't get corrupted. It should also have the same return type so it can correctly report that it couldn't perform the requested task. If the function doesn't get called, then any name that fits will do.

Names are usually word-aligned, so even-length names are often followed by two zeroes instead of one. If so, the replacement name can be up to one character longer than the original. All names can also be extended another two characters by overwriting the "hint" word for the following name if there is one.

If the parameter count can't be matched, fewer has a better chance of working. If the return type can't be matched, more analysis is needed to best fake it.

In the past I googled the API I wanted to replace, checked my DLL for possible replacements, then researched each. Today I'd start by asking Gemini for a list of APIs in the same DLL and with the same number of parameters and return type as the API I'm trying to replace. Then ask to narrow it down to Windows 95.

Use FC.EXE to compare the original and modded files. Post the results and I'll review them.

 

Edited by jumper
How to research

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