6 保护操作系统(3)(harib18f)

我们的“纸娃娃系统”终于可以成功防御crack1.hrb的攻击了,不过坏人们可不会就此善罢甘休哦,正所谓“道高一尺,魔高一丈”嘛。

站在坏人的角度,我们来想想有没有什么漏洞可以钻。操作系统会指定应用程序用的DS,因此破坏行为会发生异常,那么如果忽略操作系统指定的DS,而是用汇编语言直接将操作系统用的段地址存入DS的话,就又可以干坏事了。嘿嘿嘿。

本次的crack2.nas

  1. [INSTRSET "i486p"]
  2. [BITS 32]
  3. MOV EAX,1*8 ; OS用的段号
  4. MOV DS,AX ; 将其存入DS
  5. MOV BYTE [0x102600],0
  6. RETF

坏人:让你尝尝这招!

我们来“make run”,运行crack2.hrb试试看。PK开始了,结果呢……

6 保护操作系统(3)(harib18f) - 图1

没有出现异常!

没有出现异常……不过先别慌,估计又是QEMU的bug,只要没有出现异常,就应该是成功防御了攻击,可是……

6 保护操作系统(3)(harib18f) - 图2

dir也不显示了!中招了!

dir也不显示了,看来我们的“纸娃娃系统”这次中招了……