如何从代码到十六进制到ascii

时间:2014-04-17 06:15:00

标签: assembly mips

我正在读一个有人回答的问题:Assembly language - third element points to

他们提到了 位置0x4024FFA4处的字符串读取43 4F 4D 50 55 54 45 52 00,当解释为ASCII时,可以将其解码为“COMPUTER”。请注意,每个地址的字节顺序意味着我们必须从右到左读取字节。

我正试着看看他们是如何得到0x4024FFA4到43 4F 4D 50 55 54 45 52 00.我不确定他们是怎么做到的。我能够使用asci表将十六进制代码输入计算机。但我无法弄清楚字符串代码是什么

1 个答案:

答案 0 :(得分:1)

这很简单。在没有观察正在运行的程序或者至少是反汇编的代码(如果字符串存储在静态位置)的情况下,你无法从指针(0x4024FFA4)到字符。

但通常如果你有:

char * mystring;

然后检查gdb中的mystring例如,将打印指针,它可以是任何东西(但在它们的情况下它是上面的地址)。从那里,您可以通过检查打印位置和后续地址((char )0x4024FFA4,(char )0x4024FFA5等)来获取字母。

已添加:在您链接的帖子中,您会看到第一列显示地址0x4024FFA4的内存。所以你就去那里读字符。