Page 1 of 1
How come the boot sector signature of IBM PC are them?
Posted: Tue Jun 11, 2013 8:35 pm
by gapry
An IBM PC boot loader for x86-CPUs in the boot sector is by convention indicated by a two-byte hexadecimal sequence 0x55, 0xAA. Why do them use 0x55 and 0xAA, not others? Do the values mean something which is special?
Re: How come the boot sector signature of IBM PC are them?
Posted: Tue Jun 11, 2013 10:36 pm
by Antti
I cannot say for sure but maybe it is just
a magic number sequence. If looking at single bits, it has some symmetry.
Code: Select all
55h == 01010101b
AAh == 10101010b
Re: How come the boot sector signature of IBM PC are them?
Posted: Wed Jun 12, 2013 4:58 am
by sortie
It's a magic number, so it probably depends on the whatever the developers thought was useful to put there. It's a pretty bad magic number since it's pretty small and there is no checksum, so detecting whether a sector contains a MBR is pretty risky of collisions with other formats.
Re: How come the boot sector signature of IBM PC are them?
Posted: Wed Jun 12, 2013 6:33 am
by Combuster
0x55 and 0xAA are not typical numbers you would find as data in a program, nor the does the opcode combination push bp;stosb that it would otherwise represent.
Therefore, if you find it in that particular place the chances it's not been put there on purpose is negligible.