Assembly 哪一行定义颜色?

Assembly 哪一行定义颜色?,assembly,x86,Assembly,X86,我在汇编中有这个代码,它基本上会在游戏中打印一条灰色消息 代码如下: 我的问题是哪一行代码定义了灰色?可能是这一行中的7: mov byte ptr [ebp+var_4], 7 但这只是一个胡乱猜测,因为事实上7在过去是浅灰色的 事实是,我们无法通过查看这段反汇编代码的微小片段来判断这段代码的功能。 这是机器语言;一切都用位和字节表示。 不仅仅是颜色,还有数字、字符、形状、地理坐标、日期、时间,甚至代码本身。 你得弄清楚哪个是哪个 我通常从猜测开始(见上文),如果猜测失败,我将尝试更彻底的

我在汇编中有这个代码,它基本上会在游戏中打印一条灰色消息

代码如下:


我的问题是哪一行代码定义了灰色?

可能是这一行中的
7

mov byte ptr [ebp+var_4], 7
但这只是一个胡乱猜测,因为事实上7在过去是浅灰色的

事实是,我们无法通过查看这段反汇编代码的微小片段来判断这段代码的功能。 这是机器语言;一切都用位和字节表示。 不仅仅是颜色,还有数字、字符、形状、地理坐标、日期、时间,甚至代码本身。 你得弄清楚哪个是哪个

我通常从猜测开始(见上文),如果猜测失败,我将尝试更彻底的反向工程。 只需遵循数据;最终注入相关BIOS调用或(内存映射)I/O地址的字节必须是颜色。 这条数据线索可能很长,很曲折;
您将需要分析更多的代码,而不仅仅是这几行。

在我询问之前,我已经尝试过修改“7”。总的来说,颜色在汇编中是如何定义的?@暂停它们不是。@暂停:那么你应该在问题中这样说,这样人们就会知道已经尝试了什么。从代码中,它有点让我想起了
printf
函数族,首先调用一些带有格式字符串和值的格式化程序。是否检查了从
StringPool\uuu GetString
返回的字符串值,格式字符串是否不包含用于更改颜色的额外控制字符?比如,或者一些自定义方案。当然,另一个选项是被调用的例程总是打印一个灰色字符串,而这段代码与此无关。我投票关闭这个问题,因为它属于打开状态(如果有的话,因为几乎没有证据表明这段代码与颜色有关),也许那边的人会喜欢这个挑战,有一些有用的话要说。