引导型病毒研究与实现
系统信息¶
系统位ms-dos系统,无gui界面


进入工作目录,其中boot.asm就是我们的源程序,ml是编译器。
编译程序¶


使用debug boot.com进入debug调试模式(看到-提示符),这时boot.com被载入xxxx:0100地址,代码所在地址在xxxx:7c00
注入代码到主引导扇区¶
用debug中的“a” 命令编写汇编程序把7c00处的代码写入主引导扇区
写完代码后再键入一次回车可回到“-”提示符,此时键入g 然后回车让这段汇编程序执行

如果看到Program terminated normally就完成了,现在重启虚拟机,查看结果。

开机密码为1234
修改密码¶

找到相关的设置密码逻辑,修改为自定义密码
自行修改后,为了使该扇区必须以AA55H为结尾,则需把程序凑满512个字节(一个扇区),填充字节数 ?

我们可以对比前后密码差的字节数
重新编译,debug

继续d回车,直到地址7df0这行的最后两个字节正好为55AA即可:

可以看到我们还差一个字节

可以看到已经成功修改了密码