woi Posted November 3 Posted November 3 (edited) On 10/29/2025 at 7:36 AM, jumper said: This can be done by changing just three bits! What you need: Oleaut32.dll 2.40.4519 (31 July 2006 6:12:40 pm GMT, checksum: 000A2534) A hex editor Dependency Walker Steps: Open Oleaut32.dll in the hex editor change 00000004: 03 to C3 (create ret opcode in unused DOS header) change 00087760: 00 to 04 (direct Ordinal 327 to above) Save and verify. Optional to adjust the checksum: also change 00000118: 34 to F8 (000A2534 to 000A25F8) Verify addition of Ordinal 327 (and checksum) with Dependency Walker. Is there really something like this for 2.40.4520? I've fully updated the installation (Windows ME) using the unofficial SP1. I don't really have the copy of 2.40.4519 somewhere, If I had one I'll try to see the difference and try to patch the newer "OLEAUT32.DLL" file. Edited November 3 by woi
schwups Posted November 3 Author Posted November 3 (edited) V2.40.4519 is somewhere in a ServicePack of 98 or ME. dllme.com: v2.40.4520, 2.40.4518 and more https://www.dllme.com/dll/files/oleaut32/versions Also 2.40.4519 here: https://www.microsoft.com/en-us/download/details.aspx?id=4842 File name oant4ts.dll > rename to oleaut32.dll Edited November 3 by schwups 1
woi Posted November 3 Posted November 3 Great! I just compared 2.40.4519 and 2.40.4520 and the only different is that you have to change 00087AD0 instead of 00087760. Patched it and now Serpent 55 launches without ApiLog, even works on Kstub824 as well.
GKim Posted November 6 Posted November 6 Hello everyone, I’m currently testing Serpent 52 (Roytam1’s browser). I’ve followed all the instructions discussed in this forum, and everything seems to be working well so far. However, I’ve noticed that YouTube (both the mobile and desktop versions) does not load properly — as shown in the attached screenshots. Interestingly, the YouTube mobile site loads correctly in Firefox 52 ESR, but not in Serpent 52. Could someone please test this on their end to see if the site loads as expected? I’m wondering if this issue might be related to a specific browser setting or configuration in Serpent 52. Any feedback or suggestions would be greatly appreciated. Thank you!
schwups Posted November 6 Author Posted November 6 Youtube should work in Serpent 52. The useragent override is Firefox 60 by default. general.useragent.override.youtube.com;Mozilla/5.0 (%OS_SLICE% rv:60.0) Gecko/20100101 Firefox/60.0 You can try at least 68 or better something like 140.
GKim Posted November 6 Posted November 6 Thank you for your response. I appreciate your help in confirming that this issue only occurs on my system. As you suggested, I changed the settings and tested again. I found that It only works when switching the browser to a private browsing window. It gives an script error, but the page loaded successfully. Is there any reason behind this behavior? Thank you very much.
schwups Posted November 7 Author Posted November 7 I don't usually use private browsing window. So I can't say anything about that. "Warning unresponsive script...": Does the page load when you press the continue button repeatedly? If so, then perhaps it indicates that the machine is just slow with the known bloated youtube pages. Do you have any add-ons that could effect this? Test with a fresh profile. I guess it isn't a ME/98 specific problem.
woi Posted Wednesday at 01:48 AM Posted Wednesday at 01:48 AM (edited) Recently I have tried running Firefox 53+ on my Windows ME VM, turns out it can launch with XP dlls + either Vista 5112 or ReactOS (2014) DWMAPI, but with this method I can't launch 54.0a1 (2017-02-10) as the DLL is not sufficent enough. Vista SP2/One-Core-API DWMAPI.DLL freezes the whole browser during start so I don't want to bother with that. I tried the safer way by using the KnownDLLs + LZ32 method, I redirected DWMAPI to LZ32 and added the following functions on my Kstub.ini: [LZ32.DLL] --- including API's in modules that use KnownDLLs to forward to LZ32 --- ;Dwmapi.dll DwmDefWindowProc=f5 DwmEnableComposition=z2f ;FF54+ DwmExtendFrameIntoClientArea=z2e ;FF54+ DwmFlush= ;FF57 DwmGetCompositionTimingInfo=z2e ;FF54+ DwmGetWindowAttribute=z3f ;FF54+ DwmInvalidateIconicBitmaps= ;FF57 DwmIsCompositionEnabled=z2f ;FF54+ DwmSetIconicLivePreviewBitmap=z4e ;FF57/FF54+ (z4e) DwmSetIconicThumbnail= ;FF57 DwmSetWindowAttribute=z4e ;FF54+ This way I managed to get 54.0a1 (2017-02-10) working and also for the February 11th version I think AVRT.DLL was mentioned here but I do not want to try experimenting with Windows Vista/7+ dlls so I did the same to AVRT.DLL and added these stubs to LZ32 (Kstub.ini): [LZ32.DLL] --- including API's in modules that use KnownDLLs to forward to LZ32 --- ;AVRT.DLL AvQuerySystemResponsiveness=z2e ;Win7 AvRtCreateThreadOrderingGroup=z4e ;Win7 AvRtCreateThreadOrderingGroupExA=z5e ;Win7 AvRtCreateThreadOrderingGroupExW=z5e ;Win7 AvRtDeleteThreadOrderingGroup=z1e ;Win7 AvRtJoinThreadOrderingGroup=z3e ;Win7 AvRtLeaveThreadOrderingGroup=z1e ;Win7 AvRtWaitOnThreadOrderingGroup=z4e ;Win7 AvSetMmMaxThreadCharacteristicsA=z2e ;Win7 AvSetMmMaxThreadCharacteristicsW=z2e ;Win7 AvSetMmThreadCharacteristicsA=z2z AvSetMmThreadCharacteristicsW=z2z AvSetMmThreadPriority=z2e ;Win7 AvRevertMmThreadCharacteristics=z1z And now Firefox 54.0a1 (2017-02-11) works fine at least in firefox safe mode, normal mode does not want to launch for some reason. (Update: Normal mode works fine after some tests): Though the font looks kinda weird. (I think this also happened on XP OCAPI at some point) Also I can't get 54.0a1 (2017-02-15) to work, a splash of window appears for a second. But it does launch. Also FYI I disabled e10s in about:config. Sure these versions are a crapshoot for Windows 9x + KernelEx, but I really like to push KernelEx to it's limits, also I'm curious about the state of Mypal68 on Windows 9x + KernelEx. Does it still crashes with RaiseException=v4? Since you mentioned that it's related to RaiseException, also I wonder if the implementation of NT SEH (correct me if I'm wrong) is even possible in KernelEx. I don't think returning v4/GetLastError is enough. Edited Wednesday at 05:01 AM by woi Normal mode works on Firefox after some tests
woi Posted Wednesday at 07:06 AM Posted Wednesday at 07:06 AM (edited) Update: I got 54.0a1 (2017-02-14) to work and that's the highest version that I'm able to launch. Later version launchs for a split second before crashing, I have not fixed the issue yet. While for AVRT.DLL, OCAPI AVRT.DLL works fine instead of the KnownDLLs + LZ32.DLL redirection. There isn't any freezing issues but does not fix the crashing issue on Firefox 54.0a1 (2017-02-15). Edited Wednesday at 04:06 PM by woi AVRT.DLL mention
schwups Posted 7 hours ago Author Posted 7 hours ago I have no new findings. I also was stuck at 54.0a1. This is still the situation for me. I'm really keeping my fingers crossed that you'll be successful in your efforts. Mypal68: Yes, it crashes with RaiseException=v4 here. On 12/24/2025 at 2:48 AM, woi said: I don't think returning v4/GetLastError is enough. It crashes with the exchange of RaiseException to GetLastError on XP, so I haven't a better explanation yet. Latest RT's releases 20251225: These can't start anymore with the roll back of only XUL.dll 20250531 and mozsqlite3.dll (nss3.dll) 20250531. Now ICU78 and mozjs.dll have to be swapped to previous version 20251220, too. So this procedure makes less and less sense in the future. I tried changing the ICU version from 63 to 78 in XUL.dll of 20250531, but this wasn't a solution. You have to decide what is more important to you to get updates and accept the additional mentioned errors, due to Sqlite 3.50.1 of release 20250621 or to stay with the older files.
woi Posted 6 hours ago Posted 6 hours ago (edited) 5 hours ago, schwups said: I have no new findings. I also was stuck at 54.0a1. This is still the situation for me. I'm really keeping my fingers crossed that you'll be successful in your efforts. Unfortunately 54.0a1 (2017-02-14) is the newest version I could launch, I have not managed to find out what's causing the crashing issue. I'm kinda new to Kstub.ini, and ApiLog/Dependency Walker doesn't to give any clue. I thought you could maybe help since I managed to omitted the use of DWMAPI & AVRT (see spoilers above) and I'm think you use those DLLs from other extended kernel instead of the KnownDLLs + LZ32 that jumper mentioned long time ago. However for Mypal68, I forgot to mention this but I managed to get to the point that this error comes up. I have stubbed keyed event functions to z4 and Cred---- functions to CredFree. This error is kinda familiar, I've seen it on Serpent before the GetLastError workaround. And yes nothing fixes the error as you mentioned. Edited 1 hour ago by woi Update: Mypal68
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