我需要稍微更改 exe 中的字符串,我不再有源代码。它是用 C 写的。
我注意到 C 字符串文字似乎根本没有出现在机器代码列表中——无论如何都没有出现在原始 ASCII 中,也没有出现在 utf8/16/32 或类似的东西中。它们似乎是编码的,我猜是 32 位操作码的一部分。例如,我知道代码有 c 行: print("My string"); 通过字节 'm' 'y' ' ' 's' 等,但字符串似乎根本没有出现,甚至在任何 utf8/16/32 编码中都没有,甚至在 1/2/3/4/5 中也没有/6/7/8 每个字符之间的字节(我已经检查了所有这些组合)。
据我了解,文字可能是立即操作码,并且这些可能在非字节对齐位置具有 8 位 ASCII 值。有人知道我应该寻找什么操作码吗?目前,即使我一点一点地移动整个文件,我仍然找不到任何看起来像字符串的东西。