确实很久没有写blog了.. 前一段时间主要是忙, 另外一个确实也没有什么好写的, 我发现人一旦懒惰, 就会在越来越懒, 如果勤奋也会越来越勤奋, 而我今年来看是有慢慢变懒的趋势.. 改刹车了. 重新反省反省. 做点有营养的事情.
 

我操, 其实我刚才已经写了一篇很长的了. 我直接点发布, 忘记点保存了. 结果OVER.. 以前就有遇到这种恶心的事情, 只是时间久了, 又忘记了, 再一次告诫自己, 写东西千万不能在网页上直接写.. 太恶心了..

这段时间一直基本都没有怎么写过Blog, 一方面的话, 前一段时间从事的是分析工作, 分析工作的话, 基本上都是点经验, 没有什么好说的,经验这东西, 时间久了回来也忘不了, 而且很多东西写出来其实也没有什么, 分析就是一种感觉, 当然也是有一些套路的, 但是主要还是感觉.看雪上面有各种各种写分析经验的帖子, 如果你直接去看了, 跟着操作你都没有问题, 但是换一个版本或者换一个环境的话就是搞不定, 这就是经验, 人家分析这个中间已经有了经验的积累, 如果你直接上去想吃第9个包子, 不吃前面几个,那肯定是不可能的..

另外一方面, 前一段时间的工作, 被老板欺压的比较厉害, 每天从早上9点到晚上10点都是满负荷在运行.. 倒. 没有什么时间倒腾自己想弄的东西,每天就是分析, 分析. 再分析.. 周末也没有休几个.. 太恶心了..

最近换的这份工作, 时间倒是挺充裕了, 每天的分析基本上没有什么压力, 公司就这样, 还是需要自己扩展啊. 无意当中让我看到了NewBluePill(http://www.invisiblethingslab.com/) 这个开源工程, 让我喜出望外, 最重要的是, 还有人写了本书, 《NewBluePill:深入理解硬件虚拟机》咋个我早就没有发现呢? 看来消息还是有点闭塞啊.

看了一段时间, 很有收获, 原来的时候想学习 VT技术, 发现一直都没有一个很好的资料, 好像除了Intel 手册, 其他几乎见不到太多关于VT, SVM的描述, 也有几本讲虚拟化的书, 但是都没有给代码, 代码.. 代码啊.. 码农还是这个比较管用..

NewBluePill很全面, 上面有描述Intel的VT, 和AMD的SVM, 代码写的也很优美, 看看人家写的代码, 再看看自己写的, 从每个方面来看都感觉不足为什么人家写的东西灵活性就这么高? 看起来就这么的优美, 再看看自己的, 我错了..

NewBluePill分析完了, 收获挺大, 这个项目的话, 首先能够获取到的是关于VT,SVM相关的使用技术, 也就是虚拟化了.. 另外一方面就是关于分页的, 有人说, 分页不是很简单么? 问题是X64的话呢? 再一个问题是如果是自己构建页表替换Windows自己的, 再自己维护呢? 那难度可不是一般的简单的, 分析代码的时候,我总有种头晕的感觉, 还好挺过来了..

NewBluePill还有一个亮点就是关于多核方面的出来, 还是在开启虚拟化的时候可以禁用分页机制. 这也是好几个开源的虚拟化项目所没有的,另外NewBluePill还具有很多亮点, 内存隐藏方面, 虽然在发布的版本中内存隐藏去掉了. 但是只是去掉了一部分, 关于页表构建的代码并没有去掉. 所以啊, 只要完全理解了NewBluePill和X64的分页机制, 还是可以写出来的..

在看《NewBluePill:深入理解硬件虚拟机》的时候就一直想着施展下拳脚, 写点东西, 是的, 确实改做点什么了. 我一直很自信的是对汇编语言的掌握,和对保护模式的理解, 但是搞了很长一段时间才发现, 现在基本上没有什么用武之地, 但是现在不一样了, VT SVM 就是最好施展拳脚的地方,以前对保护模式的理解确实帮了我很多. 我一直坚信这句话 –  明白了, 理解了, 不代表你会了, 能够写出来, 你就是真的会了!.是的, 是改做点什么的时候了!