MSFN Forum: Kext: DIY KernelEx extensions - MSFN Forum

Jump to content


  • 12 Pages +
  • « First
  • 7
  • 8
  • 9
  • 10
  • 11
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Kext: DIY KernelEx extensions Latest: K452stub (25Feb); Core.ini (2Feb, post#144); Ktree9 (9Jan) Rate Topic: -----

#161 User is offline   MiKl 

  • Junior
  • Pip
  • Group: Members
  • Posts: 64
  • Joined: 01-December 11
  • OS:98SE
  • Country: Country Flag

Posted 07 February 2013 - 05:39 AM

View Postjumper, on 06 February 2013 - 06:14 PM, said:

Perhaps the KernelEx bug that limits the number of modes that stick to 11 (0..10) limits ME to something even lower.


Hmmm, wouldn't it be a good idea if you and Leyok may work together to improve KernelEx altogether ??


#162 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 10 February 2013 - 11:26 AM

View Postjumper, on 06 February 2013 - 06:14 PM, said:

If you have an NT2K mode that sticks and supports KERNEL32.FindActCtxSectionStringW, NOFACSS should also stick--those are the only two dependencies:
    [NOFACSS]
    inherit=NT2K
    desc=Win2000 SP4 (for OpenOffice)

    [NOFACSS.names]
    KERNEL32.FindActCtxSectionStringW=none

Perhaps the KernelEx bug that limits the number of modes that stick to 11 (0..10) limits ME to something even lower.  Try renumbering the modes like this:
[ApiConfigurations]
default=0
0=DCFG1
1=WIN95
2=WIN98
3=WINME
4=NT40
5=NT2K
6=NOFACSS
7=NOAC
8=WINXP
9=VISTA
10=NOHEAP 

If this works, check to see if NOHEAP and VISTA will stick.

You can also drop from the numbering sequence any modes you don't use (e.g. NOHEAP, NT40, etc.), just make sure to leave the sections for inheritance purposes.


Quote

>The Explorer is unusable: => Runtime Error.... Program: C:....Explorer => later a message "Explorer caused an error in WEBVW.dll"
As I recall, you use an extension that requires KernelEx. Find that extension and set it to "no ActCtx". Or try setting Explorer.exe.



All the attempts don't work. All the specfic compatibility modes don't stick! It's possible to disable KernelEX. Also for the Explorer, but that doesn't solve the problem, it only makes the explorer usable again.

Ktree lists the stubs for the KERNEL32:*ActCtx* functions.

This post has been edited by schwups: 10 February 2013 - 11:26 AM


#163 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 10 February 2013 - 11:49 AM

Running µTorrent 3.0: Main Problem: The downloads aren't saved - The download folder remains empty. 




Kstub822.log: NTdll.dll:NTAllocateVirtualMemory=t6=

Configuration: stable Kstub822  - *ActCtx* functions commented out



#164 User is offline   jumper 

  • Masters HJ/TJ'er (back in training)
  • PipPipPip
  • Group: Members
  • Posts: 361
  • Joined: 21-January 11
  • OS:98SE
  • Country: Country Flag

Posted 11 February 2013 - 10:32 PM

> > If you have an NT2K mode that sticks [...]

> All the attempts don't work. All the specfic compatibility modes don't stick!

If you are saying NT2K mode won't stick, and that even Win95 mode won't stick, check that the Kstub822 module names match:

    [DCFG1]
    contents=Kstub822,std,kexbases,kexbasen

    [WIN95.names]
    ComDlg32.PrintDlgExA=Kstub822.0
    ComDlg32.PrintDlgExW=Kstub822.0


#165 User is offline   jumper 

  • Masters HJ/TJ'er (back in training)
  • PipPipPip
  • Group: Members
  • Posts: 361
  • Joined: 21-January 11
  • OS:98SE
  • Country: Country Flag

Posted 12 February 2013 - 03:30 AM

View Postloblo, on 03 February 2013 - 12:17 PM, said:

I read your unedited post yesterday and choose to do the above as the safest, most foolproof and almost 100% guaranteed to work immediately method.

At the end, I got an almost 100% fix for all the crashing programs I had after hexing out actctx strings in the following dlls [....]

After doing this I had only 2 progs out of around 200 that still wouldn't run including K-Meleon 1.6. It turned out that they had those actctx strings in themselves, probably statically linked at compile with one of the above dlls, and hexing the strings out of the programs fixed them too.

So I have a perfect 100% fix for all the issues I had and can run my VST plugins relying on actctx functions.

:thumbup

I'll be reading up the rest you've written now.

Cheers.

I was pretty sure I could bait you into tackling Method 3 by using the verb "hex"! :w00t:

Now that we have one method that we know works, I'll continue pursuing the other three. I'm sure Method 4 works, but it's proving difficult to set up reliably; I think a profile that enables ActCtx rather than disabling it will work better. I'm still hoping for a Method 2 solution (e120 or e127, perhaps) that will make the other methods unnecessary.

I didn't have any apps that look for ActCtx functions, so hadn't been able to test myself. Now I've downloaded K-Meleon 1.6 and will begin testing.

Thanks you, loblo, for providing us with the first working solution to the ActCtx conundrum! :thumbup

#166 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 03:58 AM

View Postschwups, on 10 February 2013 - 11:49 AM, said:

Running µTorrent 3.0: Main Problem: The downloads aren't saved - The download folder remains empty. 


Kstub822.log: NTdll.dll:NTAllocateVirtualMemory=t6=

Configuration: stable Kstub822  - *ActCtx* functions commented out
Supplement:


The ImportPatcher generats this ini Attached File  µTorren#3.0.0 26473.zip (1.03K)
Number of downloads: 1 file of µTorrent 3.0 exe. It lists many missing functions, but in comparison to the generated file of version 2.0.4 (stable with KernelEX) there are only seven functions more.

The difference:


[ntdll.dll]

NtStopProfile=
RtlUnicodeToOemN=
_chkstk=
RtlAdjustPrivilege=
NtSetIntervalProfile=
NtStartProfile=
NtSetInformationProcess=

[Patches needed]
PSAPI.DLL=Functions, Unbind



#167 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 04:08 AM

View Postjumper, on 11 February 2013 - 10:32 PM, said:

> > If you have an NT2K mode that sticks [...]

> All the attempts don't work. All the specfic compatibility modes don't stick!

If you are saying NT2K mode won't stick, and that even Win95 mode won't stick, check that the Kstub822 module names match:

    [DCFG1]
    contents=Kstub822,std,kexbases,kexbasen

    [WIN95.names]
    ComDlg32.PrintDlgExA=Kstub822.0
    ComDlg32.PrintDlgExW=Kstub822.0




[DCFG1]
contents=Kstub822,std,kexbases,kexbasen
desc=Base enhancements


[WIN95.names]
ComDlg32.PrintDlgExA=Kexstubs.0
ComDlg32.PrintDlgExW=Kexstubs.0
KERNEL32.GetVersion=kexbases.0
KERNEL32.GetVersionExA=kexbases.1
KERNEL32.GetVersionExW=kexbases.1



I'll test method 4 on a second machine. 

This post has been edited by schwups: 12 February 2013 - 05:53 AM


#168 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 07:53 AM

Quote

If you have an NT2K mode that sticks and supports KERNEL32.FindActCtxSectionStringW, NOFACSS should also stick--those are the only two dependencies:
[NOFACSS]
inherit=NT2K
desc=Win2000 SP4 (for OpenOffice)

[NOFACSS.names]
KERNEL32.FindActCtxSectionStringW=none
OpenOffice can't run with Win2K mode!   :no:  It starts with default (KernelEX is enabled) mode only.

------------------------------------------------------------------------------------------------------- 

New test of method four on the first machine with corected entries:

[WIN95.names]
ComDlg32.PrintDlgExA=Kstub822.0
ComDlg32.PrintDlgExW=Kstub822.0


The specfic compatibility modes stick.  Explorer set to "Win2000 SP4, no ActCtx (for MSVCRT 8+)":)

