Jump to content

Kext: DIY KernelEx extensions


Recommended Posts

Latest Flash Player (11.7.700.169) requires:

[Gdi32.dll]

GdiAlphaBlend=

I can run and use RealWorldPaint without issues using:

[Ole32.dll]

HICON_UserFree=

HICON_UserMarshal=

HICON_UserSize=

HICON_UserUnmarshal=

Btw, it seems they pulled Foxit Reader 6 out, I couldn't find a working download link for it.

Link to comment
Share on other sites


On filehorse.com or chip.de.

Well, it seems Google isn't as good as it used to be...

It's not on Foxit's own website as of now anyway so it probably means they are still adjusting things for that version.

I saved myself lots of time and headaches unpacking the installer with Inno Unpacker btw.

It's running fine in Win2k compat mode here without a need for KexStub but I don't think I'll be using this version if they keep the atrocious interface they've adopted here, at first I thought the UI was buggy but then I realized it was just a Windows 8 style interface... :w00t:

Edited by loblo
Link to comment
Share on other sites

On filehorse.com or chip.de.

Well, it seems Google isn't as good as it used to be...

It's not on Foxit's own website as of now anyway so it probably means they are still adjusting things for that version.

I saved myself lots of time and headaches unpacking the installer with Inno Unpacker btw.

It's running fine in Win2k compat mode here without a need for KexStub but I don't think I'll be using this version if they keep the atrocious interface they've adopted here, at first I thought the UI was buggy but then I realized it was just a Windows 8 style interface... :w00t:

You can change the interface back to the classic appearance. Version 6 is slower than version 4 and 5 for me.

Link to comment
Share on other sites

Latest Flash Player 11.7.700.169 works for me, if I add [Gdi32.dll] GdiAlphaBlend=z11 to the Kstub822.ini. Probably it isn't the best stub.

Thanks loblo!

Edited by schwups
Link to comment
Share on other sites

Latest Flash Player 11.7.700.169 works for me, if I add [Gdi32.dll] GdiAlphaBlend=z11 to the Kstub822.ini. Probably it isn't the best stub.

It works for me too with no definition so far. I prefer to leave it blank for as long as the function isn't actually called.

You can change the interface back to the classic appearance. Version 6 is slower than version 4 and 5 for me.

Thanks I'll have to check this out more closely then. I wasn't using v5 already because I didn't like the skinning too much and didn't find an option to use it without but I must have overlooked this I guess.

Link to comment
Share on other sites

Kstub822 is incompatible with VLC Player 2.0.6 released yesterday. Obviously new API's are called. The Kext prompt appears during installation: Msvctr.dll:___lc_codepage_func=; Update DLL! The setup finished successfully if I cancel the prompt . The prompt appears again on start, but no possibility of the prompt works. The Player starts, if Kext isn't installed.

Problem: flv doesn't work anymore and mp4 => only audio.

Edited by schwups
Link to comment
Share on other sites

Kstub822 is incompatible with VLC Player 2.0.6 released yesterday. Obviously new API's are called. The Kext prompt appears during installation: Msvctr.dll:___lc_codepage_func=; Update DLL! The setup finished successfully if I cancel the prompt . The prompt appears again on start, but no possibility of the prompt works. The Player starts, if Kext isn't installed.

As a work around I commented out all msvcrt-entries in kstub822 ! But hopefully Jumper can fix this.

Link to comment
Share on other sites

Kstub822 is incompatible with VLC Player 2.0.6 released yesterday. Obviously new API's are called. The Kext prompt appears during installation: Msvctr.dll:___lc_codepage_func=; Update DLL! The setup finished successfully if I cancel the prompt . The prompt appears again on start, but no possibility of the prompt works. The Player starts, if Kext isn't installed.

Problem: flv doesn't work anymore and mp4 => only audio.

There is no problem with Kstub here. It's just telling you should update/replace your msvcrt by msvcr70 or msvcr71. :)

This substitution has been discussed quite a bit in this thread if I am not mistaken.

If you don't want to do this systemwide, you can do it on a per application basis but this requires deleting the msvcrt entry in the registry's knowndlls key.

VLC 2.06 will run fine after that and so will quite a few other recent apps which rely or have dlls relying on functions non-existing in vanilla 9x msvcrt such as the latest KMPlayer.

Edited by loblo
Link to comment
Share on other sites

Kstub822 is incompatible with VLC Player 2.0.6 released yesterday. Obviously new API's are called. The Kext prompt appears during installation: Msvctr.dll:___lc_codepage_func=; Update DLL! The setup finished successfully if I cancel the prompt . The prompt appears again on start, but no possibility of the prompt works. The Player starts, if Kext isn't installed.

Problem: flv doesn't work anymore and mp4  => only audio.  

