jumper Posted Thursday at 08:47 PM Posted Thursday at 08:47 PM (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 Thursday at 09:07 PM by jumper How to research
Nokiamies Posted 3 hours ago Author Posted 3 hours ago (edited) On 10/9/2025 at 11:47 PM, jumper said: 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. I think I was bit too vague. I managed to get it started by replacing missing calls, but it still got issues and I wonder if replacement broke it. It now loads but as can see from screenshots below messages are not shown on 95 client despite it sending them out just fine. File transfer still works and request passes both ways, just not messages. It does not matter what end client other side got and Windows 9x I never had this issue. I also went as far as trying modified client under ME and it does same there which likely means I did broke something. I attached pictures to show off better what I mean. Vanilla-95_mod.jpg you can see file transfer and message sending working just fine on vanilla client, on 95_mod-vanilla can see how it looks on the other end. File transfer just fine but message I sent off other client does not work. Same idea is on ME mod-vanilla.jpg and vanilla-ME_MOD.jpg. This error occurs when I attempt change to font to see if font related, illegal process on libpango (laiton.jpg). On ME though trying change font does not result illegal process with modified client. Stock 2.6.6 works just fine on ME. Here is current files I hacked around to get it that far on 95 with Jabber. I included files needed for gtk into folder so it would be more portable. http://nokiamies.net/files/sw/Pidgin-95.7z Also thanks for the guide how search replacements. It will be handy in the future Edited 2 hours ago by Nokiamies
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now