Jump to content

Start Me Up

Member
  • Posts

    44
  • Joined

  • Last visited

  • Days Won

    2
  • Donations

    0.00 USD 
  • Country

    Germany

Everything posted by Start Me Up

  1. According to the documentation the "Length"-field and the "MaximumLength"-field are values in bytes. This explains why the maximum path length with the "\\?\"-trick is a little bit over 32,000 characters (which is about 64 KB).
  2. They can also be extracted without third party tools: open a command prompt (cmd.exe) drag and drop the kb...exe into the command prompt window add " -x" or " -c" (c with old updates, x with new updates) to add the command line parameter hit [enter]
  3. The restriction you addressed in the FAT32 file system and the NTFS file system is probably the most difficult part to solve. Since these 2 file systems allow no object names (folder names or file names) longer than 256 characters, it will be a problem storing longer names if the file system driver prevents it. Your suggested solution to shorten long object names leads to truncated names and looses the uniqueness of the names. Once a name is shortened the truncated part is lost and we might have 2 folders or 2 files with the same name. --- There is an easier part where at least some progress can be achieved: Some of the functions restrict the caller to max_path for the total path name (not the object name), even though there doesn't seem to be a good reason. So it might be the case, that these restrictions can be lifted. However, some functions return a path and the caller might provide a buffer, that can take no more than max_path characters. These functions are more problematic, because we don't want to create buffer overruns. Here is the list of functions, which don't return paths: CopyFile2 CopyFileExW CopyFileW CreateDirectoryExW CreateDirectoryW CreateFile2 CreateFileExW CreateFileW CreateHardLinkW CreateSymbolicLinkW DeleteFileW GetCompressedFileSizeW GetFileAttributesExW GetFileAttributesW GetFullPathNameW GetLongPathNameW MoveFileExW MoveFileW MoveFileWithProgressW RemoveDirectoryW ReplaceFileW SetCurrentDirectoryW SetFileAttributesW Here is the list of functions, which return paths: FindFirstFileExW FindFirstFileNameW FindFirstFileW FindFirstStreamW FindNextFileNameW FindNextFileW FindNextStreamW GetCurrentDirectoryW GetFinalPathNameByHandleW SearchPathW --- Well, if you are talking about KernelEx for Windows 98 and Windows Millenium, we might also consider looking into the slim-character versions of the functions (for example RemoveDirectoryA) and not just the wide-character versions (for example RemoveDirectoryW). I don't know a good reason, why long paths should be limited to a specific character set used.
  4. I can't find much information on KB2839299. Do you have a little bit extra on what was changed in fltmgr.sys?
  5. If noone has cataloged them, then I probably have to go through them one by one.
  6. Well, yes. I am also aware of the collections you uploaded to archive.org. But I was hoping that someone has cataloged the updates to know what's inside. It's still a long way from the state of having links to updates to the state of knowing which updates contain versions of win32k.sys. However, knowing the links is the first step. I have cataloged more than 400 Windows 2000 updates, but nearly no Windows XP updates.
  7. Hello, as you are probably aware, Windows has problems with long paths (total length > 260 characters). --- In old Windows versions there is the "\\?\"-trick, which helps in a few situations: --- Starting with Windows 10, it is possible to allow specific applications to use longer paths. According to the documentation, Microsoft modified specific functions of the API to allow using longer paths for specific applications in Windows 10. So the list of functions is rather interesting. And here it is: CopyFileW CopyFile2 CopyFileExW CreateDirectoryW CreateDirectoryExW CreateFileW CreateFile2 CreateHardLinkW CreateSymbolicLinkW DeleteFileW FindFirstFileNameW FindFirstFileW FindFirstFileExW FindFirstStreamW FindNextFileNameW FindNextFileW FindNextStreamW GetCompressedFileSizeW GetCurrentDirectoryW GetFileAttributesW GetFileAttributesExW GetFinalPathNameByHandleW SetFileAttributesW GetFullPathNameW GetLongPathNameW MoveFileW MoveFileExW MoveFileWithProgressW RemoveDirectoryW ReplaceFileW SearchPathW SetCurrentDirectoryW --- Is anyone aware of any pioneer work that has been done to improve the situation with Windows versions older than Windows 10?
  8. No, it didn't. No, it doesn't. No, it doesn't. No, it doesn't. No, it doesn't. No, it doesn't. After this update I stopped checking any further updates of your list. It seems as if Gemini is too buggy to create the list of updates.
  9. Is the problem with int 13h during the part of the booting process before the driver even loaded?
  10. Sorry for the misunderstanding, but I am looking for updates that I haven't listed, yet. There should be something like 10 or 20 different versions of win32k.sys. But I know only the 3 I listed.
  11. Hello Windows 2000 fans, when using vanilla Windows 2000 with a rather new version of win32k.sys, there is a bug in the function "fsg_RunPreProgram" which reduces that drawing quality of some fonts. This bug was fixed with the version 5.00.2195.7610 by Microsoft. However, it was reintroduced into the operating system shortly afterwards, so it still exists in the newest version of win32k.sys (5.00.2195.7640). To fix this bug there are 2 ways: Use Extended Kernel 3.1H or newer. Blackwingcat fixed this bug. If you don't like or can't install Extended Kernel, there is now a second option available: WINDOWS2000-OTSKB3037639-V1-X86-INTL.exe There is an article in the knowledge database available with more information on the nature of this bug. There is some more auxilliary information available, which I do not plan to distribute among end users: code.htm --- If someone likes to help with an upcoming Windows 2000 update: I am looking for Windows XP updates which contain a version of win32k.sys. My list of known updates is currently pretty short: KB3013455 contains version 5.1.2600.6712 KB3034344 contains version 5.1.2600.6755 KB4039384 contains version 5.1.2600.7334 Thank you.
  12. I think you are facing the problem that there is a specific version as a minimum requirement in the exe file. exe files, dll files and sys files are in the portable executable 32 file format. Open the file with a hex editor. The first byte (at the offset 0x0) should have the value "0x4d" ("M"). The second byte (at the offset 0x1) should have the value "0x5a" ("Z"). The 4 bytes at the offset 0x3c should contain a little endian encoded integer. Something like "12 34 56 78" which is 0x78563412. Use the integer as an offset in the file. The offset should point to a byte with the value "0x50" ("P"). The next byte should have the value "0x45" ("E"). The next byte should have the value "0x00". The next byte should also have the value "0x00". Check the 4 bytes starting at the offset from the integer + 0x40. If the file is for Windows 2000, then it should have the value "05 00 00 00". If the file is for Windows XP, then it should have the value "05 00 01 00". Reduce it to "04 00 00 00" to reduce the requirement to Windows NT 4.0. Check the 4 bytes starting at the offset from the integer + 0x48. Reduce it to "04 00 00 00". Save the file. Do not reduce the value below "03 00 01 00". --- Description of the file format: http://ontheserver.de/Downloads/entpackt/Dokumentationen/Programmierung/Betriebssystem-spezifische/Windows/Dateiformate/ausführbare Dateien und Bibliotheken/deutsch.htm
  13. I think blackwingcat made TLS 1.3 indirectly available to Windows 2000, already. According to Wikipedia support for TLS 1.3 was added to OpenSSL 1.1.1. This version is downloadable from https://win2k.org/wlu/wluen.htm for Windows 2000. However, OpenSSL is not the native implementation of SSL/TLS for Windows 2000. The native SSL implementation of Windows 2000 is called "Secure Channel" ("schannel.dll"). According to Wikipedia support for TLS 1.3 was added to Secure Channel for releases of Windows 11 and Windows Server 2022. Another thing I just stumbled over is an update for Windows Embedded POSReady 2009: KB3055973 It adds support for TLS 128-bit & 256-bit Advanced Encryption Standard (AES) cipher suites. I don't know whether this helps in this context but it might.
  14. Hello Anton12, you addressed your request to blackwingcat personally. Since he didn't respond for a while now, I will share my thoughts which might or might not help in getting somewhat forward with the issue. The standard "TLS 1.3" was published in 2018. The last official updates for Windows 2000 are from 2016. The last updates for Windows XP are from 2017 (I think). However, there were still updates published for Windows Embedded POSReady 2009 back in 2018. Windows Embedded POSReady 2009 is based on Windows XP and therefore is somewhat compatible with Windows 2000. So it would make sense to check whether there is an update for Windows Embedded POSReady 2009 which adds support for TLS 1.3. It would be a start to work on a solution for Windows 2000. If there is no such update, then it would be nice to know, when and how Microsoft added support for TLS 1.3 to Windows/Internet Explorer for a version as close as possible to what we have in Windows 2000. This type of research can be done without having any skills in programming. But it still helps the person whoever ends up writing the patch. There aren't many who have the skills to backport new features and write a clean and working update for end users. So the todo list of those persons are usually pretty full. Any help to reduce the burden from the bottle neck is often appreciated. Adding support for TLS 1.3 support in principle is one thing. A clean integration into the operating system is another thing. For example being able to activate/deactive support through the internet options like with the other standards would be nice, too. However, it adds more work to the undertaking.
  15. The tests on a Windows Embedded for Point of Service (32 bits) machine are complete and have shown, that the Windows XP (32 bits) update can not be used in Windows Embedded for Point of Service (32 bits). So there is a separate update available, now. The update "WINDOWSXP-OTSKB000001-V2-X86-EMBEDDED-INTL.exe" has been released to the general public. The help file "OTSKB.chm" has been updated accordingly. The code comparison file "code.htm" has not been changed. --- Edit: There are links to new versions in the first post. --- things to do: Windows Server 2003 update: add the version "5.2.3790.6946" of the file "win32k.sys" to "code.htm" add the version "5.2.3791.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: add the version "5.1.2600.7684" of the file "win32k.sys" to "code.htm" add the version "5.1.2602.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  16. Thank you. --- The update "WINDOWSXP-OTSKB000001-V2-X86-INTL.exe" has been released to the general public. The help file "OTSKB.chm" and the code comparison file "code.htm" have been updated accordingly. --- This update is for Windows XP (32 bits) users. However, in theory it can also be used by Windows Embedded for Point of Service (32 bits) users. However, it was tested on Windows XP (32 bits). No tests have been done on Windows Embedded for Point of Service (32 bits). Also, this update announces itself as a Windows XP update in the title bar during the installation and deinstallation and in control panel -> software. I know, this is not perfect, but it's the best I have so far. Edit: see next post --- things to do: Windows Server 2003 update: add the version "5.2.3790.6946" of the file "win32k.sys" to "code.htm" add the version "5.2.3791.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: add the version "5.1.2600.7684" of the file "win32k.sys" to "code.htm" add the version "5.1.2602.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  17. The update "WINDOWS2000-OTSKB000001-V7-X86-INTL.exe" has been released to the general public. The help file "OTSKB.chm" and the code comparison file "code.htm" have been updated accordingly. --- There will probably be a slight update for Windows XP users, soon (WINDOWSXP-OTSKB000001-V2-X86-INTL.exe). --- things to do: Windows XP + Windows Embedded for Point of Service update: add the version "5.1.2601.0001-V2" of the file "win32k.sys" to "code.htm" (edit: done) add the update "Windows XP/OTSKB000001-V2" to the help file write the update test it release it Windows Server 2003 update: add the version "5.2.3790.6946" of the file "win32k.sys" to "code.htm" add the version "5.2.3791.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: add the version "5.1.2600.7684" of the file "win32k.sys" to "code.htm" add the version "5.1.2602.0001-V1" of the file "win32k.sys" to "code.htm" add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  18. The update "WINDOWSXP-OTSKB000001-V1-X86-INTL.exe" has been released to the general public. The help file "OTSKB.chm" and the code comparison file "code.htm" have been updated accordingly. --- There will probably be a medium update for Windows 2000 users, soon (WINDOWS2000-OTSKB000001-V7-X86-INTL.exe) and a slight update for Windows XP users (WINDOWSXP-OTSKB000001-V2-X86-INTL.exe). --- things to do: Windows 2000 update: Write the version "5.00.2196.0001-V7" of the file "win32k.sys". Then update "code.htm". add the update "Windows 2000/OTSKB000001-V7" to the help file write the update test it release it Windows XP update: Write the version "5.1.2601.0001-V2" of the file "win32k.sys". Then update "code.htm". add the update "Windows XP/OTSKB000001-V2" to the help file write the update test it release it Windows Server 2003 update: Analysis of the version "5.2.3790.6946" of the file "win32k.sys". Then update "code.htm". Write the version "5.2.3791.0001-V1" of the file "win32k.sys". Then update "code.htm". add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: Analysis of the version "5.1.2600.7684" of the file "win32k.sys". Then update "code.htm". Write the version "5.1.2602.0001-V1" of the file "win32k.sys". Then update "code.htm". add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  19. A very small bit of news: The update "WINDOWS2000-OTSKB000001-V4-X86-INTL.exe" has been released to the general public. Users of version 3 are advised to update to version 4. The help file "OTSKB.chm" has been updated slightly. --- things to do: Windows XP update: Analysis of the version "5.1.2600.7334" of the file "win32k.sys". Then update "code.htm". Write the version "5.1.2601.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows XP/OTSKB000001-V1" to the help file write the update test it release it Windows Server 2003 update: Analysis of the version "5.2.3790.6946" of the file "win32k.sys". Then update "code.htm". Write the version "5.2.3791.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: Analysis of the version "5.1.2600.7684" of the file "win32k.sys". Then update "code.htm". Write the version "5.1.2602.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  20. Oh, I am sorry. Yes, you are right. The file "Windows XP No SSE2 Patch Rollup.zip" is in the directory "POSReady 2009" of the Windows XP post SP3 update pack. --- The analysis of the newest version (5.1.2600.7334) of the file "win32k.sys" from the Windows XP update is now complete. The file "code.htm" has been updated. There are no big surprises in this version. It's basicly just another buggy version which needs to be fixed. The code is more or less the same as in Windows 2000 or any other Windows version. --- A bug has been found in the version "5.00.2196.0001-V3" of the file "win32k.sys" for Windows 2000. That is why the version "5.00.2196.0001-V4" has been added to the file "code.htm". Even though only a single machine instruction has been changed, it will still go through some testing before the update "WINDOWS2000-OTSKB000001-V4-X86-INTL.exe" will be released to the general public. However, the help file has already been updated. --- things to do: Windows 2000 update: Write the version "5.00.2196.0001-V4" of the file "win32k.sys". Then update "code.htm". add the update "Windows 2000/OTSKB000001-V4" to the help file write the update test it release it Windows XP update: Analysis of the version "5.1.2600.7334" of the file "win32k.sys". Then update "code.htm". Write the version "5.1.2601.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows XP/OTSKB000001-V1" to the help file write the update test it release it Windows Server 2003 update: Analysis of the version "5.2.3790.6946" of the file "win32k.sys". Then update "code.htm". Write the version "5.2.3791.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows Server 2003/OTSKB000001-V1" to the help file write the update test it release it Windows Embedded POSReady 2009 update: Analysis of the version "5.1.2600.7684" of the file "win32k.sys". Then update "code.htm". Write the version "5.1.2602.0001" of the file "win32k.sys". Then update "code.htm". add the update "Windows Embedded POSReady 2009/OTSKB000001-V1" to the help file write the update test it release it
  21. Thank you very much, MilkChan. --- I added the 3 variants of KB4039384 to the help file and treat them as separate updates with separate download links: "Windows XP/KB4039384", "Windows Embedded for Point of Service/KB4039384" and "Windows Embedded POSReady 2009/KB4039384" --- zip file? Which zip file? I have no zip file with this name. Anyway, I found them on Microsoft's server. --- I like the naming scheme of Microsoft: If it's the same update, but for a different operating system, then the name of the update is the same, but the operating system prefix is different. So there will be no "Windows 2000 + Windows XP/OTSKB000001-V4" update and no "Windows XP/OTSKB000002" but rather a "Windows 2000/OTSKB000001-V3" update and a "Windows XP/OTSKB000001-V1" update. --- things to do: analysis of the updates "Windows XP/KB4039384', "Windows Server 2003/KB4516665" and "Windows Embedded POSReady/KB4493927" to check whether there are any changes to the function "CreateXlateObject" and what the offsets are. Then update "code.htm". add the update "Windows XP/OTSKB000001" to the help file write the update "Windows XP/OTSKB000001" add the update "Windows Server 2003/OTSKB000001" to the help file write the update "Windows Server 2003/OTSKB000001" add the update "Windows Embedded POSReady 2009/OTSKB000001" to the help file write the update "Windows Embedded POSReady 2009/OTSKB000001"
  22. Oh, I see. That is a problem. So "Windows XP/KB4493927" not an Windows XP update and I can't just advise all Windows XP users to add the value to their registry and install the update or some will end up with a machine that doesn't boot anymore. I will call the update "Windows Embedded POSReady 2009/KB4493927" from now on. So basicly, when we talk about Windows XP (32 bits), then we are dealing the 3 different operating systems: Windows XP (32 bits) Windows Embedded for Point of Service (32 bits) Windows Embedded POSReady 2009 (32 bits). It just happens to be the case, that users of Windows XP are able to install updates for Windows Embedded POSReady 2009, if their CPU supports SSE2 and they got the POSReady key in their registry. --- The help file has been corrected accordingly. --- The update "Windows Server 2003/KB4516665" has been added to the help file. However, I was not able to find any security related reports on this update (like MS12-345 or CVE-1234-5678). -- That would be helpful. Thank you. --- Well, I guess I won't be releasing version 4 of OTSKB000001 but rather OTSKB000002, OTSKB000003 and OTSKB000004. So it's one update per operating system and not one update for many operating systems. So OTSKB000001 will still be the Windows 2000 update. OTSKB000002 will be the Windows XP (32 bits) update. OTSKB000003 will be the Windows Server 2003 (32 bits) update. OTSKB000004 will be the Windows Embedded POSReady 2009 (32 bits) update (but it will also work on Windows XP (32 bits) if the user has the value in the registry). --- things to do: add the update "Windows XP/KBxy" to the help file (it's the unknown update that MilkChan will hopefully find) analysis of the updates "Windows XP/KBxy', "Windows Server 2003/KB4516665" and "Windows Embedded POSReady/KB4493927" to check whether there are any changes to the function "CreateXlateObject" and what the offsets are. Then update "code.htm". add the update "Windows XP/OTSKB000002" to the help file write the update "Windows XP/OTSKB000002" add the update "Windows Server 2003/OTSKB000003" to the help file write the update "Windows Server 2003/OTSKB000003" add the update "Windows Embedded POSReady 2009/OTSKB000004" to the help file write the update "Windows Embedded POSReady 2009/OTSKB000004"
  23. Once again: Thank you very much, MilkChan. You deserved yourself a spot in the acknowledgements list of the update "OTSKB000001" and have been added to the help file. I am now able to make the update "OTSKB000001" compatible with Windows XP and Windows Server 2003. --- Yes, I need to analyse all language editions of the file win32k.sys. Or at least that was necessary in Windows 2000. --- I noticed, that installing the update "Windows XP/KB4493927" in a vanilla Windows XP system is not possible. To allow installing this update the key "POSready" and the value "Installed" need to be in the registry. So I added the update to the help file and added a note in the subtopic "system requirements" as a help with the installation. --- things to do: add the update "Windows Server 2003/KB4516665" to the help file analysis of the updates "Windows XP/KB4493927" and "Windows Server 2003/KB4516665" to check whether there are any changes to the function "CreateXlateObject" and what the offsets are. Then update "code.htm". add version 4 of the update "OTSKB000001" to the help file write the version 4 of the update "OTSKB000001"
  24. Thank you very much, MilkChan. I already used the file from Windows Server 2008 to verify whether the bug still exists. It does exist even in Windows Server 2025. But knowing which update contains the latest version of win32k.sys allows me to write an update for XP and Windows Server 2003, too. Otherwise I would be patching an old version which has other bugs. So, yes, I am interested in knowing the latest update which contains the win32k.sys for Windows Server 2003, too. At the moment I will stick with the 32 bit versions. I do not have much experience in writing 64 bit code. So I don't want to risk messing up someone's system.
  25. The update "WINDOWS2000-OTSKB000001-V3-X86-INTL.exe" has been released to the general public today. --- The updater was written from scratch and therefore does not cause copyright problems: updater-V3.png --- The help file "OTSKB.chm" was updated and is available as a separate file. But it is also included in the update (click on the "open the help file" button). --- The code comparison file "code.htm" was updated to include the version 3 changes. It's probably the final version. Well, at least if nothing unexpected comes up.
×
×
  • Create New...