2007年9月28日星期五

Safari for Windows+NightlyWebkit r25781

我把WebKit继续更新到了WebKit-SVN-r25781,发现这一下各种中文显示都已经十分正常(包括所有的汉字字号!)。而且切换文字内码也可以工作(至少对日文ShiftJIS切换没有出现问题了。
我觉得这东西也许下个月就会真正彻底和Mac OS X 10.5一起正式出现。到时候,Firefox就又出现了一个大对手~哈哈。。。
苹果啊苹果,你虽然开始腐烂(与AT&T结盟限制iPhone等等事件),但是某些地方还是不错的。
可惜的是,Crash可是仍然多多。


User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.6.1+ (KHTML, like Gecko) Version/3.0.3 Safari/522.15.5


我也说一下Firefox 扩展和插件的区别

http://www.cnbeta.com/articles/40007.htm
这篇文章提到了在Firefox/Mozilla系浏览器中所谓扩展(extensions)和插件(plugins)的区别。
其实Firefox(Mozilla)扩展和插件在各方面都是不一样的,具有完全不同的用途和存在形式。
首先Mozilla的所谓“插件”,具有非常长的历史。它使用一种来自Netscape时代的古老插件API——NPAPI(Netscape Plugin Application Programming Interface),最初是Adobe的Acrobat部门和Netscape合作,为了在Netscape内显示PDF文件而开发出来的一种插件系统。最初它与浏览器的交互必须有Java的支持,之后则使用自己的所谓跨平台的XPCOM API模型。这种插件系统并非跨平台,每个平台的文件格式都有所不同。(参考http://developer.mozilla.org/en/docs/Gecko_Plugin_API_Reference:Plug-in_Development_Overview)比如Flash插件,Windows平台下文件名为NPSWF32.dll,是一个Win32 DLL;Mac OS 9下文件名为Flash Player NP-PPC,也是一个动态链接库类型的文件(OS X下文件名类似,但代码部分格式为Mach-O);Linux下名为libflashplayer.so和flashplayer.xpt,是所谓的共享对象文件,等等。NPAPI经过长期修正,并由Mozilla牵头增加了新的npruntime脚本API,现在已经相当成熟,现在除了Windows平台上的IE之外几乎所有浏览器(所有Mozilla/Netscape系浏览器、Opera、Safari、Konqueror等)都使用这种插件架构(IE在5.5SP2以前也曾经通过plugin.ocx ActiveX提供过对NPAPI插件的支持,后因“安全原因”废止)。它是一种纯粹的二进制可执行插件,通常是为了支持网页中出现的<object>和<embed>标签中定义的对象而存在,不会增加浏览器自身的任何功能。而且由于他们的运行权限和浏览器本身相同,因此一旦出错,就可以将浏览器拖死(比如Quicktime for Windows经常导致Firefox非法操作之类常见问题)。在Mozilla系列浏览器中,可以通过输入about:plugins查看所有已经启用的插件信息。

而Firefox及一切Mozilla程序的所谓扩展,和插件的概念大不一样。Mozilla扩展并不是真正的本地代码,而只是使用JavaScript语言编制,使用和各主要Mozilla程序一样的所谓XUL(一种基于XML的用户界面脚本语言)编制界面,通过XPCOM的XPConnect API与浏览器实现交互。这样使得它具有相当高的跨平台可用性,而且因为它完全在浏览器的JavaScript引擎中运行,使得浏览器能够控制他们的行为,减少扩展出错导致整个浏览器出错的可能性。对XUL的依赖使得它只被Mozilla系浏览器支持,在XUL支持不完全的部分此类浏览器(如K-Meleon)中得不到完整的支持。当然,XUL也是个可移植的平台,甚至有XULRunner这类独立的扩展运行环境的存在。通常在Mozilla系浏览器中,扩展能做到的事情非常多,能够显示和控制自己和整个浏览器的用户界面,可以直接使用浏览器的功能实现自身与网络的通讯、可以通过XPCOM对浏览器的渲染引擎进行操作,其用途远远比插件宽泛。扩展自身是.xpi安装包,包含所有组件文件和安装脚本,安装后一般不是单一的文件。

这两类插件在能力上都无法真正和ActiveX相比,后者在Windows中神通广大,作用范围遍及整个Win32子系统,而对于前者,插件可以执行浏览器以外的代码,扩展不能对运行环境外部造成除了浏览器本身功能之外的其它影响。目前恶意的NPAPI插件数量极少,而扩展(Firefox中)目前基本上都是Mozilla的官方站点提供下载,几乎不可能出现恶意扩展;而大量的ActiveX控件却是所谓的“流氓软件”。

2007年9月26日星期三

对付微软强制要求升级Messenger 7.x到8.1的办法

为了一个在中国的窄带网络环境下几乎不存在真正影响(视频聊天引擎,要经过美国微软的服务器)的漏洞,微软.NET Messenging Service部门使出了一招强招——强制升级。所有在Windows 2000下运行MSN7.0的用户都要升级到刚更新的7.0.078x(具体版本记不得了);Windows XP以上的用户不论是7.0、7.5、8.0都被要求升级到8.1。但是现在已经出现了两种解决这种状况的办法。
(如图)
Photo Sharing and Video Hosting at Photobucket Photo Sharing and Video Hosting at Photobucket
Messenger 8加入了一个鸡肋功能“共享文件夹”,文件大小加了好几兆,内存资源占用大增;所以很多人一直使用7版本。7版本的协议和8版本实际上没有本质性的变化,这使破解成为可能。下面提供两个办法。
1、使用Win2000兼容模式(适合7.5)
把msnmsgr.exe属性中的兼容性设置改成Windows 2000(Windows 98/Me会导致出错)
如图:
Photo Sharing and Video Hosting at Photobucket
2、修改exe文件(适合7.0、7.5、8.0所有版本)
其实这个办法相当简单,因为MSN在登录时完全不对自身进行完整性验证,且Messenger直接把自己EXE资源里的版本号发给.NET Passport的服务器。因此,打开任何一个可以修改EXE资源的工具,找到Version资源,把所有和7.0/7.5相关的项全部修改成8.1.0178,即完成修改过程。经测试对8.0同样有效。

修改过后发现,msnmsgr.exe在其属性下的版本号变成了8.1,
Photo Sharing and Video Hosting at Photobucket
而且启动后能成功登录(开不开兼容模式都是一样),而在软件的帮助->关于下,显示的版本也是8.1。
Photo Sharing and Video Hosting at Photobucket
果然这方面微软不如腾讯,腾讯QQ传到服务器的版本信息是个两个字节的字符串的Hash,存在qqinfo.dat内,QQ.exe、LoginCtrl.dll不仅互相验证,也验证这个Hash,传到服务器的也是这个Hash;MSN?难道版本验证仅仅是验证EXE的信息?
总之到此,MSN7.0/7.5/8.0不能登录的问题已经得到解决。
PS:哈哈,我把7.5改成9.0.1457这个M$内部都没有的胡编版本号,居然能直接登录。。。不知微软管理员看到有什么感想
Photo Sharing and Video Hosting at Photobucket
UPDATE:果然那个破补丁只是改一下几个资源文件罢了。我还能用它作出独一无二的MSN版本呢~(MSN没有任何自我校验机能,数字签名坏了都不提示~

2007年9月22日星期六

Falcom 老游戏  太陽の神殿 アステカ][ 简易攻略

菜单操作方式:空格确认,之后使用道具则需要再按一次空格。确认应使用回车键。
先到本屏幕下方的尼僧院,取走中间老人像上的胸饰(平时调查这个道具可以看此时的月圆月缺状况,以后有三次会用到)
然后向上一屏幕,进入高僧之墓(左边的金字塔形建筑),移动右边的墙壁打开新入口;向右移动,调查棺材盖,取走上面的马赛克块,棺材盖自动打开,再取走遗体上的单眼面具。向左、向后离开此地。向右一屏幕,再向上一屏幕。进入左上角的Castilio,向前移动——看到墙上的缺口了?使用马赛克块,房间自动变成宝物库。移动黄金山得到红宝珠;调查石箱取走皮袋(非必须道具)、调查靠右后方的某坛子得到小杖;之后应当取走除了“金之台座”外的所有可以取走的东西(银之香炉(非必须)、大药罐、小药罐、浅底罐、多色瓶)。向后、向后,离开此处。进入Castilio右上方的战士神殿,取走左边石像上的银宝珠,取走豹像上的青宝珠——此时豹会生体化,后退,离开战士神殿再重新进入。豹像消失,调查墙上的小洞,使用小杖将里面的小铁钥匙吸出来。向下一屏幕,到湖(南之泉)旁边的建筑旁边,进入。洗(水龙头图标)从Castilio取得的“黄金之镜”,会看到湖内有东西,取走得“黄金之笛”。将“黄金之笛”与游戏开始就有的“创可贴”组合(动作图标是两个东西插在一起那个),补上破损处。回到战士神殿,等待(时钟图标)几次(准确的是等到胸饰上显示新月时),豹就会出现。使用“黄金之笛”,豹变回原样,取走青宝珠。离开战士神殿,回到游戏开始处,进入屏幕上方那个圆形建筑。将银宝珠放置在台座上,使用黄金之笛,银宝珠就会发光。离开此建筑“天文台”,回到Castilio和战士神殿所在地图,到战士神殿右侧,进入“千柱之间”。调查被光照亮的柱子,破坏(锤子砸的图标)那柱子前的地面,取走“金之宝珠”。返回天文台,取下银宝珠,将刚得到的金宝珠放置台座上,再次使用黄金之笛。再一次去千柱之间调查光照到的柱子,破坏地面得到“银之头像”。去Castilio,进入宝物库,取走“金之台座”,并把银之头像放置于无头石雕上,打开通道——但现在进去也没用。再次回到天文台,取下金宝珠,将金之台座放到台座上,再放上金宝珠;不要马上使用“黄金之笛”,而应该等待几次,直到胸饰显示为满月再使用。再一次去千柱之间拿到“金之头像”。
去球戏场(高僧之墓向上一屏幕)。先将单眼面具和红宝珠组合,再右进一格到有齿轮的房间,前进一格,使用单眼面具,取走墙上出现的青色砖块,此时应当后退,到齿轮房间取走墙上的齿轮限位器,前面道路被封锁,后退,离开球戏场。去Castilio,在入口使用青色砖块打开地下室,向下进入,使用齿轮限位器,移动齿轮边的手柄。然后依次取走手柄和齿轮限位器,向上,取走青色砖块,离开Castilio。回到球戏场,在齿轮房间安装上齿轮限位器和手柄,移动手柄打开通路。离开球戏场,找到生贄之泉(球戏场向左两个屏幕、向上三个屏幕)——此时因为在Castilio的事件,水已经消失。向下,移动右边的石像,打开门,前进,取走银钥匙。向左,发现自己在球戏场,离开之。去高僧之墓,破坏当初在Castilio得到那个多色的瓶子,得到水晶钥匙;得到单眼面具的房间,移动棺材中的遗体,发现钥匙孔,插入银钥匙,再移动棺材,发现密道。向下移动,(先要调查一下)使用黄金之镜,发现出口;调查棺材,使用水晶钥匙,取走遗体上的双眼面具。向后移动,从出口移动到Castilio,向上,向后,向后,离开Castilio。
再次去球戏场,将双眼面具与红宝珠组合,再与青宝珠组合;向右、向前、向前,使用双眼面具,看到白砖块,不要取走而要推动(相扑那个图标)。向后、向后,向后,向前,把金头像放到无头塑像上,再向左。此时会迷路,将小杖与同样是Castilio宝物库得到的浅底罐组合,再使用浅底罐,自动来到一堵墙前。将墙破坏,使用青色砖块,向前,发现太阳神殿。等待,直到胸饰显示半月状态,使用大药罐使自己变小,进入太阳神殿,使用小铁钥匙。向后退出太阳神殿,使用小药罐变回原样,再移动太阳神殿,获得太阳钥匙。向右移动,向后,向后,在齿轮房间向左,离开球戏场——通关!
注意点:如果带着金之台座去洗金之镜,金之台座会丢失,导致废档;
没有打开Castilio宝物库房间的密道前,不要打开高僧之墓的密道,否则进入此密道就等于废档;
刚拿到青之砖块不要立马向右拿银之钥匙,这样会立即废档;
生贄之泉向下后,碰左边的石像马上废档;
不要拿走白砖块,否则这是通关前的最后废档点;
不要把两个头像的顺序放错,否则也是立即废档。

银之香炉和皮袋的作用:在生贄之泉旁边有一处地方没有森林,进入此处可发现神殿迹,向前,摆放上香炉,使用皮袋,离开此遗迹发现BGM变化,此时抓紧时间到地图上剩下几处可以调查但平常去只是废墙的地点,就能看到壁画出现,其中是关于整个游戏的一些提示。
部分地图提示
以游戏开始点(天文台、尼僧院)为原点建立直角坐标系,一屏幕为单位,则(0,1)为高僧之墓,(0,2)为球戏场,(1,1)为南之泉,(1,2)为Castilio、战士之神殿、千柱之间,(-2,5)为生贄之泉、神殿迹。
这篇文章限定于PC88、98、X1、FM7、Windows、SS(Falcom Classics II)版的打法,FC版和MSX2版打法有很大区别。

2007年9月13日星期四

Safari 3.0.3 windows+ WebKit r25505(25585)=正确的中文输入。

终于实现了。这样下去,Safari在Windows上的稳定,指日可待,只要苹果再优化一些UI元素,把一些错误提示修改正确,并且把部分非Unicode代码页和Unicode代码页的混合显示(目前这种情况的存在我觉得还是在于Unicode转换字体列表的问题)、代码页切换做出来,就能做成正式版了。我今天把Safari for Windows的本体升级到了版本3.0.3,升级WebKit Nightly引擎版本到r25505(9月12日版)。结果我有惊人发现,在Safari的编辑框内,微软拼音能正确使用,微软日本语IME同样能够正常使用。这不需要什么高深的hack,只需要把现有的Safari 3.0.3+WebKit组合中的WebKit直接用r25505覆盖即可。
下面是情况截图Photo Sharing and Video Hosting at Photobucket
这次的问题是,webkit启动,很多GB内码汉字字号变成方块,而直接启动Safari则看着没问题。苹果啊苹果。你还认为你是一家加利福尼亚的公司而不是跨国公司。
不过正式版出来,我马上踢飞Opera。Firefox不能丢,我要Adblock~
Update:继续更新Nightly Webkit至r25585,这下更麻烦,Space在默认字体下完全乱了。。Orz。不过cnbeta在正确字号下的的部分乱码现象没有了。
也许要稳定的代价是。。。是整个Safari的体积增大好几兆。不过苹果迟早会把它彻底完成的。
Photo Sharing and Video Hosting at Photobucket Photo Sharing and Video Hosting at Photobucket Photo Sharing and Video Hosting at Photobucket

2007年9月10日星期一

在繁體(正體)中文Win98上測試Opera 9.5 Alpha版

據說最新的Opera 9.5 Alpha (代號Kestrel)在速度上有了很大的提高,我也拉了一個下來作一下測試。在Windows XP上,它的表現相當不錯;但是在我這個測試平台──CWin98上,它不僅瘋狂佔用系統資源(暫時不提記憶體,就說系統資源,剛啟動就使資源下降到了80%,網頁內圖片多時更加),且非Unicode系統下多代碼頁Unicode網頁無法正常顯示的情況仍然存在。而最可怕的是,一旦試圖下載檔案,就會當場Crash(不過至少比某些程式在Win9x下Crash則直接拖垮系統好)。
這個系統沒有簡體中文輸入法,因此這篇短文是正體。
Photo Sharing and Video Hosting at Photobucket
Photo Sharing and Video Hosting at Photobucket

2007年9月8日星期六

测试一下Windows Live Writer

这个M$工具其实出来已经有一段时间了。我并不想让它搞乱我的注册表,搞乱我的用户目录。

因此我找了个单独安装程序,exeScoped+UniExtracted,直接运行。

运行完全没有问题,只不过读取设置慢了点。软件也不大,大概10M。不过里面的DLL数,完全可以按照功能数量比例和腾讯QQ之类东西相比。唉。文件名极其具有Cocoa风格,很可能也是个.NET作品。

这是运行截图和目录截图。

可惜上传图片还是受到该死的600*600限制。以后屏幕截图之类东西还是放到photobucket好了。

2007年9月5日星期三

评OOXML竞争ISO标准失败:得道多助失道寡助,历史规律不可抗拒!

开源社区险胜了。OOXML还是被拒绝了。某人改了首歌词来加以庆祝:
“东风吹,战鼓擂。IT世界究竟谁怕谁。不是开源怕微软,而是微软怕开源。得道多助失道寡助,历史规律不可抗拒不可抗拒。微软垄断必将灭亡,开源社区一定胜利!”
虽然我承认这歌词火药味很重,毕竟现在在Office的世界,互操作性和兼容性才是真正的目标。OOXML作为微软Office 2007的标准格式,它必定不可能成为被一切Office软件所承认:它对与Office老版本的兼容性过于侧重,还需要兼容VBA脚本,结果在OOXML标准文档中出现了无数未文档化、只在微软自己的有版权文档中才出现的参数,成为开源社区批判它的最大把柄;然后是标准文档所能实现的内容和在微软Office中能实现的内容有很多差距。至于什么瑞典贿选这样的公关问题,另当别论。不过OOXML现在问题实在太多,微软想让它成为国际标准,确实得再费一番大功夫。
其实M$ Office 97-2003文档本身已经被解析得相当透彻了。微软其实公开老格式也并非失误之举,但是这会严重影响Office2007,所以微软不可能这么做。
PS:这个Cultural革歌曲,我改成我的BGM了。可惜Firefox不能听到。。

2007年9月3日星期一

web.archive.org,被关在墙外面了还是真上不了?

这个优秀的网络历史快照服务,似乎终于倒在某墙下了。连接被重置/无法连接,tracert能通。Tor似乎也没法连上这个站。不过archive.org论坛上却有这样的留言:

http://www.archive.org/iathreads/post-view.php?id=147370
这可就真奇怪了。难道不是真被上头看中了?(不过也是迟早的事情)。

想写一篇关于国内古董下载站之一bear5.com完蛋(可能仅仅是没备案)的文章,没了这个,可真是不行啊。