Unfortunately the test led to new problems.  First some things have failed on Win startup (ClamTray.exe, NVCPL.dll, AVM IGD Service...). When opening a new window the Explorer caused a not further explained error in Kernel32.dll, but afterwards the window has opened. Sometimes I've got the runtime error by moving the mouse over the start menu.  :}

Explorer set to mode "disabled" solves these errors, but it seems not a good idea. For example OpenOffice reports  "The ...swriter.exe file expects a newer version of windows". I think this applies to some KernelEX dependant apps.

A mode "default (KernelEX is enabled) or base Base enhancements, no ActCtx (for MSVCRT 8+)" could work as compromise solution.

This post has been edited by schwups: 12 February 2013 - 12:13 PM


#169 User is offline   schwups 

  • schwups
  • PipPip
  • Group: Members
  • Posts: 274
  • Joined: 11-November 09
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 11:20 AM

OK, I changed the core.ini:

[NOAC]
inherit=DCFG1
desc=Base enhancements, no ActCtx (for MSVCRT 8+)

[NOAC.names]
KERNEL32.ActivateActCtx=none
KERNEL32.CreateActCtxA=none
KERNEL32.CreateActCtxW=none
KERNEL32.DeactivateActCtx=none
KERNEL32.FindActCtxSectionStringA=none
KERNEL32.FindActCtxSectionStringW=none
KERNEL32.ReleaseActCtx=none


