I need to slightly change a string in an exe which I dont have source code for anymore. It was writtin in C.
I notice that C string literals do not seem to appear in the machine code listing at all - not in raw ASCII anyway, not in utf8/16/32 or anything like that. They seem to be encoded, I am guessing as part of 32bit op-codes. For example I know the code had c line: print("My string"); by the bytes 'm' 'y' ' ' 's' etc. but the string doesnt seem to appear at all, not even in any utf8/16/32 coding, and not even with 1/2/3/4/5/6/7/8 bytes between each character (I have checked for all those combinations).
From what I understand the literals could be in immediate op-codes, and these could have the 8 bit for the ASCII value at non-byte alligned position. Anyone know what opcodes I should be looking for? At the moment I still can't find anything that looks like the strings even if I shift the whole file bit by bit.