【发布时间】:2021-09-03 09:54:14
【问题描述】:
我正在浏览 Nick Blundell 的 os-dev。在使用 NASM 编译 引导扇区 汇编代码后,他在此查看了 bin 文件中的十六进制数据。有没有办法手动解释所有 512 字节,只需查看代码。比如说,下面是代码
mov ah,0x0E
;First attempt
mov al,the_secret
int 10h
;Second attempt
mov al,[the_secret]
int 10h
;Third attempt
mov bx,the_secret
add bx,0x7c00
mov al,[bx]
int 10h
;Fourth attempt
mov al,[0x7c1e]
int 0x10
jmp $
the_secret: db "X"
times 510 - ($ - $$) db 0
dw 0xaa55
以上代码编译后生成一个512字节的bin文件。是否可以仅通过查看代码来确定所有 512 个字节?我认为这应该是可能的,否则他不会知道 the_secret 存在于 0x7c1e。 如果可能,请指导我阅读解释这部分的相关文章。谢谢
【问题讨论】:
-
当然有可能......一切皆有可能......它可能会或可能不会很容易做到......像
is it possible?和is there any way?这样的问题总是有yes的答案,所以这样的问题是毫无意义的 -
@jsotola 至少对于上述代码是否可行?
-
@jsotola 是的,但这个问题的重点是我在网上没有找到任何解释。
标签: assembly x86 reverse-engineering bootloader mbr