Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Kext: DIY KernelEx extensions

- - - - -

  • Please log in to reply
281 replies to this topic

#201
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag
> µTorrent 3.0.0 build 26473 - According to Filehippo/horse is it no beta.

According to Oldapps.com, uTorrent 3.0.1 is Build 25815. :unsure:

You might also want to try these last Supported Versions of uTorrent for Windows Systems:
Windows ME . . . uTorrent 3.0 Build 25460
Windows 2000 . . uTorrent 3.0 Build 25824

Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs


How to remove advertisement from MSFN

#202
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag

> µTorrent 3.0.0 build 26473 - According to Filehippo/horse is it no beta.

According to Oldapps.com, uTorrent 3.0.1 is Build 25815. :unsure:

You might also want to try these last Supported Versions of uTorrent for Windows Systems:
Windows ME . . . uTorrent 3.0 Build 25460
Windows 2000 . . uTorrent 3.0 Build 25824

AFAIK the latest version running properly under 98/ME is 2.04. Filehippo does a great job at archiving old versions of software but are often rather inaccurate in the OS requirements they mention. Not sure why people are so eager to use v3 as v2.04 does such a great job.

Btw schwups has posted the Win ME iphlpapi functions before I had the time to do it myself, thanks schwups.

#203
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag
> Btw schwups has posted the Win ME iphlpapi functions before I had the time to do it myself, thanks schwups.
Ditto! :D

I was able to download ver. 4.90.3001.2 from MDGx per this SP2RC3 discussion:
> I [MDGx] suggest using newest iphlpapi.dll [build 4.90.3001.2] supported by 98/98SE/ME

I haven't tested it yet, but if 4.90.3001.2 is good on SE, Iphlpapi5 will require it instead of trying to wrap any of multiple originals.
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#204
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag

> µTorrent 3.0.0 build 26473 - According to Filehippo/horse is it no beta.

According to Oldapps.com, uTorrent 3.0.1 is Build 25815. :unsure:

You might also want to try these last Supported Versions of uTorrent for Windows Systems: Windows ME . . . uTorrent 3.0 Build 25460
Windows 2000 . . uTorrent 3.0 Build 25824


The latest version of µTorrent that works on ME and 98 is version 1.85. The information on oldApps is just plain wrong. With KernelEX 4.5.x  the version 2.0.4 runs fine. :)


Not sure why people are so eager to use v3 as v2.04 does such a great job.


Loblo -  I like 2.0 more than 3.x. Version 3 looks very retro. I use version 2.0.4. But this is a fundamental question for me. We want adapt 98 and ME to the present day and the future. Thats KernelEX. How long will, for example µTorrent 2 do its job? Several years old browsers don't show all the site contents. :)



#205
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag
K452stub - monitor and improve KernelEx' pure stubs.

Core.ini usage: contents=Kstub822,std,kexbases,kexbasen,K452stub

* K452stub.dll is a clone of Kstub822.dll that has been hexed to read from K452stub.ini and log to K452stub.log.
* K452stub.ini contains stub definitions that are equal to or slightly better than the stubs provided by KernelEx.

By monitoring K452stub.log, we can learn which KernelEx stubs are actually being called (not just satisfying the loader). Those stubs then become candidates for better stub or forward definitions or actual implementations.

To override kexbasen and kexbases, K452stub must be listed last on the contents line.

Sample output:
[K452stub]
= Advapi32.dll:OpenSCManagerA=r0xCAFEs3 =
= Kernel32.dll:HeapSetInformation=z4 ;? =
= Advapi32.dll:CryptAcquireContextW=z5 ;? =
Definitions with a return value or ending in ";?" are cloned from the KernelEx source and have not been researched further.

Edited by jumper, 26 February 2013 - 03:03 AM.

Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#206
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag

Btw I added a couple of minor definitions to my KexStub ini file:

[Kernel32.dll]
AttachConsole=f1

Works with Xaos 3.5 http://wmi.math.u-sz...u/xaos/doku.php

[SHELL32.DLL]
PathCleanupSpec=f1

Works with Lite Radio 2.3: http://hase85.wordpr...-v2-3-released/

In both cases any values would work so I did put f1 for both at the end, I am not sure if it's optimal as I frankly can't figure out those return codes yet.

Thanks! :hello: I'll add these definitions:
[Kernel32.dll]
AttachConsole=f1e ;false/fail, one param, set error

[Shell32.dll]
PathCleanupSpec=z2 ;zero flags, 2 params

Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#207
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag

K452stub - monitor and improve KernelEx' pure stubs.

Core.ini usage: contents=Kstub822,std,kexbases,kexbasen,K452stub

