求一个用于调试的操作系统?

使用一些钩子软件可以让人使用电脑更加方便,比如audio router(一款可以控制不同软件使用不同声卡,使用不同音量大小的软件,这个是应用程序级别的钩子软件),再比如防火墙(控制不同特征的进出流量,可以禁止某个应用链接网络,这是操作系统级别的钩子软件)
一般操作系统只是提供 具有网络系统调用 钩子的功能(就是防火墙),但是对于其他系统调用却没有提供钩子功能(比如直接监控文件的读写,可以理解为 文件系统防火墙)`

所以,有没有一个 给用户提供更强控制力,(而不是性能)的操作系统,它最好具备以下功能
1 网络防火墙(现有操作系统已经具备)
2 文件系统防火墙(可以查看 哪些流氓软件都改了哪些文件,或者 查看哪些恶意软件 读取了哪些隐私文件,或者 直接实现对某个文件读写的重定向,比如某个软件要读取c:\license 这个文件,然后被重定向到 c:\破解license)
3 直接查看和修改物理内存中的数据(虽然这样做很危险,但有这个功能不用,和没有这个功能是不一样的)
4 直接给某个运行中的进程,提供更高的优先级,分配更多的系统资源
5 ....(暂时想到这么多)

阅读 872
2 个回答

巧了,作为一个曾经的网安人,我想说真的有,不过这个系统是当时我们内部自己做的,其实也并不高大上,就是把一些平时会用到的相关分析工具(当然一些工具也许外面很难找到或者没听过)整合在一起的,仅此而已,另外就是做了一些本地系统驱动的禁用以及对环境的调配,比如32,64位的设置。

最后纠正几个你可能会误会的几个问题,我们做这种系统的目的并不希望这个程序被干掉,相反我们更希望它运行在系统里面,然后我们进行分析之类的操作,所以不会有任何的防火墙,现有的操作系统防火墙都会被我们提前禁止掉,就是为了避免影响真实的测试结果。

我不太懂计算机网络方面的问题,不过,你说的这4点需求中的3、4,一个正常的商品级别的操作系统是不会提供给用户这么高的权限的。我能想到的办法就是自己实现、或者魔改一个操作系统,在这个系统中,不设低特权级代码段,所有的任务都工作在0特权级上,这样一来,如果一个任务想修改优先级,甚至不需要借助操作系统,它自己改自己的TCB就行,如果还想做的更彻底,可以直接不使用抢占式任务切换,改为协同式。此外,如果你想比较方便的修改内存,也可以干脆不打开分页模式,这样一来,线性地址就等于物理地址。但这种操作有两个问题:1. IA32e不允许不打开分页模式;2. 需要回归比较原始的段式内存管理,比较麻烦。

此外,bochs虚拟机提供查看/修改内存、寄存器等硬件级别的调试功能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进