初衷
自我介绍
我本硕都在上海某知名211学校软件工程专业学习。但是和绝大多数同学一样,7年来一直都在混时间。尤其是本科阶段,几乎都在打游戏。研究生阶段虽然比本科生阶段认真很多,但是所研究的内容和7月将要入职的公司的业务差距很大。想在毕业前恶补下操作系统的基本知识,同时练习下C语言(写了7年的Java),因此想实现一个玩具操作系统。
另外,还是想提一下我研究生阶段的主要成就。
- 实现了一个能动态拦截权限实现的安卓系统。
没错,和现在很多安全软件的功能很相似,但是我是早在2013年(那时其实还是大四)在学长的指导下独立完成了对安卓系统的修改。相对当时最好的LBE,我们能拦截更多的内核权限使用。
- 用Java语言实现了一个针对DEX字节码的静态分析框架。
不做过多介绍。
其实这两个项目很有趣,尤其是静态分析框架,但是不能和大家分享太多技术细节。
另外,由于实验室做安卓安全研究,所以我之前空闲时稍微研究了下微信机器人,之前已经能自动地在多个群里接发文字、语音(没错,能转发语音)。后面由于要写毕业论文,这个项目就停了,并且因为担心法律问题,这个项目也不再开源。如果哪天有空,可以写个帖子简单分享下做法。
计划
打算从现在到毕业前,尽量实现各玩具操作系统。
因为我平时还要给实验室干活,所以其实时间很有限。因此,我计划将每一步的收获放到网上,在分享的同时监督自己。当然也希望路过的大牛们能不吝赐教。
参考资料
稍微翻了翻(真的是,就随便翻了几页),两本著名的自制操作系统教材,发现其均不能满足我的需求。
主要是汇编太多,我不希望和汇编打太多交道
原作者是日本人,不喜欢中译版的文风
采用Windows作为开发测试平台,我四年前就开始使用Ubuntu(Windows只是用来打游戏),而且现在买了Mac也没有Windows。。
所以,计划以JamesM的教程和osdev.org的资料为参考,以Mac OSX作为开发测试平台来探索。