Jump to content

KernelEx for Win2000


Recommended Posts

Happy new year. :thumbup
I planed to customize Windows 2000 kernel32.dll.

Download site(Japanese)

v2
kernel is only prevent from appear ".exe is not a valid Win32 application".
v5
kernel extends some functions.
v10b
kernel extends more functions and add customized wtsapi32.dll.
* English version released on 1st Feb(v10/a has bug. please download v10b).
* Italian version released on 26th Jun.
* Traditional Chinese version has problem( v10b3 Fixed Jun 26th)
v11e
Added RtlCaptureStackBackTrace, GetSystemWow64DirectoryA, GetSystemWow64DirectoryW and GetHandleContext in kernel32.dll.
Advapi32.dll supported SystemFunction036 and TraceMessage(stub),fixed SetServiceStatus.
Packed with ntdll.dll and setupapi.dll
v12b
Added WTSGetActiveConsoleSessionId, in kernel32,
 Fixed user32.dll null pointer problem.
v13i
Added FreeAddrInfoW, freeaddrinfo, getaddrinfo, getnameinfo in ws2_32.dll.
Added RemoveVectoredExceptionHandler, AddVectoredExceptionHandler in kernel32.
v15
Added WSANSPIoctl in ws2_32.dll.
Added RtlCaptureContext, GetGeoInfoW, GetUserGeoID in kernel32.
Added GetAdaptersAddresses, Icmp6CreateFile, Icmp6ParseReplies, Icmp6SendEcho2, IcmpCloseHandle, IcmpCreateFile, IcmpParseReplies, IcmpSendEcho2, IcmpSendEcho, CancelIPChangeNotify in iphlpapi.
Added CryptStringToBinaryA, CryptStringToBinaryW, CryptBinaryToStringA, CryptBinaryToStringW int CRYPT32.
Added IsUserAnAdmin, SHParseDisplayName, SHGetFolderPathAndSubDirW, SHOpenFolderAndSelectItems in Shell32.
Expanded SHFolder My Music, My Video, CDBurn, OEMLink Folder.
Added IsWindowInDestroy, DefRawInputProc, GetRawInputBuffer, GetRegisteredRawInputDevices, GetRawInputDeviceInfoA, GetRawInputDeviceInfoW, GetRawInputDeviceList, GetRawInputData, RegisterRawInputDevicesGetWindowRgnBox, MessageBoxTimeout in user32.
Added FlushTraceW in advapi32.dll
v15l
Added rpcrt4.dll (based on WildBill's hotix)
Added GetGeoInfoA in kernel32.
Added DnsFree in dnsapi.
Added A_SHAFinal, A_SHAInit, A_SHAUpdate, MD5Update, MD5Final, MD5Init in advapi32.dll
v15p2
Added SHSetUnreadMailCountW and SHEnumerateUnreadMailAccountsW in Shell32
Added MD4Init, MD4Final, MD4Update, CredFree, CredWriteW, CredEnumerateW, CredDeleteW, CredReadW in advapi32.
Fixed SystemFunction036 compatibility in advapi32.
Added GetProcessImageFileNameA/W in psapi
Added GetSystemTimes in Kernel32
Added GetAddrInfoW in ws2_32
Fixed SystemLink Class in User32.dll
v15q
Added RpcServerInqCallAttributesW in rpcrt4
Added SHGetFolderPathAndSubDirA in shell32
Added GetVolumePathNamesForVolumeNameA/W in kernel32
Supported NoStrCmpLogical
v15r
Added IsProcessInJob in kernel32
v17c
Added Customized Userenv
Added AES128/192/256 support.
Added esent(XP)/esent97(XP) for migrated for Win2000.
add stubbed CoInternetIsFeatureEnabled, CoInternetSetFeatureEnabled urlmon.dll
add EngIsSemaphoreOwned and EngBugCheckEx in win32k.sys
Add dblhelp.dll
v17h
Add the following functions in setupapi.dll
pSetupFree
pSetupMalloc
pSetupRealloc
pSetupIsUserAdmin
pSetupUnicodeToMultiByte
pSetupMultiByteToUnicode
pSetupAcquireSCMLock
pSetupAddMiniIconToList
pSetupAddTagToGroupOrderListEntry
pSetupAppendStringToMultiSz
pSetupCaptureAndConvertAnsiArg
pSetupCenterWindowRelativeToParent
pSetupConcatenatePaths
pSetupDoesUserHavePrivilege
pSetupDuplicateString
pSetupEnablePrivilege
pSetupFreeStringArray
pSetupGetCurrentDriverSigningPolicy
pSetupGetVersionInfoFromImage
pSetupHandleFailedVerification
pSetupInfIsFromOemLocation
pSetupInstallCatalog
pSetupInstallStopEx
pSetupOpenAndMapFileForRead
pSetupOutOfMemory
pSetupQueryMultiSzValueToArray
pSetupRegistryDelnode
pSetupRetrieveServiceConfig
pSetupSetArrayToMultiSzValue
pSetupShouldDeviceBeExcluded
pSetupStringTableAddString
pSetupStringTableAddStringEx
pSetupStringTableDestroy
pSetupStringTableDuplicate
pSetupStringTableEnum
pSetupStringTableGetExtraData
pSetupStringTableInitialize
pSetupStringTableInitializeEx
pSetupStringTableLookUpString
pSetupStringTableLookUpStringEx
pSetupStringTableSetExtraData
pSetupStringTableStringFromId
pSetupStringTableStringFromIdEx
pSetupUnmapAndCloseFile
pSetupVerifyCatalogFile
pSetupVerifyFile

Add the following functions in iphlpapi.dll
DisableMediaSense
GetBestInterfaceEx
GetExtendedTcpTable
GetExtendedUdpTable
RestoreMediaSense
GetIpErrorString


v15y/v17n
added the following functions in ntdll

RtlInitUnicodeStringEx
NtDeleteBootEntry
NtModifyBootEntry
NtAddBootEntry
NtEnumerateBootEntries
NtQueryBootEntryOrder
NtQueryBootOptions
NtSetBootEntryOrder
NtSetBootOptions
NtEnumerateSystemEnvironmentValuesEx
NtTranslateFilePath
NtSetSystemEnvironmentValueEx
NtQuerySystemEnvironmentValueEx
RtlCaptureContext
vDbgPrintExWithPrefix
vDbgPrintEx
DbgPrintEx
RtlInterlockedPushListSList
RtlFirstEntrySList
RtlInterlockedFlushSList
RtlInitializeSListHead
RtlQueryDepthSList
RtlInterlockedPushEntrySList


fixed the problem of GetExtendedTcpTable and GetExtendedUdpTable.
and added GetUdpExTable2FromStack and GetTcpExTable2FromStack in iphlpapi

Added RpcServerUnregisterIfEx in rpcrt4

Added in advapi32 the following functions
SaferiChangeRegistryScope
SaferComputeTokenFromLevel
SaferGetLevelInformation
SaferCloseLevel
SaferCreateLevel
SaferIdentifyLevel
SaferSetPolicyInformation
SaferGetPolicyInformation
SaferRecordEventLogEntry
SaferSetLevelInformation
FlushTraceA
UpdateTraceW
UpdateTraceA
StopTraceW
StopTraceA
QueryTraceW
QueryTraceA
IsTokenUntrusted
EnumerateTraceGuids
GetInheritanceSourceA
TreeResetNamedSecurityInfoW
FreeInheritedFromArray
GetInheritanceSourceW
CredWriteDomainCredentialsW
CredpDecodeCredential
CredpEncodeCredential
CredIsMarshaledCredentialW
CredpConvertCredential
CredpConvertTargetInfo

Added SHGetImageList and SHCreateShellItem in shell32

Added the following functions in kernel32

GetVolumePathNamesForVolumeNameW
GetVolumePathNamesForVolumeNameA
IsProcessInJob
GetCurrentActCtx
GetThreadId
GetDllDirectoryW

v2.0a

added CoRevokeInitializeSpy and CoRegisterInitializeSpy in ole32.dll



* Sorry , v16 is still Japanese only.
English and Traditional Chinese and japanese version v15y and v2.0a are released.

But I can't debug English version. sad.gif
Will anybody check if they work ? :rolleyes:
(Don't install different language patch !)

Although I think there is no problem in v2 kernel, not sure about v5 kernel
Because of the risk, I hope that you install it on VMWare.

* The following is Action when BSoD appears,
- Enter Edit mode the Virtual Machine.
- Select target Hard disk.
- Select Map in Utility.
- Uncheck Readonly
- Copy kernel32.dll from Z:\Windows\$NtUninstallKB935839-v5$\ to to Z:\Windows\system32\ (Perhaps not Windows but Winnt).
- Close Z Drive
- Unmap Drive


Following functions. are extended on v5 kernel.

- DecodePointer
- EncodePointer
- GetNativeSystemInfo
- GetProcessHandleCount
- SetDllDirectoryW
- IsWow64Process

Following functions. are also extended on v6/7 kernel.

- IsWow64Message
- CheckRemoteDebuggerPresent
- SetDllDirectoryA
- GetModuleHandleExW
- InterlockedPopEntrySList
- InterlockedPushEntrySList
- InitializeSListHead
- InterlockedFlushSList
- QueryDepthSList


Following functions. are also extended on v8 kernel.
(You must use customized msvcr80.dll and msvcr90.dll in v8 package)

- FindActCtxSectionStringA
- FindActCtxSectionStringW


If v5 kernel has no problem, some programs which compiled on VS2010 work on Windows 2000.



And Kernel Core Project.

added the following functions

videoprt.sys
VideoPortUnlockBuffer
VideoPortLockBuffer
VideoPortFlushRegistry


ntoskrnl/ntkrnlpa
_alldvrm
_alloca_probe
_aulldvrm
_vsnwprintf
DbgPrintEx
ExfInterlockedCompareExchange64
IoCsqInitialize
IoCsqInsertIrp
IoCsqRemoveIrp
IoCsqRemoveNextIrp
IoSetCompletionRoutineEx
KeAcquireInStackQueuedSpinLockAtDpcLevel
KeDeregisterBugCheckReasonCallback
KeFlushQueuedDpcs
KeRegisterBugCheckReasonCallback
KeReleaseInStackQueuedSpinLockFromDpcLevel
RtlGetVersion
RtlRandomEx
InterlockedPopEntrySList
InterlockedPushEntrySList
ExGetCurrentProcessorCounts
ExGetCurrentProcessorCpuUsage
KeGetRecommendedSharedDataAlignment
PsGetThreadId
PsGetThreadProcessId
PsGetCurrentThread
PsGetCurrentThreadStackLimit
PsGetCurrentThreadStackBase
PsGetCurrentProcess
ObSetSecurityObjectByPointer
SeTokenObjectType
KeAreApcsDisabled


hal.dll
KeAcquireInStackQueuedSpinLock
KeReleaseInStackQueuedSpinLock

Kernel Core project English / German / Italian / Japanese / Traditional Chinese /English are available.

 

Pinned for importance - Tommy

Edited by Tommy
Pinned important thread
Link to comment
Share on other sites


Hi HardDriv'n.

v5 include v2's changing.

I think v2 works no problem(stable version).

I want someone to test v5 English version.

So..., one needs to install both the v2, and v5?

Are there instructions for English speakers in the works?

Hi, 123123123

I released v2 chinese version kernel.

Edited by blackwingcat
Link to comment
Share on other sites

The first program I've tested, or tried to install, is Chrome.

This was the output:

The procedure entry point RtlCaptureStackBackTrace could not be located in the dynamic link library KERNEL32.dll

I tried out the portable (already unpacked) version of the Chromium derivative 'SRWare Iron', and I got the same output.

I'll post back some other results later in the thread, unless of course you'd rather me PM you.

- HD

Link to comment
Share on other sites

I just installed it on my Windows 2000 and because of it, I was able to install the DirectX 9.0c Jun 2010 package without any problems at all. I believe it relied on DecodePointer, which v2 doesn't fix but v5 does. I have a theory that if it was worked on a little more, that Windows Media Center for Windows 7 would run on Windows 2000, maybe. The error message was similar to EncodePointer that it was looking for in the kernel file but it wasn't that exactly. I can't remember offhand what it was. But I'm thinking this could lead to some great things soon. Great job, blackwingcat!

Link to comment
Share on other sites

Hi, HardDriv'n.

You had better use chrome installere for Windows 2000.

I released it on My blog.

To install SRWare Iron on Windows 2000 is more easy than chrome.

Sincerely.

The first program I've tested, or tried to install, is Chrome.

This was the output:

The procedure entry point RtlCaptureStackBackTrace could not be located in the dynamic link library KERNEL32.dll

I tried out the portable (already unpacked) version of the Chromium derivative 'SRWare Iron', and I got the same output.

I'll post back some other results later in the thread, unless of course you'd rather me PM you.

- HD

Edited by blackwingcat
Link to comment
Share on other sites

Hi, SearanoX.

Is What is your saying about XBMC Media Center ?

XBMC 8.1 works on Windows 2000.

If it is another software, please tell me download link.

Sincerely.

I just installed it on my Windows 2000 and because of it, I was able to install the DirectX 9.0c Jun 2010 package without any problems at all. I believe it relied on DecodePointer, which v2 doesn't fix but v5 does. I have a theory that if it was worked on a little more, that Windows Media Center for Windows 7 would run on Windows 2000, maybe. The error message was similar to EncodePointer that it was looking for in the kernel file but it wasn't that exactly. I can't remember offhand what it was. But I'm thinking this could lead to some great things soon. Great job, blackwingcat!

Link to comment
Share on other sites

Hi blackwingcat!

I haven't tried your software yet, I will do so soon. 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 don't know, I'm just guessing. But being able to install a DirectX package that originally won't run with the original kernel file with your upgraded one, I have a feeling this could have great possibilities to get things to run on Windows 2000 that was designed for Windows XP SP3 and higher.

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

I don't know, I'm just guessing. But being able to install a DirectX package that originally won't run with the original kernel file with your upgraded one, I have a feeling this could have great possibilities to get things to run on Windows 2000 that was designed for Windows XP SP3 and higher.

Link to comment
Share on other sites

Hi WildBill.

I don't have the lists.

It requires msvcrt, kernel32, user32, advapi32 and rpcrt4 APIs.

If you want to know detail, please download WMP10 for Windows 2000 on my blog. (English, deutsch, polish, Japanese, T-Chinese are available)

Sincerely.

BWC, do you have a list handy of what api's wmp10 needs that aren't in 2k? Curious anout what it's missing

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