Shell's Home

装机记

Mar 6, 2006 - 1 minute read - Comments

连续叫了两个月的升级,昨天终于升好了。AMD Athlon64 3000+/E6的内核,200x9频率超到233,FSB933。内存是KST512MDDR400,目前在233外频工作。七彩虹镭风x550ct冰封骑士4,PCIE16,在110MHz的外频工作。总共花了3000大洋,加一个机箱。然后剩下一个C1.2G+256M内存,40G SGU6硬盘组linux试验机。另外还剩下了一个256M内存(居然还是BGA封装),一个三内存条的PIII800M,一个SGB4 40G硬盘,没有显卡没光驱,外加一个机箱。准备出货给赵一博同学……谢谢接盘。 下面说说在本次装机中的妖怪事情,AMD64的片子正常应该是可以点32的系统的,但是我这里上32系统就死机。看上去是内存问题,但是XP内核的光盘系统可以运行,内存测试通过。估计是某种体质上的兼容问题吧。反正64系统能跑,我就不管了。64系统上AMDCPU后可以开DEP,我看了看,这个和64程序基本是一致的。现在只有系统的软件是开了DEP的,也只有系统程序是64位的。这样在溢出攻击上恐怕要特殊点。其它程序统统还是32位模式,不开启DEP。估计其中差异在LARGEADDRESS选项打开上。赵一博同学说ND和DT跑不了,用司机和酒精就好了。只是rich8就不用指望了,那个一定要DT加RP才开的起来……BT哦…… 另外就是系统管理模式的完善,开两个用户,一个admin,一个user。然后用XP的账户选项弄成一个受限用户一个管理用户。受限的那个加PowerUser组,然后所有数据目录都加Administrator组F,User组R,PowerUser组RW。这样一般的受限用户在数据上只读,来宾是看不到,高级是正常用,权限归admin管。再把windows下面的权限调整成adminF,PowerUser只读,User只读,这样一般软件都动不了系统了。然后微调服务和策略,基本就可以完成配置。

分布式软件构架的变革

Feb 22, 2006 - 1 minute read - Comments

分布式软件构架由来已久,从最初的并行计算到现在的大规模网络并行计算,再发展到网格计算。这代表了分布软件的一个变革,而另外一个变革则是从数据-程序-界面合一的构架转换到数据-程序-界面分离的构架。MVC大家都很熟悉吧。现在软件界的三大困扰是什么?安全,效率,可复用。其中程序从界面层剥离开造成了当前你用出bug的程序可以对别人施加影响,而程序和数据层间的紧密结合更加剧了这个问题。还有程序到界面的接口是最影响成本和收益的地方,因为界面和程序的可复用是最能降低成本的。 我们现在流行的一种模式是使用网页界面的B/S模式,诚然,这种模式比C/S模式有更大的优点。客户端与系统无关,这样客户端的可复用性非常好。但是这种模式的缺点也是明显的。网络传输效率低(这个现在没有多少人计较了),构架不合理(人家HTTP本来是传输文件的说),而且不安全。 我们相信将来的软件设计模式是基于分布的,那么可能如何分布呢?我个人认为有两种主要模式,一种是平台抽象式分布,一种是组件抽象式分布。 平台抽象式分布是指软件的运行在一个网络平台上,其具体运行在哪个电脑上,如何协调对象,并不是软件关心的内容。平台负责抽象了机器,平衡了性能,增加了效率,但是对于机器间的传输实时性要求比较高。适用于企业内部的发展方向,以多台电脑平衡性能。均衡性能需求峰值,降低硬件成本,并且可以充分利用旧机器。用于这种分布的基础是分布式操作系统,在系统运行后即无条件陷入分布系统的接管中。前台的模拟为纯终端,后台模拟为纯资源。然后终端向资源登陆。这种模式的近似产品是win2k中的AD,不过AD只提供了资源的访问指向和访问控制,还有权限分散管理模型。而没有提供最核心的内存共享和锁定,还有线程分布和游离运行。 组件抽象式的分布其核心是将一个软件分离到不同的组件中,不同的组件在不同的机器上运行。这种模型更适合于自由的广域环境,当然前提是能成功解决组件通讯的问题。现在这种模型相对前种有更广的发展。这种模型和现在的B/S模式中最大的差异是,B/S模式的用户接口是浏览器和服务器程序共同完成的。从来没有人听说过有页面直接驱动后台组件的吧。如果我们可以用一种抽离语言(JAVA的显示效率太低了)来完成前台的接口部分模块,那么我们应该试图用这种方式来发布软件的前台端。这样软件的抽象更为简单明确,而且可复用性更高。

