蜗牛的壳

蜗牛的壳

me =~ s/nai/liu/m;

浏览模式: 标准 | 列表
全部文章

油拖布(Youtube)的音频识别功能太强大了


前几天收到 Google Video 的邮件,所有的视频将于 4 月 29 日关闭。想想也是,Google 旗下已经有了 Youtube,没有必要再运营一个 Google Video。但是,Google 不负责将影片自动转移到 Youtube,只能自己手动上传。

先上传了《SMC》和《三名志》预告片,Youtube 自动阻止视频在德国地区播放,原因是“有可能使用 UMG(Universal Music Group)版权音乐”。好吧,阻止德国地区就不管它了。

更神奇的是,上传《三名志:第 0 集》之后,阻止国家名单突然变得特别长,有几十个,原因是“有可能使用 SME(Sony Music Entertainment)版权音乐”。看了一下,原来 Rick 兄在剪辑的时候,片尾音乐用了王力宏的《大城小爱》,结果导致影片在亚非拉地区全部禁播,但是北美地区就没事。

大小: 95.99 K 尺寸: 400 x 379 浏览: 6 次点击打开新窗口浏览全图

只能说,Youtube 的识别功能太强大了,片尾曲混着花絮、演员的嘻哈打闹,竟然还能识别出来……

P.S. Youtube 的导演帐号就是好,多长的影片都能上传。

18 年之后的圣战


前情阅读:《“文学,来源于生活,而又高于生活”

今天又在网上看到咆哮体,80 后“垮掉的一代”你们伤不起啊!

大小: 222.17 K 尺寸: 78 x 400 浏览: 32 次点击打开新窗口浏览全图 

“文学,来源于生活,而又高于生活”


标题,既是我们从小在语文课上学到的文学定律。而这个故事,发生在 18 年前。凭良心说,我对《夏令营的较量》这篇文章并没什么清晰的印象。但是在 90 年代初,孩子们(也就是 80 后)的确被打上各种负面标签,什么没出息啊,以后不能担当重任啊,中国会毁在这一代手里啊之类的,不绝于耳。同时,唱衰这一代儿童(80 后)的文章更是层出不穷:今天跟日本比,明天跟美国比,后天跟英国比……而且中心思想都很一致:中国要完了,因为我们的孩子已经“输在起跑线上了”。终于,我明白为什么后来的家长都变本加厉的搞学龄前教育,甚至胎教,以便打小孩生出娘胎的一瞬间,便能熟记牛顿三大定律、理解相对论,甚至能独立证明哥德巴赫猜想……

上面提到的《夏令营的较量》可以说是唱衰中国下一代的开篇之作。18 年之后,有一小撮“蓄谋已久”的挖坟者又将这篇文章公诸于世。但是,毕竟时过境迁,之前还被家长膜拜的作者,转眼之间变成众矢之的。为何?作者也不明白。但是,作为 80 后,咱知道,咱是活在这篇文章的阴影之下的、中国历史上最没用的一批人!

阅读文章原文可以猛击这里,原作者的博客。下面的引用仅供存档之用。因为原作者没种面对 80 后的舆论压力,已经关闭了博客回复,所以没准过两天也会将这篇文章撤掉。存档之前,我只想说,80 后成长的 20 多年,扛过多少舆论压力,就几个人上你博客上质疑几句算什么,就因为这点小事关闭博客评论,连这点舆论压力都受不了,真不知道“不具备竞争力”的到底是谁。

夏令营中的较量

孙云晓

1992年8月,77名日本孩子来到了内蒙古,与30名中国孩子一起举行了一个草原探险夏令营。

A中国孩子病了回大本营睡大觉,日本孩子病了硬挺着走到底。