After I've set the Explorer to the new mode, Windows seems to run fine. OpenOffice starts, too. Reboot required.

This post has been edited by schwups: 12 February 2013 - 11:24 AM


#170 User is offline   MiKl 

  • Junior
  • Pip
  • Group: Members
  • Posts: 64
  • Joined: 01-December 11
  • OS:98SE
  • Country: Country Flag

Posted 12 February 2013 - 03:29 PM

View Postschwups, on 12 February 2013 - 11:20 AM, said:

OK, I changed the core.ini:

[NOAC]
inherit=DCFG1
desc=Base enhancements, no ActCtx (for MSVCRT 8+)

[NOAC.names]
KERNEL32.ActivateActCtx=none
KERNEL32.CreateActCtxA=none
KERNEL32.CreateActCtxW=none
KERNEL32.DeactivateActCtx=none
KERNEL32.FindActCtxSectionStringA=none
KERNEL32.FindActCtxSectionStringW=none
KERNEL32.ReleaseActCtx=none


After I've set the Explorer to the new mode, Windows seems to run fine. OpenOffice starts, too. Reboot required.


Isn't that the same as if you would commenting these entries out in the stubs.ini ??
Jumper mentioned K-Meleon a few posts up - maybe you can try if it works.

This post has been edited by MiKl: 12 February 2013 - 03:41 PM


#171 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 04:49 PM

View Postjumper, on 12 February 2013 - 03:30 AM, said:

Thanks you, loblo, for providing us with the first working solution to the ActCtx conundrum! :thumbup

I just followed your instructions. ;)

#172 User is offline   jumper 

  • Masters HJ/TJ'er (back in training)
  • PipPipPip
  • Group: Members
  • Posts: 361
  • Joined: 21-January 11
  • OS:98SE
  • Country: Country Flag

Posted 12 February 2013 - 06:03 PM

Good news: I'm posting this from K-Meleon 1.6.0 Beta2 using new Method 2 definitions. :yes:

Obstacles:
    1. FindActCtxSectionStringW
    To avoid the R6034 error, previously this function needed to be undefined. I found that declaring success also works:
    FindActCtxSectionStringW=o5e0

    2. CreateActCtxW
    Neither T nor F worked, but returning the first parameter (pointer to ACTCTX struct) works:
    CreateActCtxW=p1e0

    3. ActivateActCtx
    Once again, declaring success instead of failure was the key:
    ActivateActCtx=t2e0

After redefining each function, I relaunched KM and then checked Kstub822.log to monitor the progress.

In all three cases, the 'e0' (ERROR_SUCCESS) is probably not needed, but MSDN states "This function sets errors that can be retrieved by calling GetLastError" without limiting the scope to failure cases.