标准和软件同质化

Feb 22, 2006 - 1 minute read - Comments

软件标准,啥叫软件标准呢?最出名的(也是我最敬佩的)就是RFC(Request 4 Comment,内容堪称网络的基石,但名字虚怀若谷,绝对比现在乱糟糟的名字好多了),微软的WINAPI也算标准吧,还有POSIX等等。用各种标准来写软件确实方便多了,要DOS时代,每次系统升级都会有报废的软件。而且DOS和WINDOWS软件也不能互换,但是WIN9X和WIN2K的软件互换就超过八成了。 不过软件标准却造成了现在的一个严重问题,就是软件同质化严重。简单的讲是软件的功能一致。深层次来分析的话,软件是一个中间层,他上有实现标准,下有使用标准。在类似的平台上,使用标准是类似的。如果实现标准再类似,那么除非有突破型的技术,否则就注定了软件只有同质化的下场。举例来说吧,例如IM软件,他们的下层都是TCP/IP协议,由于网络情况复杂,多数都不能在IP层(网络层)玩花样,一般都是在TCP/UDP层(传输层)做各种变换。例如内网穿越,代理等等。对上层来说,要实现的标准也是很类似的。由于其上层就是用户,所以必须按照类似的用户需求来写软件,最后IM都是一个模子里面出来的,也没啥好奇怪的了。 软件同质化特点大致有以下几个: 1.值钱不要钱,要钱不值钱。IM来说,最重要的功能是整合通讯,但是现在没有一个IM的整合通讯是收费的。相反,收费的统统是什么送花啦,群拉等等非常花哨的功能。因为整合的功能同质化不严重,所以收费还有人用。但是核心功能都完全同质化了,竞争太严重,根本没法收费,广告都不好打。 2.你卖的软件和我差不多,盗用代码违法,盗用想法合法。这个毕竟也是无奈,要判盗版想法的话,windows都是盗版了。 3.软件行业技术水平低下,技术标准的确立,无疑使得所有使用标准的人之需要在标准上竞争,这样无形限制了竞争的范围。其实在某些情况下,无视标准反而有更强的优势。例如RealMedia系列的压缩格式就完全不同于AVI的封装格式。熟悉媒体格式的人应该知道,AVI是可以封装各种算法的格式。但是RM凭借自己的努力获得了一片天空。如果RM使用的是AVI封装格式的话,现在媒体软件市场是何样形式还很难说。 4.产业增值集中在核心技术和标准上。如果标准是收费的(无论费用是怎么收上来的),那么同质化竞争的最终收益者应该是技术标准所有者,因为他们限制了竞争条件,那么竞争对手的减少造成收益理当的归属标准所有者。如果技术标准不收费,那么他们就不能限制标准的使用,这就是只孵不出蛋的金鸡。 其实我们可以看出,所谓标准,只是另外一种形式的垄断。

第三代博客的兴起

Feb 21, 2006 - 1 minute read - Comments

