When I was trying to hack a program from my lecturer, I found a strange thing.
That is the memory block which should be “901C” turns into “3F”.
I am not sure why this happens, but I did some test on it. Hope it is helpful to you.
When you pass “901C” to an program by command line input of MS-DOS in Windows XP Chinese version, “901C” will automatically translated into “3F” which is a question mark.
However, this will not happened in the MS-DOS in Windows XP English version (original version).
I’ve tried other binary words. Finally, I found that if character A is greater than “7F”, it will be considered as a character using GB code. If this pair of characters is not a valid GB coded character, it will turns into a question mark which is “3F”.