|
Well, I will help you analyze and modify sro_client using x32dbg to improve support for Chinese characters. Let's start with simple steps to locate and fix the problem:
Since the error message UIIT_MSG_COSPETERR_PETNAME_NOTPUT appears when you try to enter Chinese characters, the first step is to search for this message in x32dbg. You can do this by:
Open sro_client in x32dbg.
Go to the top menu and choose Search > Find all referenced text strings, then type UIIT_MSG_COSPETERR_PETNAME_NOTPUT.
You will see the exact location of this message, most likely the location of this message is related to the validation of the input characters.
Identifying the validation of characters:
Once you have reached the location associated with the error message, search the lines near it in the code; you may find validation functions (such as IsCharValid or CheckNameCharacters) related to entering characters. These functions are typically used to check for acceptable characters.
Analyze the character verification process:
When you get to the functions that check the type of characters:
You can add a breakpoint when calling the function, and then try to enter Chinese characters again.
When the program stops at the breakpoint, you can follow the code step by step using F7 and F8 to trace the internal functions.
Modify the code:
If you find that the function rejects Chinese characters based on a comparison (such as if statements that exclude certain values or ranges of characters), you can modify that comparison to remove the restrictions.
For example, if there is a condition that restricts characters to ASCII only, try changing it to include Chinese Unicode characters.
Test the code:
After modifying the restrictions, save the changes and restart sro_client. Try entering Chinese characters in the NickName and CosName fields to see if the problem is resolved
|