Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Contig64 v1.83 incorrectly shows wrong character (0xDE) instead of expected 'è' (0xE8)(=small'e'+graveAccent) when displaying a localized error message with an accented letter #799

Open
SwimmeRM opened this issue May 13, 2024 · 2 comments

Comments

@SwimmeRM
Copy link

SwimmeRM commented May 13, 2024

Contig64 v1.83 is incorrectly showing a wrong character (0xDE) instead of expected 'è' (0xE8)(=small'e'+graveAccent) when displaying a localized error message with an accented letter.
Also adding more screenshots showing evidence of error:

  • wrong displayed character is shown in 1st file [Contig64_v1.83_ShowingErrorMessageWithWrongCharacter(0xDE=222)ASCIIinsteadOfExpected'è'(small'e'graveAccent)(0xE8=232)_#0.png]
    Contig64_v1 83_ShowingErrorMessageWithWrongCharacter(0xDE=222)ASCIIinsteadOfExpected'è'(small'e'graveAccent)(0xE8=232)_#0
  • localized CharMap showing correct 'è' (=0xE8=232dec) presence in System Font (=8514sys.fon) and wrongly choosen character (=0xDE=222dec) in 2nd file [CharMap_ShowingCorrect'è'(small'e'graveAccent)Character&WrongChoosenOne(CapitalTHORN,Icelandic)InSystemFont_#1.png]
    CharMap_ShowingCorrect'è'(small'e'graveAccent)Character WrongChoosenOne(CapitalTHORN,Icelandic)InSystemFont_#1
  • presence of correct and expected 'è' inside localized error message is confirmed in 3rd file [Notepad_ShowingThatOriginalErrorMessage(from_System32_it-IT_KernelBase.dll.mui)IndeedHasCorrectCharacter_#2.png]
    Notepad_ShowingThatOriginalErrorMessage(from_System32_it-IT_KernelBase dll mui)IndeedHasCorrectCharacter_#2
  • (only added as a known reference because this error will be displayed on non localized OS versions when just simply trying to reproduce how issue was found on Windows 11 x64 or Windows 10 x64 clients) this should be original en-US version of localized error message that is currently displayed with wrong character (0xDE=222dec) instead of expected accented character 'è' (0xE8=232dec) in 4th file [Notepad_ShowingThatOriginalSource(EN-US)ErrorMessage(from_System32_en-US_KernelBase.dll.mui)Corresponding2ItalianDisplayedVersion_#3.png]
    Notepad_ShowingThatOriginalSource(EN-US)ErrorMessage(from_System32_en-US_KernelBase dll mui)Corresponding2ItalianDisplayedVersion_#3

P.S. Even if so far untested by me same error is very likely to be found also in x86 version of Contig v1.83.
Test results from Windows 7 SP1 x64 Ultimate client.

@SwimmeRM
Copy link
Author

SwimmeRM commented May 13, 2024

Please also note that anyway current version of Contig64 also seems able to identify that it met an unexpected character. From 1st image I attached when opening this bug you can also see that %errorlevel% contains decimal code (232=0xE8) of unexpected accented character that is wrongly displayed with another character (222=0xDE) different from expected one (see 3rd screenshot file I added initially for full version of localized error message).

14.32 06/04/2024
@NewcomerAl
Hello,
thanks for your update, please let's just continue updating this only with @ direct mentions because for this bug I already configured its Notifications at the very minimum (so only @ mentions +Close +Reopen), ok? And please note that I've no other way to directly comment more this bug because of current [ Close issue ] button I see my side my next to [ Comment ].
And obviously for making me aware of your quick-patching solution methods also described into #420 and #519, even if you haven't told me which one of the methods described there you really made me apply and so now I'm really very curious to know. ;-D
I've also tried to follow your discussion points into #420 and #519 but I guess that maybe I succeeded only in part because I'm not so strong in such kind of debugging (probably also based on using a very evolved disassembler).

Today I only came back here again only because I thought I probably understood reason behind issue I reported but now you also made quite uncertain my assumption was true.
Anyway, here is (for what if I thought I nearly understood) just like if the display of the error message was only generated for being displayed with codepage 1242 (so Windows own default one) instead of codepage 850 that is CMD default one on my Windows 7 SP1 x64 Ultimate that is a MUI (Multilingual) version but obviously originally setup only for Italy, my country, and Italian, my language. And here's a screenshot describing how I reached this partial conclusion (also related to the fact that System32\it-IT\KernelBase.dll.mui contents are written in Unicode):
Notepad_ShowingThatVerySimilarEffectsCanBeDisplayedBySimplyTemporarilyChangingCMDsessionCodePageFrom1242(Windows)BackTo850(DefaultForItaly)_#4
So, what it also means is that if my assumption was right too, then to really be sure to avoid same issue, every Sysinternals utility should, always check which is default code page being used by CMD when they're started in a such session, then upon receiving a system error message from Kernel quickly reconvert it to avoid what it seems to be a default display for a codepage 1242 (Windows default one) but back into a codepage 850 which is CMD default one for Italy.
Notepad_ShowingThatQuickPatchedVersionCanNowCorrectlyDisplay'è'accentedCharacter(AlsoPresentOnItalianKeyboards)_#5

@NewcomerAl
Copy link

NewcomerAl commented May 28, 2024

Hi, the problem with 'è' is the same like #420 and #519.
You can try to patch contig64.exe v1.83 to check yourself.

Original version:
contig64_orig

Patched version:
contig64_patched

Comparing files contig64.exe and CONTIG64P.EXE
00004F6C: FF 90
00004F6D: 15 90
00004F6E: 76 90
00004F6F: 45 90
00004F70: 02 90
00004F71: 00 90
00006073: 48 E9
00006074: 8D B2
00006075: A8 25
00006076: C8 02
00006077: FE 00
00006078: FF 90
00006079: FF 90
0002862A: 00 50
0002862B: 00 51
0002862C: 00 52
0002862D: 00 41
0002862E: 00 50
0002862F: 00 41
00028630: 00 51
00028631: 00 41
00028632: 00 52
00028633: 00 41
00028634: 00 53
00028635: 00 48
00028636: 00 83
00028637: 00 EC
00028638: 00 30
00028639: 00 BA
0002863C: 00 04
0002863E: 00 B9
0002863F: 00 01
00028643: 00 E8
00028644: 00 28
00028645: 00 B1
00028646: 00 FE
00028647: 00 FF
00028648: 00 48
00028649: 00 83
0002864A: 00 C4
0002864B: 00 30
0002864C: 00 41
0002864D: 00 5B
0002864E: 00 41
0002864F: 00 5A
00028650: 00 41
00028651: 00 59
00028652: 00 41
00028653: 00 58
00028654: 00 5A
00028655: 00 59
00028656: 00 58
00028657: 00 48
00028658: 00 8D
00028659: 00 A8
0002865A: 00 C8
0002865B: 00 FE
0002865C: 00 FF
0002865D: 00 FF
0002865E: 00 E9
0002865F: 00 17
00028660: 00 DA
00028661: 00 FD
00028662: 00 FF

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants