吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 23041|回复: 286
上一主题 下一主题
收起左侧

[系统底层] 从0到-1写一个操作系统-0xFF-!!完结撒花!!

    [复制链接]
跳转到指定楼层
楼主
peiwithhao 发表于 2023-2-20 22:34 回帖奖励
本帖最后由 peiwithhao 于 2023-2-20 22:35 编辑

0xFF 大总结!!!

截至目前,我们的操作系统已经实现完毕,这个项目即将跟大家说再见,在这里我来总结一下这一个多月的工作。



这是我网上找的一个世界上第一台计算机的图片,计算机从打孔批处理机器跨越到多道程序机器,再跨越到至今的个人操作系统,其中比较接近大众的windows或Linux,还有macOS都取得了不俗的成就,而本操作系统也仍然是基于Linux,毕竟Linux开源哈哈哈,还有就是经过这么多年的大师不断开发,Linux也逐渐完善,这也就体现出来开源的优势

经过一个多月的奋斗,最初希望构建一个操作系统的理想也顺利实现了,但是这里得提一嘴的是我的这个操作系统是基于《操作系统真象还原》来进行编写的,这本书就我自身来讲写的还是蛮好的,其中的一些讲的特别细心,之前像大学课程中学习的操作系统或是计算机组成原理等都在这里用行动来验证自己的学习,将这些知识付诸实践,也确实,经过一个完整的操作系统实现,你可以更深的了解用户程序、内核、保护模式、实模式等,真正实现了从0到1的过程。

上面就是成品书,这里并不是推广,我也没收钱,纯粹是这本书出的确实好,作者的代码十分精炼且易懂,让你慢慢实现的过程中了解了操作系统的精妙之处,其中我也了解到了为什么说有的二进制工作者天生就是一个pwn大师,这是因为再操作系统底层也使用过许多类似pwn的手法,其实也不应该这么说,应该说pwn的手法借鉴了操作系统实现的手法,只是这些手法是使用了欺骗的手法来达到正确的结果,其中让我印象深刻的就是该操作系统中经常使用的欺骗CPU的操作,虽然底层,但是十分简单易懂。


说回总结,这标题我虽然使用的从零到负一,但这不过是调侃而已。不过这里有个巧妙的就是标题中0xFF也是1字节表示的数字负一的补码形式,有上过计算机组成原理课程的同学可能对这十分熟悉。

这一个多月以来碰到过许多问题,其中让我头疼的就是PF异常,也就是page Fault异常,相反那些并不是怎么熟悉的时钟中断控制器等硬件的理解我倒是十分顺畅,这个页每次报错我就只能回头来看页面分配以及内存管理的代码,有一次甚至将代码追查到保护模式最开始建立页目录以及页表的汇编代码,最后检查出来是页目录项和页表项中低12位其中的一个访问位写错,导致用户无法正常访问页面,找出这个问题还真是让我头疼了好几天,刚好那几天还在过年,真的让我过年也过不安逸

但是最后好在还是成功实现了,功能也算比较完善,当然也可以往里面增加咱们自定义的一些系统调用,在以后如果想实现了就紧接着实现。如果有同学也想获取一个项目来锻炼自己,并且是从事底层工作的同学,其实也可以拿该项目来练练手。

我在之前学习内核pwn的过程中,由于学到了KPTI就把我搞劝退了,我想什么叫都映射在同一块,这映射在同一块是怎么实现的?就这么一点我当时硬是理解的不透彻,更不必说后面的漏洞利用了,即使我之前已经学过书本上的操作系统页表分配或映射的知识了(自我感觉应试部分还行哈,不是装杯,这是事实!)还是不理解,但是在实现了整个操作系统之后,对于这些知识确实通透了。

因此之后的工作还是接着学习安全的知识,然后如果学习的进度较快还想着能不能复现一下以前真实存在的漏洞,因为本来就是奔着二进制安全去的,操作系统是为之后学习所做的铺垫,顺便也锻炼一下自己的基本功。

之后给后来的同学也打打气,如果你也希望同我一样亲手实现一个操作系统,那么就来吧,当我的儿**



