幸运星空

Lucker的程序人生

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
问题一:到底发生了什么?我看到了一层又一层的梦境,后来我的堆栈溢出了……

  嗯,分析这类问题,最好的方法是将多个梦境的时间轴分别分析。作为一个程序员,我们当然知道对于这种多线索强关联的问题怎么分析:跨职能流程图(Cross Function Flowchart),每个时间轴作为一个泳道。


  下面的图一就是我们对整个故事整体剧情画的一个流程图。

 


  结论是4层梦境,两种可能结局。梦境层数比网易的分析少了2层,这是因为网易的编辑误认为梦境必须跨层调用,但是在故事中,没有任何证据表明进入潜意识层(Limbo层)之下还有分层,一般的心理分析也只将意识分为意识与潜意识。好吧,假如你非要相信潜意识可以分层,你就在下面的流程图中增加两个泳道,一个给“拯救齐藤”,另外一个给“回家(梦境)”,这个分析只影响梦境的层数,不影响结局,你懂的。


  整个故事有两个可能结局:“回家(真实)”和“回家(梦境)”,导演在最后几秒钟安排陀螺动了一下,这个思路很狡猾,似停非停,为续集的拍摄准备了很多可能。


  问题二:这个片子设定太TM墨迹了,能用程序员们喜闻乐见的火星语翻译一下吗?


  1、梦境是大脑的一种屏保进程;


  2、进程可以创建另外一个进程并等待新进程结束,期间父进程不响应系统消息;


  3、退出子进程有两种方式:子进程自动终止以及系统直接使用异常处理手段TerminateProcess,这两种时候系统都会自动回收分配给子进程的资源,并导致父进程可以响应系统消息;


  4、子进程的进程优先级总是比父进程的优先级高,因此父进程做一件事情的时间,子进程可以处理很多事情;(这个是个啥操作系统啊?)


  5、可以用一些药剂Hook 掉系统的结束进程的方法,使得进程不会被系统异常处理给结束掉。这个时候假如子进程自己死锁了,就要想办法自己抛异常退出,否则可能变成僵尸进程,并导致父进程挂起;


  问题三、为啥男主角一进梦境就怪事连连?难怪他不能做筑梦师。


  这丫的记忆文件有错误,上次跟他老婆联网游戏的时候异常退出,导致存档文件出错,读取的时候又不做数据校验,导致程序执行的时候经常发生各种异常情况导致堆栈溢出,程序流程经常跳得乱七八糟,所以剧情没有安装原来的设计走。嗯,他老婆的问题更严重,数据异常甚至导致了严重的自我毁灭倾向……


  这个故事告诉我们,读取外来数据的时候一定要做好校验,否则程序容易出各种奇怪问题,哪怕用大脑这种非冯诺依曼体系的机器也不行 —— 黑客会喜欢这种可以做堆栈溢出攻击的系统的,嗯,中情局也喜欢。


  问题四、为啥植入一个那么简单的想法就让他们如此为难呢?你看,他们甚至给菲舍植入了一个完整的游戏场景……


  这个问题问得好,嗯,我也觉得很奇怪。也许有一种可能,人类的大脑给予了访问者数据上传的权限,但是没有给予他们执行代码的权限,我们在服务器上也经常这样配置,假如你开过一个网站或者FTP服务器,你懂的。而入侵者的目标是让菲舍的大脑执行一段代码(做一件事情),这需要让菲舍自己把这个代码跑起来,因此需要提权。


  好了,接下来是黑客们常用的手段:上传一段媒体文件让菲舍看,使得菲舍看后以为某个木马程序是他父亲留给他,要他运行的东西,于是菲舍就点击了“运行”——嗯,入侵就这样成功了。这种方式在现在的互联网黑客入侵中并不是很稀奇的手段,其实蛮老土的。所以在执行任何程序之前,特别是从其他地方下载来的程序,先验证一下是否安全还是很重要的,比如安装一个带有下载保护功能的金山网盾之类安全软件,查一查更放心。


  你看,即使从电脑互联网时代进化到了人脑互联网时代,一些入侵的手法还是通用的,所以类似的还有一个故事叫《黑客帝国》,说的是人脑互联网时代一群下岗黑客在社会边缘摆小摊躲城市管理者的故事……

 

 《完》

 

 By 【六年【6】班】MOP

原贴地址:http://dzh.mop.com/topic/adminReply.jsp?sid=12403277 

posted on 2010-09-19 11:24  Lucker  阅读(387)  评论(0编辑  收藏  举报