use*_*139 3 assembly kernel multiboot
\xe2\x80\x98checksum\xe2\x80\x99 的用途是什么?
\n\n字段 \xe2\x80\x98checksum\xe2\x80\x99 是一个 32 位无符号值,当添加到其他魔术字段(即 \xe2\x80\x98magic\xe2\x80\x99 和 \xe2\x80\ x98flags\xe2\x80\x99),必须有一个 32 位无符号和为零。
\n\ndd 0x100000000 - (0xe85250d6 + 0 + (header_end - header_start))\nRun Code Online (Sandbox Code Playgroud)\n
目的是验证多重引导标头实际上是多重引导标头。幻数0xE85250D6不足以验证这一点,因为该幻数可能偶然出现,也可能在非多重引导可执行文件中设计。例如,用于处理多重引导可执行文件的程序可以很容易地在其中的某个地方包含这个幻数。
其目的不是检测错误,因为仅检查多重引导头是否损坏是没有意义的。如果可能发生损坏,则需要验证整个可执行文件。