以上是开玩笑大伙别当真,不过同我一样实现这个操作系统的邀请却不假,我已经替大伙提前尝试过了,可行且十分有价值。
如果大伙实现的过程中遇到问题也可以根据我划分的进度到github上面查看代码,由于我的分布是每一节一个分支,因此不同阶段代码也十分清晰,地址如下:

操作系统从零到负一实现源码传送门

下面就是我的每一个阶段的整体链接,最后祝贺大家在以后的生活中顺顺利利

0x00-环境准备
0x01-BIOS以及MBR
0x02-MBR支持显卡
0x03-MBR操作硬盘以及Loader
0x04-进入保护模式
0x05-内存容量检测
0x06-实现内存分页
0x07-载入初始内核以及特权级详解
0x08-实现自己的打印函数
0x09-实现传说中的中断机制
0x0A-初步实现内存管理
0x0B-实现内核多线程机制
0x0C-实现包含锁的输入输出机制
0x0D-实现用户进程及其调度
0x0E-实现多种系统调用
0x0F-实现了硬盘的分区
0x10-超级块等文件系统基本结构的初始化
0x11-补充了一些文件系统基本函数
0x12-继续完善文件系统
0x13-结束文件系统的编程
0x14-同用户对话
0x15-咱们自己写的程序终于能跑辣

免费评分

参与人数 185吾爱币 +168 热心值 +171 收起 理由
awen1344 + 1 + 1 我很赞同!
linllz + 1 用心讨论,共获提升!
windpeaceflowe + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zls黑战魔 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qingyuan023 + 1 + 1 用心讨论,共获提升!
rize_bo + 1 + 1 太厉害了
Caitingting + 1 + 1 用心讨论,共获提升!
叶樱枫 + 1 + 1 谢谢@Thanks!
一个电脑小白 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!好分享
gangqiao + 1 牛牛牛牛牛
PPPlice3133 + 1 用心讨论,共获提升!
JaniQuiz + 1 用心讨论,共获提升!
yessye1999 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
星空下的流星 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Jackyyy + 1 + 1 太厉害了!!
hainanhaibei + 1 + 1 牛人
fushenzhi + 1 + 1 鼓励转贴优秀软件安全工具和文档!
magicunicorn + 1 + 1 用心讨论,共获提升!
chenyu52123 + 1 我很赞同!
myBB2FHM + 1 好牛
sbham + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xiaodeme + 1 + 1 用心讨论,共获提升!
qylisten + 1 + 1 热心回复!
bingranran + 1 + 1 我很赞同!
tf206744 + 1 我很赞同!
Rueng6009 + 1 用心讨论,共获提升!
SDZZ + 1 + 1 谢谢@Thanks!
root000001 + 1 + 1 我很赞同!
并非如此 + 1 + 1 用心讨论,共获提升!
1ance + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
FireEgg + 1 + 1 我很赞同!
Sermry + 1 + 1 我很赞同!
N1san + 1 + 1 用心讨论,共获提升!
piaobv + 1 热心回复!
mushisshi + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
晓儿 + 1 + 1 我很赞同!
chenlun886 + 1 用心讨论,共获提升!
houkunlin + 1 我很赞同!
wangshu2010 + 1 我很赞同!
Baile888 + 1 + 1 用心讨论,共获提升!
Godot1064 + 1 + 1 我很赞同!
2199 + 1 我很赞同!
cdp78213 + 1 + 1 我很赞同!
Zhaofeiyan + 1 热心回复!
Nanxing + 1 热心回复!
Diamondzl + 1 + 1 热心回复!
phoenixtien + 1 用心讨论,共获提升!
ejmei + 1 + 1 用心讨论,共获提升!
kbicc + 1 谢谢@Thanks!
OneKilo + 1 + 1 热心回复!
shuaishuaizi + 1 + 1 谢谢@Thanks!
jasonA + 1 + 1 我很赞同!
victos + 1 + 1 谢谢@Thanks!
日常 + 2 + 1 谢谢@Thanks!
fengyingchun + 2 + 1 我很赞同!
xinyundata + 1 + 1 我很赞同!
assuller + 1 + 1 鼓励转贴优秀软件安全工具和文档!
limit7 + 1 + 1 特来支持
xiniu233 + 1 + 1 谢谢@Thanks!
tashawei + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
378895564 + 1 + 1 热心回复!
ion2000 + 1 用心讨论,共获提升!
叶灬凌风 + 1 + 1 谢谢@Thanks!
soyiC + 1 + 1 用心讨论,共获提升!
TeMoon + 1 + 1 谢谢@Thanks!
alyiia + 1 + 1 我很赞同!
1MajorTom1 + 1 热心回复!
Brand1209 + 1 + 1 谢谢@Thanks!
N0exp + 1 + 1 我很赞同!
小师叔 + 1 + 1 用心讨论,共获提升!
sazz + 1 + 1 谢谢@Thanks!
sanyuebeichen + 1 这是大佬!!!
爱吾爱 + 1 我很赞同!
RickSanchez + 1 + 1 热心回复!
kkeliangzai + 1 + 1 谢谢@Thanks!
discuz0 + 1 + 1 热心回复!
福仔 + 2 + 1 我很赞同!
wtslh + 1 + 1 谢谢@Thanks!
guoguo8848 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
aabbcc123123 + 1 + 1 谢谢@Thanks!
Fu-hacker-ture + 1 + 1 用心讨论,共获提升!
xcydbty + 1 + 1 谢谢@Thanks!
happykeke + 1 我很赞同!
MorichikaRinno + 1 + 1 我很赞同!
clover9527 + 1 谢谢@Thanks!
suiyueshentou + 1 我很赞同!
niteng_2009 + 1 + 1 用心讨论,共获提升!
梦啊!!! + 1 + 1 谢谢@Thanks!
xiaoweibing + 1 + 1 我很赞同!
DaiCap + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
风川白日 + 1 + 1 我很赞同!
hhxx52 + 1 谢谢@Thanks!
ilkezd + 1 + 1 谢谢@Thanks!
evalPrivateJS + 1 我很赞同!
抱歉、 + 1 用心讨论,共获提升!
guajun + 1 + 1 用心讨论,共获提升!
mmc218 + 1 + 1 用心讨论,共获提升!
曦暝 + 1 + 1 谢谢@Thanks!
ceusnow + 1 + 1 谢谢@Thanks!
jiayaofeng + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
清风不语 发表于 2023-2-21 14:46
我来分享一下《操作系统真象还原》 这本书吧 https://pan.baidu.com/s/1K50DBbV4rKqvdTnzVRSlhw?pwd=8888