Additionally, I've deleted the two ANSI functions as they don't seem to be needed.

In summary, the new ActCtx definition set is:
[Kernel32.dll]
ActivateActCtx=t2e0
CreateActCtxW=p1e0
DeactivateActCtx=f2e
FindActCtxSectionStringW=o5e0
ReleaseActCtx=f1 

I haven't exit KM yet, but will update if DeactivateActCtx or ReleaseActCtx also need to report success.

#173 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 07:24 PM

Those new definitions look very good jumper!

I can report success running two programs I had never been able to run before.

Latest version of IFS Builder 3d: http://fractals.nsu....uilder3d_en.htm

YFract: http://yv3.bplaced.net/

:thumbup

#174 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 12 February 2013 - 07:55 PM

Even better, the VST plugins built with recent versions of Synthedit which didn't run at all without KexStub and which I had reported running but without an useable UI with the old actctx definitions... Guess what now, they now display their UI which is fully functional!!!!

:thumbup

#175 User is offline   jds 

  • -DOS+
  • PipPipPipPip
  • Group: Members
  • Posts: 595
  • Joined: 03-June 08
  • OS:98SE
  • Country: Country Flag

Posted 14 February 2013 - 01:21 AM

View Postjumper, on 12 February 2013 - 06:03 PM, said:

Good news: I'm posting this from K-Meleon 1.6.0 Beta2 using new Method 2 definitions. :yes:

Obstacles:
    1. FindActCtxSectionStringW
    To avoid the R6034 error, previously this function needed to be undefined. I found that declaring success also works:
    FindActCtxSectionStringW=o5e0

    2. CreateActCtxW
    Neither T nor F worked, but returning the first parameter (pointer to ACTCTX struct) works:
    CreateActCtxW=p1e0

    3. ActivateActCtx
    Once again, declaring success instead of failure was the key:
    ActivateActCtx=t2e0

After redefining each function, I relaunched KM and then checked Kstub822.log to monitor the progress.

In all three cases, the 'e0' (ERROR_SUCCESS) is probably not needed, but MSDN states "This function sets errors that can be retrieved by calling GetLastError" without limiting the scope to failure cases.

Additionally, I've deleted the two ANSI functions as they don't seem to be needed.

In summary, the new ActCtx definition set is:
[Kernel32.dll]
ActivateActCtx=t2e0
CreateActCtxW=p1e0
DeactivateActCtx=f2e
FindActCtxSectionStringW=o5e0
ReleaseActCtx=f1 

I haven't exit KM yet, but will update if DeactivateActCtx or ReleaseActCtx also need to report success.

Hi jumper,

I've just tried these ActCtx definitions in 'Kstub822.ini' and "contents=Kstub822,std,kexbases,kexbasen" in 'core.ini'.

Starting Open Office 3.2.1 'SCALC.EXE' produced an error R6034 and the follow-on error about 'MSVCR90.DLL' not starting. I expect the solutions from post #144 would be able to resolve this.

I then tried 'HoverIP' - worked fine.

However, when I tried SAP GUI for Java, I got the following error :

Quote

JAVAW caused an exception 03H in module KERNEL32.DLL at 016f:bff768a1.
Registers:
EAX=c0030900 CS=016f EIP=bff768a1 EFLGS=00000246
EBX=00000000 SS=0177 ESP=1845e5c8 EBP=1845e5fc
ECX=ffffff64 DS=0177 ESI=7813220d FS=1b2f
EDX=00000000 ES=0177 EDI=00000000 GS=0000
Bytes at CS:EIP:
c3 cc cc 55 8b ec 56 57 68 c0 d4 fc bf e8 01 d9
Stack dump:
78132225 3fcdce11 00000000 78130000 81d55e8c 0000000a 00000004 1845e5cc 1845e3e0 1845e7c4 78138ad1 5f9360b5 fffffffe 1845e7d4 78132337 78130000

Joe.

#176 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 14 February 2013 - 05:41 AM