在英雄小姐妹龙梅、玉荣当年放牧的乌兰察布盟草原,中日两国孩子人人负重20公斤,匆匆前进着。他们的年龄在11—16岁之间。根据指挥部的要求,至少要步行50公里路,而若按日本人的计划,则应步行100公里!
说来也巧,就在中国孩子叫若不迭之时,他们的背包带子纷纷断落。产品质量差给他们偷懒制造了极好的理由。他们争先恐后地将背包扔进马车里,揉揉勒得酸痛的双肩,轻松得又说又笑起来。可惜,有个漂亮女孩背的是军用迷彩包,带子结结实实,使她没有理由把包扔进马车。男孩子背自己的包没劲儿,替女孩背包不但精神焕发,还千方百计让她开心。他们打打闹闹,落在了日本孩子的后面。尽管有男孩子照顾,这位漂亮女孩刚走几里路就病倒了,蜷缩一团瑟瑟发抖,一见医生泪如滚珠。于是,她被送回大本营,重新躺在席梦思床上,品尝着内蒙古奶茶的清香。
日本孩子也是孩子,也照样生病。矮小的男孩子黑木雄介肚子疼,脸色苍白,汗球如豆。中国领队发现后,让他放下包他不放,让他坐车更是不肯。他说:“我是来锻炼的,当了逃兵是耻辱,怎么回去向教师和家长交待?我能挺得住,我一定要走到底!”在医生的劝说下,他才在草地上仰面躺下,大口大口地喘息。只过了一会儿,他又爬起来继续前进了。

B日本家长乘车走了,只把鼓励留给发高烧的孙子;中国家长来了,在艰难路段把儿子拉上车。

下午,风雨交加,草原变得更难走了,踩下去便是一脚泥水。
当晚7点,队伍抵达了目的地———大井梁。孩子们支起了十几顶帐逢,准备就地野炊和宿营。内蒙古的孩子生起了篝火。日本孩子将黄瓜、香肠、柿子椒混在一起炒,又熬了米粥,这就是晚餐了。日本孩子先礼貌地请大人们吃,紧接着自己也狼吞虎咽起来。倒霉的是中国孩子,他们以为会有人把饭送到自己面前,至少也该保证人人有份吧,可那只是童话。于是,有些饿着肚子的中国孩子向中国领队哭冤叫屈。饭没了,屈有何用?
第二天早饭后,为了锻炼寻路本领,探险队伍分成十个小组,从不同方向朝大本营狼宿海前进。在茫茫草原上,根本没有现成的路,他们只能凭着指南针和地图探索前进。如果哪一组孩子迷失了方向,他们将离大队人马越来越远,后果难以预料。
出发之前,日本宫崎市议员(应改为日方队长----作者注)乡田实先生驱车赶来,看望了两国的孩子。这时,他的孙子已经发高烧一天多,许多人以为他会将孩子接走。谁知,他只鼓励了孙子几句,毫不犹豫地乘车离去。这让人想起昨天发生的一件事:当发现道路被洪水冲垮时,某地一位少工委干部马上把自己的孩子叫上车,风驰电掣地冲出艰难地带。
中日两位家长对孩子的态度是何等的不同!我们常常抱怨中国的独生子女娇气,缺乏自立能力和吃苦精神,可这板子该打在谁的屁股上呢?

C日本孩子吼声在草原上震荡

经过两天的长途跋涉,中日两国孩子胜利抵达了目的地狼宿海。
当夏令营宣告闭营时,宫崎市议员(应改为日方队长----作者注)乡田实先生作了总结。他特意大声问日本孩子:“草原美不美?”
77个日本孩子齐声吼道:“美!”
“天空蓝不蓝?”
“蓝!”
“你们还来不来?”
“来!”
这几声狂吼震撼了在场的每一个中国人。天哪!这就是日本人对后代的教育吗?这就是大和民族精神吗?当日本孩子抬起头时,每个人的眼里都闪动着泪花。
在这群日本孩子身后,站着的是他们的家长乃至整个日本社会。
据悉,这次由日本福冈民间团体组织孩子到中国探险的活动得到日本各界的广泛支持。政府和新闻机构、企业不仅提供赞助,政界要员和企业老板还纷纷送自己的孩子参加探险队。许多教授、工程师、医生、大学生、小学教师自愿参加服务工作。活动的发起者、该团体的创始人河边新一先生与其三位女儿都参加了探险队的工作。他们的夏令营向社会公开招生,每个报名的孩子需交纳折合7000元人民币的日元。一句话,日本人愿意花钱送孩子到国外历险受罪。

D中国孩子的表现在我们心中压上沉甸甸的问号