免费评分

参与人数 8吾爱币 +7 热心值 +8 收起 理由
Caitingting + 1 + 1 谢谢@Thanks!
ailang + 1 + 1 谢谢@Thanks!
RIKE + 1 谢谢@Thanks!
xiaoyuan52 + 1 + 1 谢谢@Thanks!
mychose + 1 + 1 谢谢@Thanks!
wtslh + 1 + 1 谢谢@Thanks!
fri_yu + 1 + 1 鼓励转贴优秀软件安全工具和文档!
AWildScientist + 1 + 1 谢谢@Thanks!

查看全部评分

推荐
侃遍天下无二人 发表于 2023-2-20 23:05
alexpreston 发表于 2023-2-20 22:58
这操作系统在什么样的硬件上跑起来呢?

模拟器呀,qemu之类的,理论上真机也行,但你不会打算拿真机跑吧
推荐
ecco13 发表于 2023-2-20 23:47
推荐
lies2014 发表于 2023-2-21 01:06
好文章,可惜很多放在百度上的图片都看不了
沙发
disburden 发表于 2023-2-20 22:41
离我太遥远
佩服楼主,继续加油!
3#
Yalw 发表于 2023-2-20 22:50
佩服楼主,楼主牛批
4#
alexpreston 发表于 2023-2-20 22:58
这操作系统在什么样的硬件上跑起来呢?

点评

模拟器呀,qemu之类的,理论上真机也行,但你不会打算拿真机跑吧  详情 回复 发表于 2023-2-20 23:05
5#
 楼主| peiwithhao 发表于 2023-2-20 23:04 |楼主
alexpreston 发表于 2023-2-20 22:58
这操作系统在什么样的硬件上跑起来呢?

硬件的配置在最开始已经使用bochs进行虚拟配置,师傅有兴趣可以去看看
7#
QRQ 发表于 2023-2-20 23:19
向大佬看齐
10#
dmhyvip 发表于 2023-2-21 05:45
难得的好文章
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-30 23:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表