Joe, it's the FindActCtxSectionStringW definition which appears to be not good enough. You may want to hex that string in msvcr90 to something else as to fix your problem for now.

I am now also able to run the excellent GraphStudioNext: https://code.google....ph-studio-next/

#177 User is offline   jumper 

  • Masters HJ/TJ'er (back in training)
  • PipPipPip
  • Group: Members
  • Posts: 361
  • Joined: 21-January 11
  • OS:98SE
  • Country: Country Flag

Posted 14 February 2013 - 06:07 AM

View Postschwups, on 10 February 2013 - 11:49 AM, said:

Running µTorrent 3.0: Main Problem: The downloads aren't saved - The download folder remains empty.




Kstub822.log: NTdll.dll:NTAllocateVirtualMemory=t6=

Configuration: stable Kstub822 - *ActCtx* functions commented out

Shame on µTorrent 3.0. NTAllocateVirtualMemory is a Windows Native System Services routine; apps should be calling VirtualAlloc instead.

You can try using some of the other return codes as documented at MSDN, but I think this function will require a full Wine implementation.

#178 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 14 February 2013 - 06:09 AM

Reporting success running Cathy 2.31 which relies on msvcr100.dll and mfc100.dll: http://www.mtg.sk/rva/Cathy231.zip :thumbup

#179 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 14 February 2013 - 03:04 PM

View Postschwups, on 10 February 2013 - 11:49 AM, said:

Running µTorrent 3.0: Main Problem: The downloads aren't saved - The download folder remains empty. 

By now I have come across a few apps who don't appear to be able to read or write or both. There is implementation of new file I/O APIs in KernelEx as well as fixes for file I/O APIs already present in 98/ME but I think something might still not be complete there. And I suspect that the well known Firefox issue missing History and Bookmarks might be related.

#180 User is offline   jumper 

  • Masters HJ/TJ'er (back in training)
  • PipPipPip
  • Group: Members
  • Posts: 361
  • Joined: 21-January 11
  • OS:98SE
  • Country: Country Flag

Posted 15 February 2013 - 11:42 PM

After much definition testing, I was unable to find one for FindActCtxSectionStringW that would appease Msvcrt90.

The ActCtx definitions were introduced way back in post #10 and schwups first reported problems with it in post #15. Joe traced the main problem to FindActCtxSectionStringW in post #25. Clearly including FindActCtxSectionStringW was a big mistake (mine!), as no app is known to need it.

Removing FindActCtxSectionStringW, retaining the other new definitions, and adding similar new definitions for the rest of the (non-Find*) ActCtx clan, we get:
[Kernel32.dll]
ActivateActCtx=o2e0
AddRefActCtx=z1
CreateActCtxA=p1e0
CreateActCtxW=p1e0
DeactivateActCtx=o2e0
GetCurrentActCtx=f1e ; needs code for success
IsolationAwareCleanup=z0 ; for ActCtx/manifest
QueryActCtxSettingsW=o7e0
QueryActCtxW=o7e0
ReleaseActCtx=z1
ZombifyActCtx=o1e0 

Using these "Method 2" definitions, we shouldn't need method 4 (or 3). So here is a Core.ini that reverts nearly back to the original:
Spoiler

The only differences are:
[ApiConfigurations]
default=0

[DCFG1]
contents=Kstub822,std,kexbases,kexbasen
desc=Base enhancements

[DCFG1.names.98]
ComDlg32.PrintDlgExA=Kstub822
ComDlg32.PrintDlgExW=Kstub822

[DCFG1.names.Me]
ComDlg32.PrintDlgExA=Kstub822
ComDlg32.PrintDlgExW=Kstub822 

I'm hoping to assemble this week a release package for Kexstubs that will be easy to install. I'll be reviewing Kstub822.ini and preparing a stubs.ini that has logging disabled and any last definitions that should go in. All suggestions are very welcome! :yes:

Share this topic:


  • 12 Pages +
  • « First
  • 7
  • 8
  • 9
  • 10
  • 11
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

4 User(s) are reading this topic
0 members, 4 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy