第一周
由浅入深掌握汇编,实现微内核
本周会带大家写一个微内核,让大家找到学习本门课程的乐趣。对于没有汇编基础的小伙伴,我会从零开始教【购买后,访问第1周第1章第3节获取课程群】
课程安排:
tips:【购买后,访问第1周第1章第3节获取课程群】
一、汇编篇一:认识汇编全貌,玩转CPU寄存器
1、汇编、CPU架构、硬编码之间的关系
2、汇编、C语言、C++、Java之间的关系
3、MASM、NASM、ATT之间的关系
4、寄存器、CPU缓存、内存之间的关系
5、熟练掌握及使用CPU的三组寄存器
6、实战:在逆向工具OD上练习汇编
二、开卷,实现操作系统微内核
1、写操作系统到底写什么
2、精讲CPU两种运行模式:实模式、保护模式
3、借助BIOS中断操控屏幕
4、你写的内核如何运行?
5、实战:带你手写微内核
6、实战:使用bochs调试内核
7、NASM汇编脚本怎么写
三、汇编篇二:手绘堆栈图,玩转系统执行流
1、实战:汇编语言实现while循环
2、while(true)的本质
3、深入理解系统执行流
4、破坏执行流:ROP技术
5、深入理解系统栈指令本质
6、手写执行堆栈图
7、实战:通过汇编实现ROP
第二周
突破512字节,让内核可以自由发挥
本周实现让我们的内核突破512字节,为后面开发强大的内核扫清阻碍
课程安排:
一、汇编篇三:玩转调用约定,自构建执行流
1、实战:使用汇编实现标准执行流
2、汇编是如何处理形参与实参的
3、汇编是如何处理局部变量的
4、汇编是如何处理返回值的
5、实战演示不同平台的调用约定
6、实战演示内联汇编与裸函数
二、玩转硬盘,让你的OS尽情发挥
1、聊聊CMOS、BIOS、UEFI、MBR、GPT、GRUB
2、了解软盘读写原理,实战读写软盘
3、实战:让你的OS突破512字节
4、了解硬盘工作原理、硬盘寻址方式
5、编写硬盘驱动,实现硬盘启动OS
6、如何实现硬盘异步读写、硬盘预读