日本人满面笑容地离开中国,神态很轻松,但留给中国人的思考却是沉重的。
刚上路时,日本孩子的背包鼓鼓囊囊,装满了食品和野营用具;而有些中国孩子的背包却几乎是空的,装样子,只背点吃的。才走一半路,有的中国孩子便把水渴光、干粮吃尽,只好靠别人支援,他们的生存意识太差!
运输车陷进了泥坑里,许多人都冲上去推车,连当地老乡也来帮忙。可有位少先队“小干部”却站在一边高喊“加油”,当惯了“官儿”,从小就只习惯于指挥别人。
野炊的时候,凡是又白又胖抄着手啥也不干的,全是中国孩子。中方大人批评他们:“你们不劳而获,好意思吃吗?”可这些中国孩子反应很麻木。
在咱们中国的草原上,日本孩子用过的杂物都用塑料袋装好带走。他们发现了百灵鸟蛋,马上用小木棍围起来,提醒大家不要踩。可中国孩子却走一路丢一路东西……
短短的一次夏令营,暴露出中国孩子的许多弱点,这不得不令人反思我们培养目标与培养方式的问题。第一,同样是少年儿童组织,要培养的是什么人?光讲大话空话行吗?每个民族都在培养后代,日本人特别重视生存状态和环境意识,培养孩子的能力加公德;我们呢?望子成龙,可是成什么龙?我们的爱心表现为让孩子免受苦,殊不知过多的呵护可能使他们失去生存能力。日本人已经公开说,你们这代孩子不是我们的对手!第二,同样是少年儿童组织,还面临一个怎样培养孩子的问题。是布道式的,还是野外磨练式的?敢不敢为此承担一些风险和责任?许多人对探险夏令营赞不绝口,可一让他们承办或让他们送自己的孩子来,却都缩了回去, 这说明了什么呢?
是的,一切关心中国未来命运的人,都值得想一想,这个现实的矛盾说明了什么。
全球在竞争,教育是关键。假如,中国的孩子在世界上不具备竞争力,中国能不落伍?

(1993年11期《读者》摘自同年7期《黄金时代》,该文被评选为《读者》创刊20年最有影响力的10篇文章之一)

可以说,这篇文章刚问世的时候,正赶上国内人民思想单纯,相信没人会质疑上面标粗的几个数字。好吧,我来做一个最简单的数学计算:普通人的步行速度是 2 米/秒左右,小孩子应该更慢一点,以这个速度走 100 公里需要多长时间呢?学过小学奥数、初中数学、高中物理的都会计算:14 小时,而且是速度不变走 14 小时!好吧,既然小孩子们不具备竞争力,那大人总该比小孩子强吧?那么作为作者自己连续走过 14 小时没有?而且,别忘了,是负重 20 公斤连续走 14 小时!

好吧,很多家长会说:“看看人家日本孩子意志坚强……blah blah blah……”就像家长总会在餐桌上说:“看看楼上张三,数学第一;楼下李四,语文第一;隔壁王五,钢琴十级……”言下之意就是,你 TM 怎么就这么没出息!但是,何以见得人家日本孩子意志坚强?就凭后面那几段话?既然这篇文章已经不可信了,那么后几段话除了八卦以外还有什么用?

让大家都没想到的是,原作者还写过避重就轻的澄清文(相信很少有人知道还有这篇文章)。这篇文章的中心思想就是:虽然之前我的言论可能有一点点小偏差,但是里面的东西还都是尊重事实的。

咱再来举个例子。如果我先发个帖子说:“孙云晓你就是个傻逼!”然后再发个帖子说:“不好意思,虽然我之前言论有些不当,但内容基本上还都是尊重事实的……”肯定大家都会觉得,我这个人没素质,出口成脏,然而对于孙云晓这个人是不是傻逼,当然忽略不计了,既然论据都没素质,那论点肯定不作准的。

同理,《夏令营的较量》这篇文章的论据爆出这么大一个漏洞,回头还要说他的论点是正确的,这可能么?

最后,问候一下所有跟风唱衰 80 后的“教育家”及各级“专家”,还有我的小学三~六年级班主任老师。尽管你们打心眼里“为我们好”,我还是要发自内心的问候你们以及你们全家男女老少,因为……你~们~毁~了~我~的~童~年~,从~而~毁~了~我~的~人~生!

附注:S1 论坛网友回帖(数据真实性尚待考究)

