Jump to content

Recommended Posts

Posted (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:

  1. Open Oleaut32.dll in the hex editor
  2. change 00000004: 03 to C3 (create ret opcode in unused DOS header)
  3. change 00087760: 00 to 04 (direct Ordinal 327 to above)
  4. 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 by woi

Posted

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.

Posted

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!

Serpent52-Youtube.jpg

Firefox ESR 52-Youtube.jpg

Posted

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.

Posted

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.

Serpent52-config.jpg

Serpent52-unsurpported.jpg

Serpent52-Youtube_Private Window.jpg

Posted

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.

  • 1 month later...
Posted (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):
VirtualBox_WindowsME_24_12_2025_09_10_33.thumb.png.faae6cc4a8caed932f09c354449dbcb8.png
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 by woi
Normal mode works on Firefox after some tests
Posted (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 by woi
AVRT.DLL mention
Posted

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

 

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.

Posted (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. :thumbup

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.

 


Screenshot2025-12-26122423.png.f7ee038ed1d6159278616882f7952c92.png

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 by woi
Update: Mypal68
Posted
On 12/23/2025 at 11:06 PM, woi said:

 

A couple of commits in the Firefox 54.0a1 (2017-02-15) build caused crashes and were reverted in the next day or two. So try -16 and -17. And check the kexstubs log files to see which apis were called.

 

Posted (edited)

I have tried -16 before, still crashes as the February 15th version. And yes the "Couldn't initialize broker services" error also came up.

Here are the logs of the -16 and -17 version in a zip file, I'm using ApiLog. Not sure if this what you meant by Kexstubs.log. FF54_16_17.zip

Edited by woi
Posted

You attached KexApiLog. The Kexstub log is in the KernelEx folder next to your stubs ini.

Possibility to identify RaiseException as culprit: On start Mypal68 I get error in xul.dll. In the Windows Faultlog I see the details with EIP.  I can find the address (EIP) running Procwin16 at Mypal>XUL.dll>Code.

e.g.: RaiseException.png.9c00c9949f7956cb06b0cd4eda6b44fd.png

 

Posted (edited)

Is there a way to trigger it? I'm sure I have it enabled on Kstub but couldn't find it.

I'll also try ProcWin (I had it on my KernelEx folder).

Edited by woi

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   1 member

×
×
  • Create New...