* K452stub.dll is a clone of Kstub822.dll that has been hexed to read from K452stub.ini and log to K452stub.log.
* K452stub.ini contains stub definitions that are equal to or slightly better than the stubs provided by KernelEx.

By monitoring K452stub.log, we can learn which KernelEx stubs are actually being called (not just satisfying the loader). Those stubs then become candidates for better stub or forward definitions or actual implementations.

To override kexbasen and kexbases, K452stub must be listed last on the contents line.

Sample output:

[K452stub]
= Advapi32.dll:OpenSCManagerA=r0xCAFEs3 =
= Kernel32.dll:HeapSetInformation=z4 ;? =
= Advapi32.dll:CryptAcquireContextW=z5 ;? =
Definitions with a return value or ending in ";?" are cloned from the KernelEx source and have not been researched further.


My first result:


Spoiler

Some more:

= Advapi32.dll:OpenSCManagerW=r0xCAFEs3 =

= User32.dll:SetLayeredWindowAttributes=z4 ;? =

 = Kernel32.dll:IsValidLanguageGroup=z2 ;? =

Edited by schwups, 12 March 2013 - 03:51 AM.


#208
togermano

togermano

    Member

  • Member
  • PipPip
  • 105 posts
Keep up the good work guys maybe i'll be able to play starcraft 2 on windows 9x someday ;)

#209
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag
For StarCraft II®: Wings of Liberty™, the Blizzard store says:

PC Minimum System Requirements*:
Windows® XP/Windows Vista®/Windows® 7 (Updated with the latest Service Packs) with DirectX® 9.0c
2.6 GHz Pentium® IV or equivalent AMD Athlon® processor
128 MB PCIe NVIDIA® GeForce® 6600 GT or ATI Radeon® 9800 PRO video card or better
12 GB available HD space
1 GB RAM (1.5 GB required for Windows Vista®/Windows® 7 users)
DVD-ROM drive
Broadband Internet connection
1024X720 minimum display resolution
*Note: Due to potential programming changes, the Minimum System Requirements for this game may change over time.
PC Recommended Specifications:
Windows Vista®/Windows® 7
Dual Core 2.4Ghz Processor
2 GB RAM
512 MB NVIDIA® GeForce® 8800 GTX or ATI Radeon® HD 3870 or better
Looks like a 9x system can just slide in with the minimum specs. Perhaps it's already possible to run it--have you (or anyone) tried? What dependencies remain to be added?
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#210
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag
I can't install new Foxit Reader 6.0.2.407. Message: "Runtime Error (at -1:0) Cannot Import dll: C:\Windows\Temp\...\FXCUSTOM.dll"

But there is a possibility to start and run it. I installed it on XP SP2 (SP1 isn't enough), copied the Foxit program folder onto the Win ME desktop. The Foxit Reader.exe needs Kstub822 with following definitions

[KERNEL32.dll]
ReleaseActCtx=z1
CreateActCtxW=p1e0
ActivateActCtx=o2e0
DeactivateActCtx=o2e0


to start. Better run it with comp.mode XP.

The ImportPatcher complains about jrsysMSCryptoDll.dll and imgseg.dll, too. The jrsysMSCryptoDll.dll is located in the plugin folder.

Printing isn't possible anymore. => The DBGHELP.dll of ME is too old. Upgrade required.

As a reminder: I'd installed already MSXML 4.0 SP2 for version 5 and I've the winhttp.dll of XP in my system folder.

Edited by schwups, 09 April 2013 - 05:07 PM.


#211
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag
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.

#212
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag

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


On filehorse.com or chip.de.



#213
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag

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, 10 April 2013 - 07:18 AM.


#214
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag

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.

#215
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag
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, 10 April 2013 - 10:28 AM.


#216
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag

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.

#217
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag
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, 12 April 2013 - 08:25 AM.


#218
MiKl

MiKl

    Member

  • Member
  • PipPip
  • 106 posts
  • OS:98SE
  • Country: Country Flag

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.

#219
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag

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, 12 April 2013 - 10:25 AM.


#220
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag


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.



#221
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag
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, 14 April 2013 - 10:27 AM.


#222
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 470 posts
  • OS:98SE
  • Country: Country Flag
> 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.
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#223
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag
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

#224
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag

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.



#225
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 409 posts
  • OS:ME
  • Country: Country Flag
Sumatra PDF 2.3.1 released:

Reverted back to SSE support for old computers. SSE2 support was required and introduced with previous version 2.3 to make Sumatra faster.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users



How to remove advertisement from MSFN