《夏令营中的较量》是作者为鞭策中国孩子而创作的文学作品,为了使它有较高的可信性,作者以报告文学的名义发表了此文。虽然文中有许多地方违背了常识:
1.古代骑兵部队一日的奔袭不过百余里、红军飞夺泸定桥日夜兼程也就一百六十里=80公里、现代美军机械化推进一日也只有上百公里就被称为奇迹。而文中的日本小孩一天徒步200公里!
2.军人负重行军标准是1/4体重,特种部队标准是1/4体重,而文中的日本小孩负重1/2体重!
3.文中说提地区根本没有被提及的那个名字的草原。那里唯一的草原,没有文中所说提到的野生动物,那些野生动物不是该地区域能生存的!那里唯一的草原,常年都没有文中提及的气候变化!最多是清晨会有小毛毛雨!
虽然文中有许多地方违背了常识,但当年该文影响的教育界无人有军事、动植物、地理知识因此没有影响到该文的广泛流传,鞭策了一代代的中国孩子,使这些孩子成长为当今中国社会的栋梁,而不是像日本现在的宅男宅女们大难临头只顾自己还要靠已退休老一辈的冲向危险区!

手机游戏:无以伦比的性价比


在上一个全成就帖之后,已经过去 5 个月了。虽然这 5 个月中全成就了很多游戏,成就分也增加了 10000 多分,但是因为大部分都是 Gal Game,成就都是刷出来的,所以也就再也没写成就帖。

这一次集中记录一下 Windows Phone 7 的游戏进度。

在去年 12 月初买了 Windows Phone 7 之后,一直抠门,没舍得买游戏,下载了一大堆试玩版。结果,圣诞节在家耐不住寂寞,顺手解锁了《Glyder》。有第一个就有第二个,之后又买了《Revolution》、《Ilomilo》、《Parachute Panic》、《Butterfly》等等。其中最贵的是《Ilomilo》,花了 $5.49,其他的价格都是 $3.49。

手机游戏的确便宜,但是便宜不等于不好玩、不耐玩。

这些游戏里,目前耗时最长的大概是《Glyder》。这也是 Windows Phone 7 上见到的第一款像样的 3D 飞行游戏。尽管是滑翔机,没有飞行模拟那样华丽,但是合理的地图、多种多样的装备收藏、和那些看似重复但技巧性很强的任务,的确令这款游戏值得称道。起初,总是因为没办法在规定时间完成任务而恼火。到了后期,随着装备增强,反而所有的任务都似乎少了些挑战性。

同样是玩游戏,但是玩 PS2 游戏和玩 Xbox 360 游戏的感觉就是不一样,除了画面的增强,还有一个关键的因素就是 Xbox 360 的成就系统。话题似乎扯远了,但是反过来看《Glyder》这款本来是发布在 iPhone 上的游戏,加入了成就系统之后,反而延长了游戏时间。本来那些可以完成也可以不完成的任务,当它们成为成就解锁的条件之一,也就变成必须完成的任务。

《Revolution》比较遗憾的是成就 bug。第 47 关因为不明原因被设为三步夺金。但实际通关过程中,三步无法解开所有齿轮,所以金牌自然拿不到,现在无数人被卡在 224/225 金牌而无法拿到最后的成就。如果排除这个 bug,《Revolution》是一款很好的益智游戏,通过排列摆放齿轮,让所有的齿轮转动,这种简单的创意却带来无限的挑战。

《Ilomilo》之前在 Xbox 360 上就全成就过了(自制机通关),比较另类的迷宫游戏。这次出在 Windows Phone 7 上,二话不说就买了。比较喜欢《Ilomilo》世界和人物的设定,还有 BGM。目前《Ilomilo》BGM 是仅存在于手机上的 5 首歌之 3。另外,《Ilomilo》开发商比较厚道,第一个 Title Update 一下子新增了 20 多个新地图(第二故事)。

《Butterfly》纯属无聊玩玩,很简单,但是却很好的发挥了触摸屏的长处。这游戏全成就很快,甚至在全成就的时候还没收到微软的游戏购买账单。

《Parachute Panic》目前还没全成就……

回头想想,跟主机上动辄 $59.99 甚至 $69.99 的游戏相比,$3.49 的游戏也很好玩,游戏性完全不逊于主机游戏。难怪任天堂拿手机游戏开炮,说他们抢了主机游戏的利润。如此高的性价比,就是手机游戏的优势啊。

