jumper

KernelEx 2016.16 (4.5.2016.16) updates

430 posts in this topic

Now BitTorrent v6.4 build18095 not working. Crashes on startup with memory access error in bittorrent.exe and I found no way to fix this (also if delete bittorrent settings I have installations pages and crash after it, and new settings files NOT created).
+Have some problems with TotalCommander 8.01 - Not working context menu, unless it switched to "disable kex extensions"
Now I go back to v15.

0

Share this post


Link to post
Share on other sites

+++BitTorrent v6.4 dumps, made on Connectix Virtual PC in clear Win98IF14
https://www.upload.ee/files/6673333/BitTorrent.zip.html

0

Share this post


Link to post
Share on other sites

Thanks for the BitTorrent report.

In the Run 1 stack dump, the only kex addresses are BFA05F90 and BFA075BB in KernelEx.dll. Those portions of KernelEx didn't change between .15 and .16, however if you can reliably reproduce this error, try reverting just KernelEx.dll back to version .15 and report if that makes a difference.

Runs 2 and 3 are virtually identical with a GPF occurring when the stack frame spans a page boundary (ESP and EBP are on different 4k pages, 4k=1000h). This is a known problem that goes way back several years at least.

In Run 2, the last kex addresses are BFA4A6D5 and BFA4A7B0 (both in Kexbases). BFA4A6D5 appears multiple time in the stack dump, so might be part of some recursion.

A DumpPE -disasm on Kexbases.dll reveals that BFA4A6D5 is the entry point for CreateFileA_fix. So the BFA4A6D5 entries on the stack must be parameters or local PROC pointers, not return addresses.

BFA4A7B0 is the return address in CreateFileA_fix from the call to the real CreateFileA (CreateFileA_fix pre-processes the parameters and then calls the original CreateFileA to do the actual work). Please check that you have extensions disabled on Kexbases.dll. This portion of Kexbases.dll was not changed in version .16.

I see now that the BitTorrent installer is UPXed, if the same is true of the installed app you should unUPX it. UPXed files are not supported yet.

Edit: I was able to reproduce the exact error (down to same ESP and EBP). The app self-installs/configures so it is confirmed: UPX is the problem. BT6.4 actually only needs the subsystem changed from 5.0 to 4.0 to work without KernelEx entirely!

Edited by jumper
0

Share this post


Link to post
Share on other sites

It turns out the version of SetDllDirectoryA/W in the master branch was only a rough start by Xeno86 to a partial implementation. It supports setting the Dll Directory search path, but not resetting it by passing NULL as the parameter.

I have simplified SetDllDirectory*(...) down to SetEnvironmentVariable*("DLLPATH",...) and also added GetDllDirectory*. Now I'm testing new LoadLibrary* and LoadLibraryEx* code that will use DLLPATH to fully implement WinXP-Win7 alternate DLL search paths. The Win8 functions AddDllDirectory, RemoveDllDirectory, and SetDefaultDllDirectory are a bit tougher and will be added later.

For the time being, SetDllDirectoryA/W can be disabled in CORE.INI.

2

Share this post


Link to post
Share on other sites

Thanks for the info - will test over the weekend.
By the way, I just looked into my core.ini and I noticed that I (still ?) have in several sections:

KERNEL32.VerSetConditionMask=none
KERNEL32.VerifyVersionInfoA=none
KERNEL32.VerifyVersionInfoW=none

Can these entries be deleted now ?

Update: After disabling SetDllDirectoryA/W in core.ini multi-media like Youtube works but trying to print still crashes SeaMonkey with kexbasen16.

Edited by MiKl
0

Share this post


Link to post
Share on other sites

OK. I'm unUPX bittorrent.exe and it now works at v16, + edit PE OS bits and it no more need KernelEx.
Thanks to jumper!

But why this problem with UPX? It's not good because some programs can't be unUPXed behind unknown UPX algorithms.
====up====
What about any core.ini file format info?

0

Share this post


Link to post
Share on other sites
On 12.2.2017 at 3:39 AM, LoneCrusader said:

Theoretically KernelEx could be made to work on 95 OSR2 but it would require a "bridge" expansion that would handle functions present in 98 that are not present in 95, and despite the prevailing attitude that "98 is just a patched up copy 95" there are very significant differences between the two and this would be a lot of work. 95 unfortunately doesn't have even the userbase that 98 does now so there's not enough interest. I believe I'm the only "active" 95 user around these days, and even before that 95 did not enjoy nearly as much attention here as 98 and ME did.

I think it still would be fun to see Windows 95 run much newer software.

But then again, it's pretty amazing to see that there still is software that runs on Windows 95. It's still usable, maybe not for internet-related stuff but many other things.

0

Share this post


Link to post
Share on other sites

hi jumper i need your help . I want to re implement all version checking api in XP so most programs do work . ( Most are blocked and most function are still work i donot why devs need to include them) . Is it possible to patch msi installer in windows to show higher windows version ?

0

Share this post


Link to post
Share on other sites

What api does the MSI installer use to read the OS requirement of an MSI file?

0

Share this post


Link to post
Share on other sites
4 hours ago, jumper said:

What api does the MSI installer use to read the OS requirement of an MSI file?
 

Versioninfo functions

0

Share this post


Link to post
Share on other sites

In what DLL(s)?

0

Share this post


Link to post
Share on other sites
On 4/10/2017 at 4:28 AM, jumper said:

In what DLL(s)?

kernel32

0

Share this post


Link to post
Share on other sites

Please stop quoting the previous post. It's a waste of human and system resources.

What is the name of the MSI installer app, what Versioninfo functions in Kernel32.dll does it call, and to what end (why)?

0

Share this post


Link to post
Share on other sites

Well setting fake comp-ability in registry worked

0

Share this post


Link to post
Share on other sites

Are really Opera 12.18 on Win 9x?
Now it writes: "failed to load opera.dll..."
I'm try & found that not uxtheme.dll, but founds Wine port for 2k/9x here: https://kzar.co.uk/blog/2010/10/06/fixing-spotify-uxtheme.dll-error-on-windows-2000/
Also depends + ktree9 shows that no some functions.

0

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.