首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
茶余饭后
发新帖
5
0
[分享]发个小型os玩玩 GpLittle
发表于: 2011-10-28 12:38
3491
[分享]发个小型os玩玩 GpLittle
bahaoken
2011-10-28 12:38
3491
[LEFT][LEFT]
What is GpLittle?
[/LEFT]
[LEFT]
GpLittle
是一个用来学习操作系统原理的一个还称不上
OS
的
OS
,是我业余时候玩的一个小东东,引导和加载程序使用汇编写的,后面的内核用
C
写的,开发环境是
WinXP
或
Win7
下的
Cygwin
构建的
gcc
环境,需要运行在
x86
系列的
CPU
上,而且经过测试在
Bochs
,
VMWARE
,
VitualBox
和我的本本上都可以正常运行。
[/LEFT]
[LEFT]
偶起初写这个滴目的就是想试着做一个系统去了解现在一些操作系统像
Windows
,
Linux
他们的底层原理,而事实上,通过这个系统我确实了解到很多底层知识,并且提高了许多专业方面的技能,像
C
语言和汇编语言水平,还对
x86
系列
CPU
的运行架构有了一个比较贴切的理解,比如通过修改
GDT
表项中的某一位就可以影响到这个段的的一个界限,比如
VM86
是怎么实现的等等。当然这个东东还可以扩展,可以给他添上多进程,内存管理,文件系统,那样的话他就看起来更像一个
OS
了。
如果你用任何问题,可以通过我的
Email
联系我:
guapibai@vip.qq.com
[/LEFT]
[LEFT]
使用许可
[/LEFT]
[LEFT]
此版本不受限制,你可以自由复制,传播此代码
.
[/LEFT]
[LEFT]
系统结构
[/LEFT]
[LEFT]
GpLittle
不能算一个内核,更应该像是一个运行在
Ring0
的程序,这个程序可以访问
4GB
的内存空间,自己位于
1MB
空间下不和
BIOS
以及中断向量冲突的地址空间内,它通过一个消息泵和键盘鼠标发生交互,支持时钟,包含一个
shell
,键盘驱动,鼠标驱动,
ne2k
网卡驱动,
VM86
,没有进程管理,没有内存管理,没有文件系统,所以它足够简单让你来看懂并且进行学习扩展,就好比前段时间我就在这个系统完成了
ne2k
网卡驱动,并且实现了一个简单的
TCP/IP
,并在
Bochs
模拟器上启动系统之后向主机发送
HTTP
请求,成功收到并解包主机发过来网页信息。
[/LEFT]
[LEFT]
特点
[/LEFT]
[LEFT]
·
Kernel
[/LEFT]
[LEFT]
o
Simple Shell
[/LEFT]
[LEFT]
o
VM86
,可以在保护模式下调用
BIOS
[/LEFT]
[LEFT]
o
消息泵,键盘鼠标中断处理程序会将它们的消息通过封装,放到这个系统消息队列中,供
Shell
取用
[/LEFT]
[LEFT]
·
libgui
[/LEFT]
[LEFT]
图形模式下的一些绘制函数,并且提供了一个很有意思的模拟
WINDOWS
下
CMD
命令行应用的窗口。
[/LEFT]
[LEFT]
[/LEFT]
[LEFT]
·
drivers
[/LEFT]
[LEFT]
o
键盘
[/LEFT]
[LEFT]
o
鼠标
[/LEFT]
[LEFT]
o
Ne2k
[/LEFT]
[LEFT]
o
Vesa
[/LEFT]
[LEFT]
o
时钟
[/LEFT]
[LEFT]
使用
GpLittle
[/LEFT]
[LEFT]
你需要装一个
Bochs
模拟器,或者装一个
VMWARE
然后将软驱选项指到
GpLittle
中的
final
文件下的软盘镜像,亦或者你可以写一个
FAT32
或者
NTFS Bootloader
,你懂得。最好用
Bochs
,因为调试起来实在是太方便了。
[/LEFT]
[LEFT]
编译
/
修改
[/LEFT]
[LEFT]
GpLittle
是用一个
Cygwin
支持的交叉编译过的
GCC
写的,这个工具在
Tools
目录下,主目录下有一个
runit
,会根据
makefile.mak
文件进行编译,如果要添加代码或删除某个文件,可以在
makefile.mak
中进行修改。
下载
[/LEFT]
[LEFT]
Version 0.1
[/LEFT]
[LEFT]
·
Image
(1.4MB)
[/LEFT]
[LEFT]
·
Source-Code
(16.5MB)
[/LEFT]
[LEFT]
截屏
[/LEFT]
[LEFT]
[/LEFT][/LEFT]
[LEFT]启动加载[/LEFT]
图形模式shell
pci探测
真机测试1
真机测试2
文章源地址:
http://www.guapibai.com/post/9.html
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
5
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
tjszlqq
雪 币:
1361
活跃值:
(2341)
能力值:
( LV4,RANK:50 )
在线值:
发帖
46
回帖
885
粉丝
2
关注
私信
tjszlqq
1
2
楼
真不错啊,有自己的OS还是很有价值的
2011-10-29 18:25
0
tiany
雪 币:
253
活跃值:
(21)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
84
粉丝
0
关注
私信
tiany
3
楼
楼主,你好厉害!
2011-10-29 18:41
0
龙丶舞
雪 币:
200
活跃值:
(12)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
31
粉丝
0
关注
私信
龙丶舞
4
楼
不会,来学习了。
2011-10-29 22:26
0
naux
雪 币:
417
活跃值:
(201)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
115
粉丝
0
关注
私信
naux
5
楼
很厉害!好像没图形界面?
2011-10-30 01:08
0
bahaoken
雪 币:
208
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
19
粉丝
0
关注
私信
bahaoken
6
楼
确实是没有窗口系统,在图形模式下画了一个很像CMD窗口的界面,把Printf改了一下适应图形和文字模式两种环境,下一个玩玩就知道了,进入文字模式打个win命令就进图形界面了
2011-10-30 01:58
0
hackerlzc
雪 币:
1689
活跃值:
(379)
能力值:
( LV15,RANK:440 )
在线值:
发帖
33
回帖
613
粉丝
16
关注
私信
hackerlzc
10
7
楼
强顶!!!!!
2011-10-30 10:30
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
bahaoken
6
发帖
19
回帖
10
RANK
关注
私信
他的文章
[求助]虚心求教一枚壳,用oll和ida 使用strongod 和 idastrealth都无法过
4734
[分享]发个csdn刷分工具~~
4212
[分享]发个小型os玩玩 GpLittle
3492
[求助]求高手脱VS游戏平台最新3.0的壳~~~
1996
[求助]求大牛 脱此程序的壳
2355
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部