2010 退税分析:ON479 OEPTC


前言

“君有疾在蛋里,不治将疼。” —— 蛋疼的典故……

已经为报税头疼半个多月了。每年的报税表格都越来越复杂,解释越来越含糊,但是没办法,咱还是要为五斗米折腰。因为今年 Ontario 新分离出来一个 OEPTC(Ontario Energy and Property Tax Credit,安省能源和物业地产退税)项目,算法乱七八糟,最后终于下定决心,将蛋疼进行到底,彻底分析一下这个税项。

 

插曲

下面是 ON479 报税表格,从 CRA 发行的官方 2010 Tax Return Package 里面扫描的两页。

大小: 1.01 M 尺寸: 309 x 400 浏览: 17 次点击打开新窗口浏览全图    大小: 1.01 M 尺寸: 304 x 400 浏览: 9 次点击打开新窗口浏览全图

首先就爆出一个问题:Line 21 = Line 18 - Line 19。这个算式看似没问题,但是 Line 19 的数值是“Enter the amount for line 18 of the previous page”(输入上页中 Line 18 的数值)。好吧,这样看来 Line 21 恒等于 0!再继续算下去,得出的 Ontario Energy and Property Tax Credit 肯定是 0(具体算法下面会解释)。

实际上,这是一个印刷错误。在各个报税软件里已经更正为 Line 21 = Line 19 - Line 20。但是在 CRA 网站上没看到任何更正声明。可能是位置不明显吧。(咱先说两句好话)

好,继续按照更正之后的算式来计算。

 

初步计算

这里影响最终退税的有几个值:家庭总收入(Line 1,设为 Z),无产阶级租房者年租金(Line 2,设为 R),资产阶级有房者年地税(Line 3,设为 P)。

Line 5 为住宿相关花费,Line 5 = R x 20% + P,为了方便计算,设为 A。

Line 12 为能源相关花费,Line 12 = min(200, Line 5 + 其他能源花费 x 20%),基本上 Line 5 就已经超过上限 200 了,所以基本上每个人都是 200。

Line 17 = Line 5 x 10% + 50,则可以表示成为 Line 17 = A x 0.1 + 50。

Line 19 = Line 18 = Line 12 + Line 17 = A x 0.1 + 250

Line 20 跟家庭收入(Z)相关,标准算式根据个人状态不同个不一样。为了计算方便,暂时假设 Line 20 = X。

由此得出 Line 21 = Line 19 - Line 20 = A x 0.1 + 250 - X

第一个分支:如果 Line 21 = 0,那就不用看了,下面算出来的结果肯定是 0。因此,需要 Line 19 > Line 20 才能继续, 成立条件即 X < A x 0.1 + 250。

Line 23 是老年人(65 岁以上)相关,所以我要填 0。

Line 28 = Line 26 - Line 27 = Line 24 - Line 25 - Line 27 = Line 22 + Line 23 - Line 25 - Line 27 = Line 21 - Line 12 - Line 5  ⑴

第二个分支:如果 Line 21 > Line 12 - Line 5,则 Line 28 按算式 计算。若 Line 21 <= Line 12 - Line 5,则 Line 28 = 0 

此时算式 ⑴ 和 ⑵ 都能得出非零结果,所以暂时两项都保留。

Line 29 = Line 21 - Line 28。

按照上面的分支计算:

1. Line 21 > Line 12 + Line 5(A x 0.1 + 250 - X > A + 200,可推出 X < 50 - A x 0.9)

则 Line 29 = Line 21 - Line 28 = Line 12 + Line 5 = A + 200。

这是一个皆大欢喜的结局,退税与收入无关,但与住房相关花费成正比。

2. Line 21 <= Line 12 + Line 5(X >= A x 0.9 - 50)

这样一来,Line 29 = Line 21 = A x 0.1 + 250 - X。

因为在分支 1 得出条件 X < A x 0.1 + 250,则此处 Line 29 必定为正数。

 

单身王老五的幸福生活

首先先算单人家庭的收入、房租、退税之间的关系。

带入 Line 20 公式,X = (Z - 20000) x 2%。此时需要满足分支 1 的条件,再按分支 2 分情况讨论。