第一代博客是少数人的博客,这种博客文化好比前几年的个人主页一般。参与的是少数,出名的也是少数。这种文化好比DHT网络研究中的深度节点模式。不熟悉的朋友也不用看了,大概上讲,信息扩散的拓扑网络有两种主要分类。一种是每个节点的链数目差不多,链接长度也差不多。这种模式传播抗突变和崩溃很好,而且节点的要求也不高。缺点是信息传递路径长,容易变形,而且传播不稳定。还有一种模式是有一些节点的链接数目大,而且长度方差大。这种模式信息传递快而且稳定。但是抗突变能力查,而且节点要求高。目前DHT的努力方向就是以后种模式为骨干的结合两者优点。而“深度博客”文化,或者叫“个人博客”文化。主要是将某些人作为博客的卖点,进而推动博客的发展。如果没有名人,没有卖点,一个博客再稳定强大都没用。而第二代博客是大众化的文字博客。这种博客类似DHT中的分布节点模式,主旨是推行每个人独立的创造博客,最终通过程序链合聚集。在我看来,博客的日志功能只是辅助,其交换,聚集,索引才是核心实质。这种博客是以稳定和强大为基础的,具备很强大的客户粘着性。如果用户的blog某日丢失了,那名人再多也无法挽回局面。 而第三代博客是以媒体为基础的博客。任何媒体,任何形式,都是从文字开始,然后到多媒体。从专业化开始,然后渗入生活。从集成开始,然后嵌入。我们可以仔细观察现在的HTML规范,还有常见的HTML语言,然后和1994年的欧洲核物理研究中心创立的追初的HTML规范对比。我们可以很容易发现,现在的HTML语言更趋近于媒体使用而不是文字,并且现在的HTTP协议更倾向于在网络上交互事件和数据而不是传递文件。后者恐怕我还要专门撰文评价,而前者则是网络界从文字向媒体转换的明证。 我们现在的每个blog理论上都有关键字,所有饮用有通过RSS协议。这是我们得以开放式交换链接,并且实现追踪搜索的根本。如果我们在媒体上类似的处理,我们也可以制作类似的媒体blog。届时我们每天的blog内容更新可以是通过录像而不是打字,这不仅仅是效率的增加,而且是方式的变革。相对来说,当前的blog中加入图片根本是小孩子的玩具。 相信这个问题不是没有人想过,但是实现上有个巨大的难度。当前的第二代blog的栖身之所是巨型的服务器集群,这样才可以负担千万级的用户。如果要在其上传输媒体,未免太强人所难。这个问题可以回到当初我们的DHT网络上去。DHT本质来说是什么?应该是知识网格。通过一些方式将你的知识和信息散布到网络上去,然后别人可以找到。这本不是难事,但是我们现在的主要实现方式是集成数据库!这意味着如果没有核心服务器,我们无法交换信息。而我们交换信息越频繁,核心服务器越大。这当然的限制了交换的发展。DHT是将信息冗余分布在网络上的方法。同样,我们可以将媒体通过一些P2P方式封装,浏览过的人将为将来的人提供上载,这样可以相当的解决第三代blog最严重的带宽问题。 不过其中解决一个问题的同时带来了另外一个问题,公众的公德心,上传的问题。这个问题的解决恐怕要依赖于P2P软件中的补偿机制的完善了。

英雄传说VI存档修改

Feb 1, 2006 - 1 minute read - Comments

存档文件都会找吧,HEX编辑器都会用吧。不会还想修改,一头撞死去吧。相对来说游戏还是比较好修改的,继承了FALCOM存档的一致风格。(汗……这个……)和大宇一样白痴兮兮一点加密都没有,差分分析就搞定了……不像某些游戏的存档,居然用RSA加密!(再汗……)不过更夸张的是,游戏的资料全是zip压缩的可读可编辑资源,连对话都可以随便改……(庐山瀑布汗,晕倒。) 下面是地址和数据,除了物品代码和个数是WORD以外,剩下都是DWORD。下面物品不全,有部分我忘记了,还有就是懒。多数情况是够用了,不过晶石是缺的,料理也不全。如果有哪位搞定了全部数据,请和我给我留言…… 0x25C88 金钱 0x25C90 七耀石 0x23E64 Js经验 0x23E98 Es经验 0x266B4 战斗次数 0x25C8C BP 0x266B6 战斗不能次数 0x266B8 战斗胜利次数 0x24C8A 物品 0011 太极棍 0030 黑千鸟.白千鸟 0041 九尾 0062 王权之光 0080 水晶剑 009D 狂战士巨刃 00BA 高能量粒子炮 00D9 代达罗斯护腕 00FD 皇家骑士铠甲 00FE 女武神铠甲 0119 天神之鞋 011A 风神之鞋 012D 银耳环 012E 打火机 012F 幻影戒指 0130 黑色手镯 0131 魅惑项圈 0132 光明背带 0133 珍珠耳环 0134 百合项链 0135 羽毛胸针 0136 骷髅项链 0137 活性脚镯 0138 魔力鸟冠 0139 神圣挂链

The change of M$’s Blog

Jan 31, 2006 - 1 minute read - Comments

