Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


jumper

KernelEx 4.5 Core Updates (4.5.2016.17)

Recommended Posts

Hi again!

I've found that I've got a problem with VLC Player as well now (version 2.0.5).

It used to work fine, now when I run it, apparently nothing at all happens. No error messages, just nothing!

Anyone got any fix for this?

 

@jumper

I forgot to mention earlier that when I run your updater file, it correctly prompts to switch to DOS mode, but when it does, before the "---Updating KernelEx 4.5.2015---" line, there are five "Bad Command or File Name" lines.

It then seems to work OK.

Not sure where those error lines are coming from, or why there are five of them.

Just thought I'd mention it, it could be only me seeing it because my system is non-standard of course!

:)

Share this post


Link to post
Share on other sites

Because the problem is with FlsAlloc, use kwinsys-.reg to remove the registry patch and add these lines to stubs.ini to use the standard version:

[Kernel32.dll]TlsAlloc=>Kernel32:TlsFree=>Kernel32:TlsGetValue=>Kernel32:TlsSetValue=>Kernel32:
(In core.ini on the "contents=" line, Kexstubs/Kstub822 must be the last DLL or you will also have to add API selection lines further down.)

The downside to this workaround is that there will only be 80 Thread Local Storage data slots, bad news for apps that are highly multi-threaded or use lots of plug-ins.

I'm testing a new TlsAlloc implementation now. Look for a new release tomorrow!

As for the installer, the only line in Update.bat before the "---Updating KernelEx 4.5.2015---" is "echo off". So the mystery commands must be in your own startup files. Ask in the Scripting forum for help locating the location of them.

{Edits in bold above.}

Edited by jumper

Share this post


Link to post
Share on other sites

Thanks @jumper!

Am I right in assuming that this should remove the need for the registry patch?

I hope so, as I could see that potentially causing a lot of future problems.

 

I already have an entry for kernel32.dll in stubs.ini -

[Kernel32.dll]GetGeoInfoA=z5eGetGeoInfoW=z5eGetUserGeoID=t1GetVolumeNameForVolumeMountPointA=z3eGetVolumeNameForVolumeMountPointW=z3eGetSystemWow64DirectoryA=z2e120

Should I just add your entries to that?

 

I don't have a file called "code.ini".

Do you mean "core.ini"?

Kstub822 doesn't seem to be mentioned anywhere.

 

A mystery about the error messages I'm getting apparently from the batch file.

I had looked at its contents of course, and as you say there's nothing there that should generate any messages.

I'll have to investigate further!

Cheers, Dave.

:)

Share this post


Link to post
Share on other sites

I see it now:

Kexbasen.dll -> Cryptui.dll -> Certcli.dll

I have Certcli.dll forwarded to Lz32.dll via KnownDLLs so DW shows me:

Kexbasen.dll -> Cryptui.dll -> Lz32.dll

I haven't written any stubs to go with the forward yet, so if you can find a Certcli.dll that will work with KernelEx, that would be great.

 

I am not a programmer and have only limited knowledge but I think Certcli.dll 5.1.2600.5512 seem to be fine.

All first level dependecies of kexbasen.dll are 'green' in DW.

 

Certcli.dll itself reports a few things missing like:

[netapi32.dll]

DsGetDcNameW

DsRoleFreeMemory

DsRoleGetPrimaryDomainInformation

 

I don't know how important these are so please let me know if I should find all and post them here.

Edited by MiKl

Share this post


Link to post
Share on other sites

Kexbasen.11 revealed an initialization loop vulnerability in the KernelEx 4.5 architecture. I plan to address it more completely in "Kex16."

For now, the Kernel32 fixes in Kexbasen for TlsAlloc, TlsFree, TlsGetValue, TlsSetValue have been rewritten to be better, faster, and (most importantly) not need preinitialization. Along with restoring the delay-load linker options, Kexbasen should now be stable again with current SE and ME configurations.

Use Kexbasen.12 with KernelEx.11 and Kexbases.11.

Many thanks to everyone for their feedback and patience while I worked through this challenging puzzle.

kexbasen.12.7z

  • Upvote 1

Share this post


Link to post
Share on other sites

Thank you @jumper for sticking with this!

I'll try it out tomorrow and let you know the outcome.

I assume I can now remove the registry patch, which I haven't yet done?

Cheers, Dave.

:)

Share this post


Link to post
Share on other sites

Kexbasen12 works, my win98se is starting up without problems & without the registry patch! Most import kernelex-programs are working. Great!

Share this post


Link to post
Share on other sites

KernelEx.dll v.12 will address the UPX regression. I'll tweak the resolver code to detect UPX'd modules and use the old method if found--explicit imports will be treated the same as implicit. I think the UPX loader does all its explicit loads before calling VirtualProtect, so perhaps there I can safely toggle back to the new method. I'll also try to add back-end support for some new loader options. UI support will come later.

As for the gimp/git problems, I need to know what APIs are involved.

Share this post


Link to post
Share on other sites

Awesome - thanks !!!

 

(Quick first test: SeaMonkey 2.7.x. and 2.8 are unfortunately still freezing.)

Share this post


Link to post
Share on other sites

@jumper

 

Just to confirm that the new version of kexbasen.dll has completely fixed the problems here!

:thumbup

I have removed the registry patch, and put all my scripting files back in the system folder, and all is working well, including VLC Player again.

Thanks very much for sorting this out!

:)

Edited by Dave-H

Share this post


Link to post
Share on other sites

Might be an incompatible LOGFONT structure being passed to CreateFont().

Last month I gave this post a "Like This" because it told me exactly what I should investigate. (I did and will pursue it soon.)

> SeaMonkey 2.7.x. and 2.8 are unfortunately still freezing.

In or after what API's? (Use the debug console.)

> I gave a lot of info about the gimp issue a while back starting with this post:

Yes, but I need to know in or after what API's the problem occurs. (Use the debug console.)

Share this post


Link to post
Share on other sites
> I gave a lot of info about the gimp issue a while back starting with this post:

Yes, but I need to know in or after what API's the problem occurs. (Use the debug console.)

 

 

I thought I had done all that already with apihook. If I should do something else let me know what and how exactly.

Share this post


Link to post
Share on other sites

Hi Jumper, unfortunately I have to admit that I need more infos on debug console. I am still a noob on most things.

 

And I have similar problems with VLC on a P4/ICH4-system running v11&v12-configuration that Dave-H reported earlier.

Nothing happens when I try to start VLC.

After enableing KEX on kexbasen.dll the follwing error message appears. I maybe just have to change one comp-mode

but I can't find the culprit. Thanks for your hard work !!

Datum 02/05/2016 Uhrzeit 20:53VLC verursachte einen Stapelfehler in Modul KEXBASEN.DLL bei 017f:7d00a034.Register:EAX=00440000 CS=017f EIP=7d00a034 EFLGS=00010293EBX=928c5e68 SS=0187 ESP=00572000 EBP=0057201cECX=9289efd4 DS=0187 ESI=7d000000 FS=4b1fEDX=7d017004 ES=0187 EDI=00000000 GS=0000Bytes bei CS:EIP:ff 15 28 40 01 7d c9 c2 0c 00 55 8b ec 51 81 7dStapelwerte:00440000 00000000 00000010 00000000 00000000 00000000 00000000 00572040 7d00a03a 00440000 00000000 00000010 00000000 00000000 00000000 00000000
Edited by MiKl

Share this post


Link to post
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...