分支 1:X < A x 0.1 + 250,带入 X 和 A 之后得 (Z - 20000) x 2% < (R x 20% + P) x 0.1 + 250,可推出 Z < R + 5P + 32500

分支 2-1:X < 50 - A x 0.9,可推出 Z < 22500 - 9R - 45P。

画个图,看得比较直观一些。

大小: 70.82 K 尺寸: 331 x 400 浏览: 1 次点击打开新窗口浏览全图    大小: 62.94 K 尺寸: 319 x 400 浏览: 1 次点击打开新窗口浏览全图

相关数据:按单身居住 1 居室公寓计算,2009 年 Ottawa 平均房租为 $853/月 [1],即 $10236/年。2010 年这个数字只会涨不会跌,则收入大概超过 $43000/年就拿不到 OEPTC 了。

相关数据:2010 年 Kanata 的地税大概为 $4000 - $6000 之间 [2](取决于市政房屋估价),Toronto 的地税则更高。则收入超过 $60000 基本上就拿不到 OEPTC 了。

 

已婚大叔大妈的残酷现实

带入 Line 20 公式,X = (Z - 25000) x 2%

分支 1:X < A x 0.1 + 250,可推出 Z < R + 5P + 37500

分支 2-1:X < 50 - A x 0.9,可推出 Z < 27500 - 9R - 45P。

也就是说,将上面两幅图的直线均向上平移 5000 单位。但是考虑到 Z 是家庭总收入,双职工的话就是两个人的收入之和,所以按照单人计算还要将 Z 轴的单位除以 2。(租房住的话,单人收入超过 $22500;自有房的话,单人收入超过 $32500 基本上就没什么退税拿了)

 

结论

1. 如果收入很低住房支出也很低,则退税与住房支出成正比,至少为 $200。(区域 ①,但一般人是不会落到区域 ① 当中的,因为找不到那么便宜的房子)

2. 如果收入偏低,或者住房支出偏高,则退税与住房支出成正比,与收入成反比。(区域 ②)

3. RP 高就能多拿退税。如果有一栋已经付清的豪宅(祖上财产之类),但是收入不是特别高,那么恭喜,基本上还是能拿到退税的。

4. 两个人都工作的话基本上没退税拿,RP 高都没用。谁让你们家把别人的饭碗都抢了!

 

后记

写这文章花了我两宿时间,涂了改,改了算,算完再写。希望不要出什么差错。

很多人都说,退税有什么难的,拿个软件,把数据输进去,直接就算出来了。之前我也是这么做的。但是这次用 UFile 报税之后,NETFILE 一直报错,才诱使我开始分析各个报税项目。结果,不看不知道,一看吓一跳,每年报税做起来容易,但是原理却这么复杂。其实,原理越复杂,政府越有优势,毕竟很少有人能把各个报税项目都研究明白。浑水好摸鱼,古今中外都是这道理……


参考资料:
1. How much does it cost to rent an apartment in Ontario?(数据来源:CMHC)
2. Property Tax Estimator(Ottawa 市政府提供)

兼容性破表,Windows 7 XP Mode 威武~


之前因为组装服务器,打印机、扫描仪通通不能用了,因为驱动不支持 Windows 7 / Server 2008 R2。

这个问题终于解决了,使用 Windows 7 XP Mode。这里要赞一下微软在兼容性方面的努力。

以前总有一个疑问,为什么微软总要花大量的人力物力财力在“向后兼容”上,现在终于找到答案了。没有向后兼容,本来用的好好的打印机和扫描仪就是废品,再买台新的显然浪费。

Windows 7 XP Mode 另一个强大的地方就是 USB 共享,也就是虚拟机可以使用主机的 USB 资源。正是有了这项改进,才真正的实现了老设备兼容。

P.S. 今天的另外一项利好消息:微软将 Windows Phone 7 Marketplace 每个开发人员可提交免费应用的限额从 5 个提高到 100 个。嗯,是时候提交第一个免费应用了。

P.S.2. Xbox 360 上竟然冷不丁冒出来一个《Pia Carrot 4》。但是,目前还没有相关成就攻略。所以,周末打算再提取点素材出来玩玩。

