• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
blackwingcat

KernelEx for Win2000

879 posts in this topic

Good news, everyone!

I am happy to report that Steam works flawlessly, at least with goldsrc games. Having a bit of trouble finding servers on TFC, but that might just be my Internet connection.

EDIT: Apparently TFC can't browse servers. As well as Half-Life 2: DeathMatch doesn't start at all since there's an error.

Here's the error:

App: (pid=272)

When: 7/14/2011 @ 19:16:53.062

Exception number: c0000005 (access violation)

Edited by NothingMuchHereToSay
0

Share this post


Link to post
Share on other sites

I am waiting for simplified chinese V8 !

0

Share this post


Link to post
Share on other sites

There is v10 available already but only in Japanese :(

I really hope BlackWingCat will eventually make an English version of the newest kernel.

0

Share this post


Link to post
Share on other sites

Hi, SearanoX.

If it is Windows 7 without WMC, because the application use many registry setting and registered services.

And there aren't only any kernel32's function miss link, but also msvcrt, advapi32, WINSTA, WTSAPI32, and shell32.

Hi blackwingcat!

What I was referring to though was the Windows Media Center software that comes with Windows 7. If you copy the ehome folder which is located in C:\Windows\ehome and put it to a flash drive and copy it over to a Windows 2000 computer, it says its missing Encoding----Pointer. There was something in the middle of the two words but I can't remember offhand what they were. But I have a feeling if the kernel32 file was upgraded again, it's possible that WMC would run on Windows 2000.

I made DirectX full package 2010 June version for Windows 2000.

You can get it from my blog

It also supports XInput , XACT and XAudio2.

What a greate job! It's works very well! :thumbup :thumbup :thumbup

0

Share this post


Link to post
Share on other sites

I'm wondering though, is the Japanese installer, JUST an installer in Japanese? Could we just install it on English versions of 2000, right?

Edited by NothingMuchHereToSay
0

Share this post


Link to post
Share on other sites

I'm wondering though, is the Japanese installer, JUST an installer in Japanese? Could we just install it on English versions of 2000, right?

No, you can't do it :no:

English version is available only for kernel v5. The newest Japanese version is v10.

0

Share this post


Link to post
Share on other sites

Hello cracks,

here still running a Windows 2000 professional computer, which I mainly use to play chess.

Several new engines come with a VC2008 runtime, the procedures require the Encode / Decode-pointers in the kernel32.dll.

An upgrade to Windows XP on this machine is not a question, because on this computer still runs other licensed software, which runs only under Windows 2000, this upgrades would cost much money.

I had even thought about the possibility to patch the kernel32.dll, but I lack the skills for it.

After appropriate research, I came across this forum, where blackwingcat has fortunately been made this work.

I've tried today, with Anolis, RESHACK and other resource editors make the Windows2000-KB935839-v5-x86-ENU.exe v5 run under a German Windows 2000 professional, but without success.

I’ve created with RESHACK under "Action / Save all resources" one all.rc for Kernel32.dll from Windows2000-KB935839-v5-x86-ENU.exe and the Kernel32.dll from my current system and the structures appear identical.

But at the point of writing the German resources into the new Kernel32.dll, I have failed.

It would be very nice, if someone could give me a hint, how I minimal patch this new Kernel32.dll, so it runs on my German Windows 2000 computer.

Best regards,

Markus

0

Share this post


Link to post
Share on other sites

Lambda,

it's actually very easy and doesn't involve any resource hacking at all. Keep in mind that by installing the English kernel some system dialogs may change into English.

All you have to do is to

1. Download Windows2000-KB935839-v5a-x86-ENU.exe. It's an edited version of BWC's kernel v5 by me which follows the standard structure of M$ updates. It means that in can be slipstreamed by HFSLIP while the original one cannot. It's also easier to modify the contents of it (no CAB files inside).

2. Go to .\update folder and open update.inf.

3. Find [strings]

4.Change these values

LangTypeValue           = 9
WSEDIR = "1033"

to your language. You have to find the appropriate ones for your language, ex. 15 and 1045 for Polish.

5. Run update.exe.

Be careful! It may not run on all language versions. I tested such an installation in a Polish system and it worked. I would guess that it will work in other European language versions too. It probably won't work for East Asian (CHN,KOR,JPN) versions as the Japanese kernel doesn't work in English Win2k.

Edited by tomasz86
0

Share this post


Link to post
Share on other sites

...

it works fine!! thank you!!

I'm from time to time in poland, near Luban (DLB). if it is not too intrusive - and you live in the west of Poland - I would like to drink a beer with you!

Thank you very much!!

Best Regards,

Markus

Edit:

To contact you, i'll post a temporary available link to a qr-code with my e-mail adress ... if you want.

Edited by Lambda
0

Share this post


Link to post
Share on other sites

I released v10 kernel for English.

But I can't test on English environment.

Please test it somebody ?

0

Share this post


Link to post
Share on other sites

I have tried v10 kernel and by my results, it doesn't work. When I tried launching it in a VM, the package itself gave me an error about not being a valid Win32 application. I opened it with WinZip and forced the installation via setup.cmd, I got it installed, but now I'm in a permanent reboot loop, it doesn't even reach the login prompt or GUI for that matter.

Edited by SearanoX
0

Share this post


Link to post
Share on other sites

Thx.

I'll check this code again.

I have tried v10 kernel and by my results, it doesn't work. When I tried launching it in a VM, the package itself gave me an error about not being a valid Win32 application. I opened it with WinZip and forced the installation via setup.cmd, I got it installed, but now I'm in a permanent reboot loop, it doesn't even reach the login prompt or GUI for that matter.

0

Share this post


Link to post
Share on other sites

I fixed English version v10. and released v10a.

Thx

I have tried v10 kernel and by my results, it doesn't work. When I tried launching it in a VM, the package itself gave me an error about not being a valid Win32 application. I opened it with WinZip and forced the installation via setup.cmd, I got it installed, but now I'm in a permanent reboot loop, it doesn't even reach the login prompt or GUI for that matter.

0

Share this post


Link to post
Share on other sites

It seems to be working! The installer worked properly and I'm not stuck in an endless reboot. I haven't tested it extensively yet but I will do that now.

0

Share this post


Link to post
Share on other sites

Thank you very much. :thumbup

I also released v11 Japanese Edition.

It seems to be working! The installer worked properly and I'm not stuck in an endless reboot. I haven't tested it extensively yet but I will do that now.

Edited by blackwingcat
0

Share this post


Link to post
Share on other sites

You are very welcome! Thank you for keeping Windows 2000 alive for us!

I've been testing it and it seems stable, I haven't run into anything bad yet. I'm curious though, do you know offhand what benefits we'll get from the updated strings in the new Kernel32 v10?

0

Share this post


Link to post
Share on other sites

Sorry, what means 'updated strings '?

I've been testing it and it seems stable, I haven't run into anything bad yet. I'm curious though, do you know offhand what benefits we'll get from the updated strings in the new Kernel32 v10?

0

Share this post


Link to post
Share on other sites

I'm sorry, I really shouldn't have said updated strings. Basically I meant to ask like what added benefits will we get from the added extensions in the new kernel32. For example, are there a few more programs that will work with this new v10 kernel that wouldn't before in the v5 kernel?

Edited by SearanoX
0

Share this post


Link to post
Share on other sites

I'm sorry, I really shouldn't have said updated strings. Basically I meant to ask like what added benefits will we get from the added extensions in the new kernel32. For example, are there a few more programs that will work with this new v10 kernel that wouldn't before in the v5 kernel?

Following is update history, translated to English from my blog.

1. Windows 2000 is not supported InvariantCulture. so, any programs which based on Delphi or C++Builder show "Class xxxx not found" ( xxx is classname TBitmapImage , TEdit and so on)

Following functions use InvariantCulture. so if the application use parameter 'Invaliantculture' , it doesn't work.

CompareStringA

CompareStringW

EnumCalendarInfoA

EnumCalendarInfoExA

EnumCalendarInfoExW

EnumCalendarInfoW

EnumDateFormatsA

EnumDateFormatsExA

EnumDateFormatsExW

EnumDateFormatsW

EnumLanguageGroupLocalesA

EnumLanguageGroupLocalesW

EnumSystemCodePagesA

EnumSystemCodePagesW

EnumSystemLanguageGroupsA

EnumSystemLanguageGroupsW

EnumSystemLocalesA

EnumSystemLocalesW

EnumTimeFormatsA

EnumTimeFormatsW

EnumUILanguagesA

EnumUILanguagesW

GetCalendarInfoA

GetCalendarInfoW

GetCPInfoExW

GetCurrencyFormatA

GetCurrencyFormatW

GetDateFormatA

GetDateFormatW

GetGeoInfoW

GetLocaleInfoA

GetNumberFormatA

GetNumberFormatW

GetStringTypeA

GetStringTypeExW

GetTimeFormatA

GetTimeFormatW

IsDBCSLeadByteEx

LCMapStringA

LCMapStringW

MultiByteToWideChar

SetCalendarInfoA

SetCalendarInfoW

SetLocaleInfoA

SetLocaleInfoW

SetThreadLocale

WideCharToMultiByte

The function is embedded since v6 kernel.

I descripted the detail at my blog.

2. since v6 kernel extended following 9 APIs.

CheckRemoteDebuggerPresent

(It is used by Any games)

IsWow64Message

SetDllDirectoryA

GetModuleHandleExW

(It is used by Any applications)

InterlockedPopEntrySList

InterlockedPushEntrySList

InitializeSListHead

InterlockedFlushSList

QueryDepthSList

(It is used by Any game framework)

3. v6 kernel has a bug, so I replaced v7.

4. v8 kernel is released for MS11-025(v1). But microsoft replaced it, so I canceled this fix on v9 kernel.

5. since v9 kernel extended following 2 APIs.

AttachConsole ( some applications use for background debug.)

TzSpecificLocalTimeToSystemTime ( It is used by some applications)

6. v9 kernel includes wtsapi32.dll and it includes following 3 APIs(stub).

WTSQueryUserToken

WTSRegisterSessionNotification

WTSUnRegisterSessionNotification

Any application checked Terminal Service API. So they require these functions

6. v9 kernel has some bugs, so I replaced v10.

0

Share this post


Link to post
Share on other sites

By the way, I quickly compared the new v10a of BlackWingCat's kernel with the newest version of WildBill's kernel.

1. APIs present only in WB kernel:


AddLocalAlternateComputerNameA
AddLocalAlternateComputerNameW
AddVectoredExceptionHandler
CopyLZFile
CreateMemoryResourceNotification
CreateNlsSecurityDescriptor
CreateSocketHandle
EnumerateLocalComputerNamesA
EnumerateLocalComputerNamesW
GetCPFileNameFromRegistry
GetDllDirectoryA
GetDllDirectoryW
GetExpandedNameA
GetExpandedNameW
GetHandleContext
GetModuleHandleExA
GetProcessId
GetSystemTimes
GetSystemWow64DirectoryA
GetSystemWow64DirectoryW
GetVolumePathNamesForVolumeNameA
GetVolumePathNamesForVolumeNameW
IsValidUILanguage
LZClose
LZCloseFile
LZCopy
LZCreateFileW
LZDone
LZInit
LZOpenFileA
LZOpenFileW
LZRead
LZSeek
LZStart
QueryMemoryResourceNotification
RemoveLocalAlternateComputerNameA
RemoveLocalAlternateComputerNameW
RemoveVectoredExceptionHandler
RtlCaptureContext
RtlCaptureStackBackTrace
SetClientTimeZoneInformation
SetHandleContext
SetLocalPrimaryComputerNameA
SetLocalPrimaryComputerNameW
SetThreadUILanguage

2. APIs present only in BWC kernel:


CheckRemoteDebuggerPresent

The rest of the included APIs are the same. This list is related only to kernel32.dll. There are other files included in WB kernel too but there's no wtsapi32.dll which BlackWingCat added to his kernel.

0

Share this post


Link to post
Share on other sites

Japanese Version v13e Extended Kernel was released.

Summary

Kernel32.dll(5.0.2195.7150) Supported following functions.

DecodePointer

EncodePointer

GetNativeSystemInfo

GetProcessHandleCount

SetDllDirectoryW

IsWow64Process

IsWow64Message

CheckRemoteDebuggerPresent

SetDllDirectoryA

GetModuleHandleExW

InterlockedPopEntrySList

InterlockedPushEntrySList

InitializeSListHead

InterlockedFlushSList

QueryDepthSList

AttachConsole

TzSpecificLocalTimeToSystemTime

RtlCaptureStackBackTrace

GetSystemWow64DirectoryA

GetSystemWow64DirectoryW

GetHandleContext

GetModuleHandleExA

GetProcessId

SetThreadUILanguage

WTSGetActiveConsoleSessionId

RemoveVectoredExceptionHandler

AddVectoredExceptionHandler

ntdll.dll (5.0.2195.7083)

change for VectoredExceptionHandler

RtlCaptureStackBackTrace's bug fix

msvcrt.dll/msvcirt.dll(7.0.3790.4341) Supported following functions.

bad_cast::bad_cast(char const * const *)

bad_cast::bad_cast(char const *)

exception::exception(char const * const &,int)

void bad_cast::`default constructor closure'(void)

void bad_typeid::`default constructor closure'(void)

__uncaught_exception

__CppXcptFilter

__CxxCallUnwindDtor

__CxxCallUnwindVecDtor

__CxxDetectRethrow

__CxxExceptionFilter

__CxxFrameHandler2

__CxxQueryExceptionSize

__CxxRegisterExceptionObject

__CxxUnregisterExceptionObject

__DestructExceptionObject

___lc_codepage_func

___lc_collate_cp_func

___lc_handle_func

___mb_cur_max_func

___setlc_active_func

___unguarded_readlc_active_add_func

__crtCompareStringW

__crtGetStringTypeW

__crtLCMapStringW

__iob_func

__pctype_func

__pwctype_func

__wcserror

_abs64

_aligned_free

_aligned_malloc

_aligned_offset_malloc

_aligned_offset_realloc

_aligned_realloc

_cgetws

_cputws

_cwprintf

_cwscanf

_getwch

_getwche

_mkgmtime

_mkgmtime64

_putwch

_resetstkoflw

_rotl64

_rotr64

_scprintf

_scwprintf

_set_SSE2_enable

_snscanf

_snwscanf

_strtoi64

_strtoui64

_ungetwch

_vscprintf

_vscwprintf

_wcserror

_wcstoi64

_wcstoui64

_wctype

_wtof

Ws2_32.dll(5.0.2195.6605) supported following functions.

FreeAddrInfoW

freeaddrinfo

getaddrinfo

getnameinfo

setupapi.dll(5.0.2195.6909) supported following functions.

SetupUninstallOEMInfW(stub)

SetupUninstallOEMInfA(stub)

fixed DBCS Problem.

ADVAPI32.DLL(5.0.2195.7042) supported following functions.

SystemFunction036

TraceMessage

user32.dll(5.0.2195.7135)

fixed buffer check problem.

WTSAPI32.dll(5.0.2134.3) supported following functions.

WTSQueryUserToken

WTSRegisterSessionNotification

WTSUnRegisterSessionNotification

Soon , I'll release English version :)

Edited by blackwingcat
0

Share this post


Link to post
Share on other sites

Japanese Version v13e Extended Kernel was released.

Summary

Kernel32.dll(5.0.2195.7150) Supported following functions.

DecodePointer

EncodePointer

GetNativeSystemInfo

GetProcessHandleCount

SetDllDirectoryW

IsWow64Process

IsWow64Message

CheckRemoteDebuggerPresent

SetDllDirectoryA

GetModuleHandleExW

InterlockedPopEntrySList

InterlockedPushEntrySList

InitializeSListHead

InterlockedFlushSList

QueryDepthSList

AttachConsole

TzSpecificLocalTimeToSystemTime

RtlCaptureStackBackTrace

GetSystemWow64DirectoryA

GetSystemWow64DirectoryW

GetHandleContext

GetModuleHandleExA

GetProcessId

SetThreadUILanguage

WTSGetActiveConsoleSessionId

RemoveVectoredExceptionHandler

AddVectoredExceptionHandler

ntdll.dll (5.0.2195.7083)

change for VectoredExceptionHandler

RtlCaptureStackBackTrace's bug fix

msvcrt.dll/msvcirt.dll(7.0.3790.4341) Supported following functions.

bad_cast::bad_cast(char const * const *)

bad_cast::bad_cast(char const *)

exception::exception(char const * const &,int)

void bad_cast::`default constructor closure'(void)

void bad_typeid::`default constructor closure'(void)

__uncaught_exception

__CppXcptFilter

__CxxCallUnwindDtor

__CxxCallUnwindVecDtor

__CxxDetectRethrow

__CxxExceptionFilter

__CxxFrameHandler2

__CxxQueryExceptionSize

__CxxRegisterExceptionObject

__CxxUnregisterExceptionObject

__DestructExceptionObject

___lc_codepage_func

___lc_collate_cp_func

___lc_handle_func

___mb_cur_max_func

___setlc_active_func

___unguarded_readlc_active_add_func

__crtCompareStringW

__crtGetStringTypeW

__crtLCMapStringW

__iob_func

__pctype_func

__pwctype_func

__wcserror

_abs64

_aligned_free

_aligned_malloc

_aligned_offset_malloc

_aligned_offset_realloc

_aligned_realloc

_cgetws

_cputws

_cwprintf

_cwscanf

_getwch

_getwche

_mkgmtime

_mkgmtime64

_putwch

_resetstkoflw

_rotl64

_rotr64

_scprintf

_scwprintf

_set_SSE2_enable

_snscanf

_snwscanf

_strtoi64

_strtoui64

_ungetwch

_vscprintf

_vscwprintf

_wcserror

_wcstoi64

_wcstoui64

_wctype

_wtof

Ws2_32.dll(5.0.2195.6605) supported following functions.

FreeAddrInfoW

freeaddrinfo

getaddrinfo

getnameinfo

setupapi.dll(5.0.2195.6909) supported following functions.

SetupUninstallOEMInfW(stub)

SetupUninstallOEMInfA(stub)

fixed DBCS Problem.

ADVAPI32.DLL(5.0.2195.7042) supported following functions.

SystemFunction036

TraceMessage

user32.dll(5.0.2195.7135)

fixed buffer check problem.

WTSAPI32.dll(5.0.2134.3) supported following functions.

WTSQueryUserToken

WTSRegisterSessionNotification

WTSUnRegisterSessionNotification

Soon , I'll release English version :)

That sounds awesome! I sure hope that the English version of KernelEx is stable enough to use on Win2k! :)

0

Share this post


Link to post
Share on other sites

I released English version v13e. :)

But this version is still not tested.

0

Share this post


Link to post
Share on other sites

Thanks BlackWingCat :)

I'll test your kernel and tell you if something doesn't work properly.

0

Share this post


Link to post
Share on other sites

Thx.

I replaced it to v13e2 kernel. :)

Thanks BlackWingCat :)

I'll test your kernel and tell you if something doesn't work properly.

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.