There is no problem with Kstub here. It's just telling you should update/replace your msvcrt by msvcr70 or msvcr71.   :)

This substitution has been discussed quite a bit in this thread if I am not mistaken.

If you don't want to do this systemwide, you can do it on a per application basis but this requires deleting the msvcrt entry in the registry's knowndlls key.

VLC 2.06 will run fine after that and so will quite a few other recent apps which rely or have dlls relying on functions non-existing in vanilla 9x msvcrt such as the latest KMPlayer.

Thanks. Particularly it was discussed in the topic "ImportPatcher". I confirm that version 2.0.6 works, if I paste  "msvcr71.dll" renamed to "msvcrt.dll" in the systemfolder (replacing). So that I have the msvcr71.dll with different names twice. Also flv and mp4 works.

Link to comment
Share on other sites

Hello, I've managed to prevent KernelEx from starting by adding the following definition to KxStub822.ini:

[msvcrt.dll]

_ctype=>msvcr70:

On reboot I get an error message saying that mprexe caused an error in kernelex.dll and KernelEx doesn't load, no programs relying on it work.

The msvcrt in the sys dir wasn't vanilla msvcrt but a renamed msvcr71, there is no msvcrt entry in the registry knowndlls key and I had no other msvcrt entries in KxStub.ini.

I did that after trying to run the latest version of Aspell which requires this function and that msvcr71 doesn't provide.

I've now removed this entry from KxStub822.ini and am using msvcr70 as a replacement for msvcrt, Aspell runs fine and no other program I have which requires msvcrt/msvcr7x substitution appear broken.

msvcr71 is version 8.0.21213.0 and msvcr70 is version 7.0.9981.0, they are the most recent I have and I didn't try with other versions so not sure if it would always happen.

Is there something I did wrong with the definition or is it a bug/incompatibility?

@Schwups: Yes the discussion was mostly in the import patcher thread, sorry for not remembering that.

Edited by loblo
Link to comment
Share on other sites

> I did that after trying to run the latest version of Aspell which requires this function and that msvcr71 doesn't provide.

_ctype is a variable, not a function, so can't be stubbed / redirected. :(

> On reboot I get an error message saying that mprexe caused an error in kernelex.dll and KernelEx doesn't load, no programs relying on it work.

Perhaps something is dynamic-loading _ctype and trying to use type macros on the resulting function pointer instead of falling back to using the CRT functions. :unsure:

> I've now removed this entry from KxStub822.ini and am using msvcr70 as a replacement for msvcrt, Aspell runs fine and no other program I have which requires msvcrt/msvcr7x substitution appear broken.

It now looks like msvcrt70 is the better choice for msvcrt substitution. Good work! :thumbup

:) I checked my system and found these versions of MSVCRT that export _ctype:


  • MSVCRT20 2.11.000
    MSVCRT40 4.22.0000
    MSVCR ..... 6.10.8924.0
    MSVCR ..... 6.10.9848.0
    MSVCR70 .. 7.00.9981.0

:( And these versions that don't:


  • MSVCR71 7.10.3052.4
    MSVCR71 7.10.7031.4
    MSVCR80 8.00.50727.762
    MSVCR90 9.00.21022.8
    MSVCR100 10.00.30319.1
    MSVCR100 10.00.40219.1

> msvcr71 is version 8.0.21213.0 and msvcr70 is version 7.0.9981.0, they are the most recent I have and I didn't try with other versions so not sure if it would always happen.

I haven't seen this version of msvcr71, but it must come bundled with msvcr80. Msvcr80 has a dependency on msvcrt for _getdrives, so perhaps that msvcrt is worth a look.

Link to comment
Share on other sites

I just realized that this latest version of Aspell is from 2002 and would appear to run with any 9x msvcrt (oldest msvcrt I have archived which is version 4.20.0.6164 has _ctype) so yeah substituting msvcr71 certainly wasn't the better choice, hopefully there is no such hole in msvr70.

By adding the definition below and a few other tricks, I have installed Java 7 update 17 (currently latest) and run java programs with it without apparent issues. I'll make a separate topic about it later on.

[Advapi32.dll]

AddAccessDeniedAceEx=z5e

Link to comment
Share on other sites

  • 1 month later...
By adding the definition below and a few other tricks, I have installed Java 7 update 17 (currently latest) and run java programs with it without apparent issues. I'll make a separate topic about it later on.

[Advapi32.dll]

AddAccessDeniedAceEx=z5e

Does Java next generation work for you, too?

Sumatra PDF 2.3 released:

[DBGHELP.dll]

SymFromAddr=z4

is required to run it.

BTW: I can't access the page "compatible applications" on the Wiki these days, if I'm not logged in. Also the page Popular Pages offers an overview.

Link to comment
Share on other sites

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