P.S.3. (神机终于出场了 = =|||) MyGamerCard.net 杯具地关站了,在我的个人网站右侧留了一个大大的 logo。又要去寻找新的 Gamer Card 提供网站了……


终于把所有的光盘内容都解出来看了一遍。战利品如下:

大小: 181.1 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 195.9 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

大小: 162.85 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 182.01 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

大小: 215 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 215.51 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

大小: 239.65 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 237.05 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

大小: 222.52 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 231.27 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

大小: 180.96 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图    大小: 189.37 K 尺寸: 256 x 360 浏览: 0 次点击打开新窗口浏览全图

另外一个好处就是自己做了一个 Archive Manager 框架,以后再有打包的文件只需要将文件分配规则定义一下就能直接抽取。

大小: 17.7 K 尺寸: 247 x 400 浏览: 1 次点击打开新窗口浏览全图

《俺の嫁 ~あなただけの花嫁~》光盘内容分析


开场

早就听说这游戏是成就神作,就想着一定要拿来刷成就。正巧本期《Official Xbox Magazine》搞了个 Gal 专题,里面第一个介绍的游戏就是《俺の嫁 ~あなただけの花嫁~》。为了响应欧美对 Gal 的注目,俺决定把这游戏通掉!

游戏通掉之后,很喜欢日历界面的那个 Q 版人物动态图,于是乎就开始打游戏光盘的主意……

光盘数据结构

游戏光盘上的数据分为 4 个文件夹:

MOVIE:包含所有的开场、结尾动画,720p WMV 格式,拖出来就能看
Table:所有的游戏内部设定数据
UNION:所有的游戏素材
XML:没看明白,估计是画面描述

既然素材都在 UNION 文件夹里,那就直接研究这里。

存储方式

所有素材都经过分类,打包储存于不同的 UNI2 文件当中。

所有的音频都以 xWMA 形式储存。xWMA 是微软为 Xbox 360 专门制定的音频编码,基于 WMA,但是加入了硬件解码,所以不能在 PC 上直接用播放器打开。需要 xWMA to WAV converter

图像和其他文件都要经过 XBCompression 压缩。必须用 XBDecompress 解压之后才能浏览、编辑。

图像基本上都是 DDS/DXT5 格式,据说是显卡优化格式。需要用 ATI Compressonator 打开。可以另存为 PNG 文件。

其他还有一些文件暂时没找到打开方式。

UNI2 (Union 2) 文件结构分析


本次所研究的 UNI2 文件来自 Xbox 360 游戏《俺の嫁 ~あなただけの花嫁~》。

文件基础结构

本次所研究的 UNI2 文件具有以下基本结构。不保证其他 UNI2 文件也拥有相同的结构。

簇大小(Cluster Size):0x800(2KB)
文件标识符在 Cluster 0(Offset:0x00000000)
文件分配表在 Cluster 1(Offset:0x00000800)
文件数据始于分配表之后的 Cluster

所有的文件都是对齐于相应的簇(2KB boundary),这跟文件分配的概念是一致的。

文件头

大小: 6.85 K 尺寸: 400 x 62 浏览: 0 次点击打开新窗口浏览全图

从图中可以看出,UNI2 文件头包含 4 个 Int32(Uint32?)。

第一个 Int32:0x554e4932(ASCII:UNI2)是文件标识符。
第二个 Int32:0x00010000 不知道是什么意思。有可能是簇大小?或者文件数据区的起始地址?
第三个 Int32:0x00000012 所包含的文件个数。(这个 UNI2 里面包含 18 个文件)
第四个 Int32:0x00000001 也不知道是什么意思。有可能是文件分配表的起始簇?

文件分配表

大小: 29.51 K 尺寸: 400 x 225 浏览: 0 次点击打开新窗口浏览全图

每 4 个 Int32 代表一个文件。意义为:

第一个 Int32:文件编号(File ID)
第二个 Int32:文件起始簇编号(这个是偏移量,要加上数据区其实簇编号才是真正的文件起始)
第三个 Int32:文件所占数据区大小(以簇为单位,所以并不是真正的文件长度)
第四个 Int32:文件的实际长度(字节)

 

结构研究明白了,做个 Parser 并不是什么难事。

IIS 7.5 + ARR + Rewrite 做逆向代理