偶非常不爽,因为M$的blog改版。可能因为新年,so M$在做改版,至少俺的一个在M$供职的朋友在加班,默哀三指令周期的说。不过新版的东西还不如旧版,可能是js和我这里的IE八字不合,俺……所有的评论回复全回不上去,切到最高权限模式还是一样……幸好发blog还是正常的,否则俺就抓狂了。在此把所有要回的blog先全部回这里,希望偶尔跑过来玩的朋友看到点了你的名字,自己找找到底回的哪里,别怪偶,怪M$吧…… 2kaka:俺也老咯……你还有GG丫…… 2piaoaa:你的歌蛮好听……我不客气的扒下来用了…… 2stella:中间一张漫步海滩头发遮了面容的是你吧……嘿嘿……你们很幸福哦……这种黄昏漫步海边的浪漫……

Runas系统管理方法

Jan 25, 2006 - 1 minute read - Comments

一个系统,做一个管理员(不是administrator),做一个受限用户。然后用受限用户,不用管理员。做一个链接。 C:WINDOWS\system32\runas.exe /user:user C:WINDOWSsystem32cmd.exe 然后启动后输入管理秘密,就可以用管理员身份来做管理了,启动注册表编辑或者啥都很方便。

IE屏蔽方法

Jan 21, 2006 - 1 minute read - Comments

IE这个东西讨人喜欢讨人嫌,很多时候没有它不行,有了又容易中各种东西。下面的研究就是怎么样来控制IE的各种行为。首先是屏蔽IE的开启 cacls "C:\Program Files\Internet Explorer" /P admini:N /E 这条语句的目的是屏蔽administrator对浏览器目录的访问权限,访问权限都没了,浏览器自然开不了了。不过这只适合于用户手工开启浏览器,如果系统自动弹出,浏览器还是照样开的。例如我们亲爱的MSN,所以还要加下面这条。 cacls "C:\WINNT\system32\BROWSEUI.DLL" /P admini:N /E 这条屏蔽的是IE的界面(UI),所以凡用IE界面的东西全部弹不出来。像刚刚我就差点无法写新的日志。所以用这两条语句重新开启访问权限。 cacls "C:\WINNT\system32\BROWSEUI.DLL" /P admini:F /E cacls "C:\Program Files\Internet Explorer" /P admini:F /E 这里要特别说明下,admini在我的机器上指administrator,而我机器上的administrator则是一个连guest权限都没有的空账户,专门用来诱骗攻击的。各种账户的情况大家可以根据自己机器自行修改。 上面屏蔽了IE的UI,但是内核还是可以访问的,所以在FireFox里面用IE插件可以载入IE的解释系统,外壳则是FireFox的。如果要真正保证安全就使用这个语句。 cacls "C:\WINNT\system32\MSHTML.DLL" /P admini:N /E 这个语句屏蔽的是IE内核入口,所以下面所有的IE行为全部都会变成下载。有啥网页也全都是下载而不是解释出来显示在网页上。至于解除代码,自己想吧。

杀虫方法

Jan 10, 2006 - 1 minute read - Comments

3721,YiSou,等等这些东西让人烦死了……所以我决定正式开始研究杀除方法。 预防方法: 1.先建立一个和对方目标目录一样的目录,然后删除所有权限…… 2.编辑C:WINNTsystem32driversetchosts文件,将混帐们的网站重定向到127.0.0.1。 3.IE的安全设置到最高,然后平时用FireFox。再把混蛋们的网站加入受限制站点。 4.偏执狂的做法,新建一个受限制的系统用户,然后去访问网站。 杀除方法: 1.找到正确的位置,然后用ERD或者linux启动系统,删除。再正常进入系统扫描无用的COM。 2.利用ProcessExplorer找DLL的注入宿主(一般是IE或者是Explorer)。然后找正确的DLL位置。启动CMD,输入删除宿主的命令,然后用ProcessExplorer关闭垃圾进程,留下核心,然后运行CMD的命令。 3.将DLL删除命令放到autoexec.bat里面,这个东西在winNT下也会执行。可以用>c:/rslt.txt察看是否成功。 一点建议,谁可以研究下linux光盘引导方法,做一个NTFS支持的引导光盘,自动搜索所有垃圾的位置,然后清理?