30天自制操作系统------用C语言编写应用程序

本文探讨了如何在自制操作系统中利用C语言进行攻击和防御,包括修改定时器中断频率、阻止定时器中断、处理数组越界、强制结束应用程序以及用C语言显示字符串的方法。同时,文章提到了在特定情况下,由于操作系统的限制,某些攻击手段无法实施。
摘要由CSDN通过智能技术生成

一、攻击(3

破坏操作系统可以从内存上下手,使得操作系统无法正常工作。定时器对于操作系统也是非常重要的,因为很多中断都是依赖于定时器的,没有定时器,光标就不会闪烁,任务也无法切换,整个操作系统就好像瘫痪了一般。

以我们可以通过修改定时器的中断频率来攻击操作系统,因为操作系统的中断频率=主频/中断周期,CPU的主频是不可修改的,所以我们可以通过修改中断周期来修改中断频率,将中断周期设的大一点,中断频率就会小一点,操作系统的反应速度就会变慢,也就能达到我们的攻击目的了。

设置中断频率的步骤

1、OUT(0x43,AL),AL=0x34

2、OUT(0x40,AL),AL=中断周期的低8

3、OUT(0x40,AL),AL=中断周期的高8

    也就是说,我们需要通过汇编的OUT指令对相应的端口进行设置来设置中断频率。

但是当操作系统以应用程序运行时,执行IN指令和OUT指令都会产生一般保护异常,也就是说这种攻击方式行不通

 

二、攻击(4

既然不能修改定时器的中断频率,那么我们可以考虑让操作系统不再接收定时器中断,这样的话,键盘和鼠标中断会停止响应,任务切换也会停止。

我们可以在应用程序中执行CLI命令,然后执行HLT命令,这样一来电脑就死机了,也达到的攻击的目的。

但是当操作系统以应用程序模式运行时,执行CLISTI

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值