服务器架好之后,就想着怎样把所有的服务统一管理。My Book 上的 Transmission,主机上的 eMule,还有 MiPony,这些程序都带有用于远程控制的 WebUI。但是这些服务分散在内网的多个机器上,需要设置逆向代理才能从外网统一访问。

首先根据教程安装上 Rewrite 2.0 和 Application Request Routing 2.0。但是,在设置 Rewrite Rule 的之后,远程访问总是报告 404 文件未找到。后来终于找到原因,在 IIS 7.5 上需要用“服务器场(Server Farm)”来引导请求指向。

首先,在新建一个服务器场,就叫做 eMule。这个服务器场只有一个服务器。(由于我的 eMule 远程控制端口开在 5000,所以要先把 httpPort 改成 5000,再点“添加”)

大小: 10.05 K 尺寸: 400 x 383 浏览: 1 次点击打开新窗口浏览全图

然后,在 Inbound Rewrite Rule 里面选择“指向直服务器场”。

大小: 19.98 K 尺寸: 400 x 400 浏览: 2 次点击打开新窗口浏览全图

逆向代理的好处不仅仅是中心管理,而且还能使用 SSL 加密连接和 IIS 集成的用户验证,这样可以使远程管理更加安全。


后记:有些时候 Geek == Freak(翻译成中文就叫“沙比”)。本来也想把 uTorrent WebUI 集成进来的,结果发现 uTorrent 的用户验证没办法关掉,而 IIS 7.5 又需要另外一套验证。uTorrent 官网上有很多人建议把用户验证作为可选项,可是得到的回复都是“为了安全起见,俺们不会那么做。否则小白的机器就会被别人控制,所有下载都会被删光光……” 就一个简单的明文验证还叫安全?难道坏蜀黍们就不会嗅探远程密码、得到控制权限么?做个可选项,并且默认启用会死?

 


2011/02/06 更新:

终于把 uTorrent 也给设置好了。这里需要耍个小聪明,因为我的服务器使用的是简单密码登录,而 ARR 在做逆向代理的时候,会把 HTTP 头的验证部分也传递过去,所以只需要在 uTorrent 里面把用户名/密码设置成跟登录服务器的一致就可以了。

另外,uTorrent 2.0 以上版本的 WebUI 加入了 Auth Token,这个“安全巧妙”的设计却使用了一种非常傻缺的方法来实现:在 javascript 脚本里面不断请求 http://{host}/gui/?token= 或者http://{host}/gui/token.html。我的转向目录设置为 /utorrent/,所以请求 /gui/ 下面的东西 IIS 理所当然地回复 404 文件未找到。

解决方法也很麻烦,要在 uTorrent 程序配置路径中找到 webui.zip,用 WinZip/WinRAR 将里面的 webui.js.gz 解出来,再用 gunzip 解出 webui.js,把里面的 urlBase(在 3.8.0 中是 guiBase)变量强制改为“./”,再用 gzip 封包,然后替换到 webui.zip 中。到这里还没完,还需要重新启动 uTorrent 才能使更改生效!

最后,终于把 uTorrent 也整合到中心管理中了。


2011/02/06 另更新:

如果在根节点设置 Rewrite Rule,则必须使用服务器场。如果在某一站点节点设置 Rewrite Rule,可以不使用服务器场,直接填写 http://server-address/service-url 即可。

Records:30712345678910»



« 2012年02月 »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

标签

用户


链接


归档


信息

  • 分类数量: 15
  • 文章数量: 307
  • 评论数量: 114
  • 标签数量: 556
  • 附件数量: 510
  • 引用数量: 0
  • 注册用户: 12
  • 今日访问: 356
  • 总访问量: 778219
  • 程序版本: 1.6


加拿大中文电话

  • CIBC
    1-888-298-8822
  • TD Canada Trust
    1-800-387-2828
  • HSBC
    1-888-310-4722
  • Scotia Bank
    1-800-830-8080
  • RBC Royal Bank
    1-888-769-2598
  • Rogers TV
    1-800-787-7953
    1-866-406-7239
  • Rogers Wireless
    1-800-828-9828
    or *2288
  • Fido
    1-866-888-3436
  • Bell Home Phone
    1-800-715-1888
  • Bell ExpressVu
    1-888-759-3474
  • UPS Delivery
    1-800-233-8133