现代的日本联网街机真的适合中国市场吗?

昨晚(4.16)刚写了个草稿,今天就听说了下面的 5 号新闻。日本的街机厂商想要在中国复刻他们在日本本土对日本游戏厅的铁腕政策,我看是有点难的。

好久不见。从上一篇文章发布(2023年11月底)之后,这小半年的时间,国内的街机市场似乎没有非常震撼的变化。但是,日本的街机市场,特别是音乐游戏市场的新闻还是比较多的。具体来说:

1、Konami 宣布 iidx/sdvx 的旧框体(非 lighting model)停止服务。
2、Groove Coaster(中文名:节奏过山车) 的街机服务终止,或者说,GC的街机停服了。
3、SEGA 联合大阪市阿倍野区警察局在 G-Pala 阿倍野抓捕了一个尝试非法盗取街机数据(新闻写的是乐曲但是其实就是 maimai buddies+ dump)的中国人。
4、太鼓之达人世界一比赛开赛,中国大陆地区也同步举办。
5、(4.17 刚刚更新)某个世嘉音游国内版权相关方(可能是世嘉或者其他权利声明人)突袭了上海街机烈火游戏机店,将店内所有非中国大陆正规的世嘉音乐机及相关制品(包括 maimai DX buddies+、card maker、音击等)以“证据保全”的理由进行了撤机并进行了回收。

这些对国内的街机行业有没有影响呢?我觉得,还是有的。

序言 为什么是现在讨论这个问题?

世嘉的《舞萌DX》(maimai DX)在中国大陆地区首次上市,恰逢两个关键时刻:一是音乐类(包括舞蹈机)游戏机在大陆的更新空档期,二是国内新兴街机连锁品牌的快速扩张。在中国,部分游戏厅的商业模式不依赖于游戏的单次租赁收益,而是允许某些机器通过亏本运营来吸引客流。此外,国内街机的销售(从代理商或厂家到游戏厅)通常采取买断方式,这使得一些本应适用于现代日本街机市场的游戏机在中国采取了一种畸形的运营模式。由于大量玩家极度激烈的反应(包括对SEGA、《maimai DX》及其制作人KohaD的推特进行辱骂),经过多轮商议后,世嘉决定将国内的《舞萌》升级至与国际版同步,仅落后日本版本六个月的《舞萌DX 2023》版本。

通过升级度过了第一次矛盾的爆发点,那这一次,即使又通过一方或者多方的妥协继续升级,这个矛盾还能继续掩盖下去吗?

一 日本街机厅和街机的大店化、连锁化

早在2012年,《100日元的奇迹》时期,日本众多中小型游戏厅已开始面临厂家频繁且高成本的更新要求。随着21世纪第二个十年的到来,日本游戏厅大量倒闭(从18,000家减少到10,000家以下),多数倒闭的是中小型及个体经营的游戏厅。尽管自2023年以来全球大流行逐步缓解,结合日本实施的宽松经济政策,街机市场有所复苏,但游戏厅业的巨头化和连锁化趋势并未改变。

来源:https://www.tdb.co.jp/report/watching/press/p240404.html

因此,自2010年代起,日本街机游戏的开发趋向专为连锁和自营模式进行,强调渠道控制。例如,多数音乐节奏游戏机采用强制网络连接的运营模式,要求店家定期购买每半年或每年的升级包。如果店家拒绝升级,将面临机器网络服务的强制中断和后续升级权的丧失。随着游戏厅运营方的集中化,厂家能较顺利地推行这些限制,并容易执行对违规商家的黑名单和行业禁入措施。

街机游戏的高成本和频繁更新使得游戏模式逐渐向网络游戏模式靠拢。日本街机市场的传统模式难以改变(如单次百元日元投币),早期尝试将消费税增额转嫁到投币成本上的做法未能成功。因此,提高机器使用率成为提升收入的必要手段。厂商开始在街机中引入类似移动游戏的功能,如签到、积分、任务和抽奖等,这些功能实质上将传统的游戏厅模式(投币租赁游戏程序及设备的独占使用权)转变为类似网络游戏的付费模式,其中玩家的投币仅获得“登录权”,完整的游戏体验需要持续的消费和多次游玩。

这种模式的设计基于这些游戏类型自身的盈利能力。在日本,因为街机娱乐业高度细分,类似于赌博机器的四号令游戏机需要特殊的营业许可,而礼品机由于日本发达的版权机制,利润微薄,仅能作为礼品厂商的代销渠道。在这样的市场环境下,难以盈利的游戏机极难在市场中生存。

二 “零散”的国内市场

尽管中国大陆的游戏厅市场在过去几年有所兴盛,例如“神采飞扬”和“大玩家”等连锁品牌,这些品牌虽然自身规模较大,但远未形成市场垄断。即便是这些较大的连锁品牌,在成本和其他考量下,经常采购或引进一些非街机厂家直销的旧机器设备,如“SEGA VS City”对战框体及其他流行的二手机器。这种情况使得国内街机厂家在游戏厅市场中几乎无法实施有效控制,主要还是依赖于一次性销售。

在中国,由于缺少对于街机运营行业的细分政策,几乎所有的游戏厅(现代称呼为“动漫城”)的主要收入都来自礼品机、出票机和所谓的“中性机”。这与日本市场的细分化街机娱乐业态形成了鲜明对比。这些主要盈利的机器只依赖游戏本身上瘾性的玩法,因此主要还是以买断为主,所谓的增值服务只是“加难”这种降低爆率的服务。

娃娃机等礼品类机器虽然也是重要的盈利点,但总体盈利能力较低。娃娃机的营收具有更强的季节性(如周末高峰)和随机性。

这种市场环境导致游戏厅运营者在选择非以上三类的娱乐机器时,并未与过去十年有太大变化:仍然是购买市场上最新、最昂贵、最吸引眼球的设备,以此吸引顾客到店体验,并将一部分顾客转化为稳定的盈利来源。

近年来,中国游戏厅在娱乐机上进行了多种尝试,如针对儿童娱乐市场取消生育限制后的多样化儿童游戏机,结合流行文化的卡片类机器(如《火影忍者》、《三国幻战》、《我的世界》等),以及引进和自研的射击、赛车摩托类设备和篮球投篮机。虽然投篮机相对成功,其他类型的机器在市场上的表现却难以称得上成功,但它们仍在国内游戏厅中占有一定位置。

虽然国产机器这些年质量、可玩性上逐渐追上来了,但是绕不开的仍然是对于日本街机的引入和运营。

三 不可调和的矛盾正在逐步爆发

正如这些年来我讨论中国大陆街机运营的文章,在日本街机开发团队大规模缩减的背景下,日本的街机开发大厂依然在中国大陆寻找新的经济增长点。截至2024年3月,中国大陆地区的《舞萌DX》街机数量已超过1800台,而《中二节奏》的台数也超过了500台。同时,采用分成模式运营的《太鼓之达人》(中国版)在超过400家门店中推广。

由于恰好填补了大陆地区音乐游戏机迭代的空缺,《舞萌DX》的设备在中国大陆的铺设数量达到了惊人的规模。以我的家乡为例,在《太鼓达人》和《舞萌》时期,整个城市仅有一台正版《太鼓之达人12》亚洲版和一台正版《舞萌》。但现在,整个城市的游戏厅中《舞萌DX》的机台数量已高达20台以上。

这些新增的游戏厅多为品牌门店,如“天空之城”、“量子攻略”和“潮玩社”。它们在三四线城市的运营策略非常明确:主要依赖出票兑换礼品和娃娃机来盈利。因此,对于担负吸引人气重任的娱乐机(如《舞萌DX》、《e舞成名》等),这些品牌选择以低价甚至免费的方式向玩家开放。这种运营模式对单一门店来说无疑是有利的:由于机台价格低廉,大量玩家涌入这些门店,同时带动了其他游戏机的销售。

这样的模式下,日本娱乐机的维护变成了一个非常大的问题:因为机器本身缺乏盈利能力,游戏厅缺少维护它们的动力。只要屏幕能亮,能出声音,有人玩就行。更不用说为它们支付升级费用了。这样的运营模式,在网络时代全国乃至全球玩家都能玩到同一款游戏的前提下,就会获得店内玩家非常强烈的负面反馈。我在过去的一年里加入了多个游戏厅行业从业者的讨论、交流群,至少在一线(店长、机修)这一层面上,他们对于日系音乐游戏玩家的反馈都是“没什么钱,而且要求还很高”。

要求高吗?其实对于大店化了的现代日本街机来说,保持按键、屏幕正常是街机正常运营的正常步骤。这些街机是在街机厂家与存活下来的游戏厅大厂站到同一个利益面后产生的,在不同的店都能获得同样的游戏体验在日本厂家的视角里是理所当然的事情。但是在国内,这些机器在游戏店内的角色、承载的任务目标都不同,至少目前没有看到引进这些机器的厂家为国内的现状市场做任何本地化的改变。

低价并取代了早期多款音乐游戏并存地位的舞萌还有一个问题,就是将早年间几个游戏的目标群体合并起来了。e舞成名、舞立方、舞萌、乐动魔方、太鼓……早年间的这么多机器,其实玩家画像都稍有区分的。但是,到了2024年这个节点,本来应该分布在不同游戏里的玩家群几乎都合并在了这一个游戏的框架下。更大的群体基数带来的问题是有了更多的玩家矛盾和冲突,使得玩家市场更加难以调和,对于“吸引人气”这个目标,也产生了比较大的负面影响。

那尝试让这些机器盈利呢?那就终于说到了这个矛盾即将爆发的点。

早在2019年,日系街机在国内迎来了一波小阳春。彼时华立拿下了舞萌DX,中二节奏在谈;世宇捡回了konami 在改组后几乎放弃的 drs,并买入了 sdvx5 进行了本土化改造,还买入了wacca。除舞萌DX、中二节奏采用了收取游戏厅网络服务费的模式外,世宇的机器全部采取了玩家额外付费的模式(小程序VIP)来解锁额外的歌曲和功能。但事实上,真正愿意付费的玩家数量显然没有满足世宇的服务预期,于是这些机器后续也就没能跟上更新。

然后,迎来了2023年的太鼓之达人(中国版)。

万代南梦宫在国内的网络街机运营似乎都采用了同样的策略:机台并不进行售卖,采用游戏厅缴纳押金,签署分成协议,从每局游戏内抽取一定金额(太鼓之达人这次多方求证,是收取 2.5元 人民币每玩家每局)来作为营收。因此,国内的太鼓之达人天然就有一个每局负营收的底子:玩家玩一盘机厅要亏2.5元。虽然前面铺垫了这么多国内机厅不靠娱乐机盈利,但是每局亏 2.5元 也背不住啊!于是,加上法币与游戏币兑换后,国内太鼓之达人的普遍单次游戏费用一般在 8~1 2币之间。

8个币体验一次游戏,不说花多少人民币,这每局游戏投币也是个体力活。更何况这与旁边铺货更多、价格几乎免费的舞萌DX一比,还有什么可比性?

以盈利为目标设计的日本街机,和当下国内游戏厅对纯娱乐机的期望的矛盾,才是当下国内游戏厅市场人气引流命题下最大的矛盾。

四 日本机器在中国的“傲慢”升级本身也有困境

来源于JAIA的2021年日本国内街机市场调查报告

根据 JAIA 的调查报告,日本的音乐机的软件销售几乎占了整个音乐游戏市场的1/3,也就是意味着版本升级的费用是非常高昂的。在国内,除分成模式的太鼓之达人外,绝大部分还在升级的音乐游戏都是采取了只收取网络服务费(约几千人民币/年)的模式。这种模式的营收大概只有日本版本升级销售额的1/5。在如此低的后续服务费用下,我们一味的要求日本厂商为国内玩家也提供同等日本的软件升级服务确实是强人所难的。这也是为什么我在本文开头问出是否会一直升级下去的疑问。

除了钱收不够,日本街机厂家在现代互联网时代的运营策略也应当商讨。

还是以《舞萌DX》为例,目前 SEGA 在全球的运营策略是划分为了日本、海外、中国三个区域。其中香港地区、澳门地区和台湾地区归海外区域管理。海外区域的游戏内容落后日本6个月,且不包含很多日本本土的版权音乐(比如动画片的OP、ED曲目);中国大陆地区目前是每年更新一次,更新到当时运营的海外版版本落后6个月,且单独命名、单独设定版本号。这种模式在现代互联网发达的情况下会让落后地区的玩家(尤其是中国大陆区域)得到极大的被歧视感。虽然说版本落后不是一方面造成的(还有一些不可抗因素比如审查),这种刻意造成的版本落后会让地区玩家不满也是板上钉钉的事实。

还有上面提到的版权,目前没有厂家能够在现代日本音乐授权框架下解决曲目全球同步的问题。

上面这些问题遇上国情完全不一致的国内游戏厅行业,纵使现在可以依靠各种手段疯狂卖机器,但是当有一天续费营收无法再覆盖升级成本的时候,会不会又有一场11月一开门,全国机器都变成离线版的故事发生呢?

我不好说。

东京 Amusement Expo 2023 游记

周六晚上回旅社后,在群里跟朋友们聊周六白天的体验。陈大夫有句话基本能概括我的心情:

拍的图基本在微博直播大部分了,在这里也备份一下,顺便说说感受。

虽然周五请了一整天的假,但是飞机还是傍晚从北京出发的,到羽田的时候都已经晚上九点多了,出完关到御茶水已经是快十点了。好在这次就在秋叶原住,离原来灯爷他们介绍的厅也很近。估计看图的就知道我去的是哪家啦。

从左到右,从上到下依次是:
1、清洁(一次性湿纸巾)、消毒装置(酒精喷剂)、机修呼叫按钮
2和3、太鼓达人新框体上面的儿童游玩板凳指示和实物,可以站在上面游玩
4和5、音乐游戏用手套贩卖机(扭蛋机改的)和实物,有不同尺寸

登机前的一杯超大冰美式,直接给我弄失眠到三四点。第二天一早七点多就醒了,赶紧出门往 tokyo big sight 赶,九点刚过就到了。

KAC在隔壁8馆,AmuExpo + AmusicFes在2·3馆。

海盗船新款,老虎机Fluke背面和旁边的 KONAMI 日程表。

这次万代南梦宫来了好几个展区,蓝色的Bandai Spirits、红色的游戏机运营的Bandainamco Amusement、以及做游艺机开发的Bandainamco Technica,机器种类也是最多的。

Fukuya的景品,这东西重心有点偏,反正我在秋叶原2000yen没抓出来。

Amuzy。下面这种小波比机器可能在国内比较常见。一个游戏能卖20年的感觉。

点下面的图可以进他们官网看看。

太鼓活动现场一角。现场排队考段的人可多了,我就不凑热闹了。

铁拳7街机。也按上手柄了。传统街机游戏可能真的到了结束的时候了,尤其是官方自己也放弃了传统的控制台的时候。

万代南梦宫的冰球机。

偶像大师新作。我有一帮普罗丢色朋友在过去几年里一直致力于偶像大师初代街机的复活和稼动。现在来看日本的普罗丢色桑群体也是很大的。

至少我一看那个连领整理券排队的队伍都要排队的阵势,我就只敢在外面看看。

游戏控制面板看上去很像 iidx ,引擎的话用了 unreal 去做渲染。

湾岸6RR+

iPhone Plus Pro Max Ultra Extra +。

马车(好像没有新版)和宝可梦投球机。真的是扔精灵球,就是框体太丑了。

万代南梦宫的就到这吧,感觉是着力最多的。

SSTI 的大型可动装置。这东西还挺酷的,上面搭了一个假人。

做扭蛋机的Babycue,支持各种支付方式,不知道是不是同场的Toppan支持的。

怀旧游戏区,我唯一一个排队的区域。日本街机游戏“100日元的奇迹”的黄金年代。从1978年 taito 的太空侵略者开始,到后面复杂的机动装置 After Burners、DDR等。

祖上阔过。

Marvelous! 的宝可梦大师(Pokemon Master)专场。天国的 WACCA 现在只活在跟其他音乐游戏的联动里。

GiGO的展区有一半是装饰拍摄布展区,另一半是桌牌游戏体验区。感觉这公司2025年大阪一开赌场之后真的行。

三和按键展区。

taito的大型鬼屋装置(体验排队70分)和景品展示区域。

taito station 舞台和硬币制造机。话说 taito 好像今年创立70周年来着。

Capcom 街霸 Type Arcade 12月上市。这个体验区不让拍摄和录像,有点怪。

看框体有点像是 Taito VSX 改的。

Capcom 街霸 VR 和春丽模型。

街头篮球逆向输出!

世嘉。从左到右从上到下依次是:VFTH3(all-net paras multi 3)体验区、娃娃机(ufo catcher 10)体验区、英杰大战观战区,SegaPrice景品拍照合影区、sega马戏团、音游周边贩售和头文字DAC体验区。

世嘉在中国同步这方面今年真的做了很大努力。比如说音乐游戏,他们花了很大功夫重新本地化了中二和舞萌DX的国际服,并在国内进行了部署。至少来看现在很多国内的中、新玩家对于日版私服的诉求已经没有那么强烈了。而赛车这方面,头文字DAC至少目前已经做到了全球同步,还是值得表扬的。

虽然如果有机会,我还是挺想当面跟KohaD聊聊的。

最后来说说Konami吧。常规的就不说了,一系列推币机+Paseli体验区+KAC物贩什么的。来说说这个现场体验需要排队3h的新音游机。

逛完这机器之后我就去看 Amusement Music Festival 了,在群里跟本地玩家聊起来的时候,发现因为 konami 在中国大陆式微太久,很多新玩家对于 bemani 相关的信息已经基本没有概念了。这次的新音游机是以 Vtuber 为主题的,vtber 这群体其实不稳定性也挺大的。所以我有些谨慎不看好。

至于游戏本体,在我看来感觉是中二+音击的混合体。合着bnam拿偶像大师抄iidx,然后konami猛抄sega呗。

可能真的是 maimai 拿走了音乐游戏街机太多的气数,我对最近3年内的新的日本产音乐街机的感觉真的是行业完蛋了。至于最近日本产业内也在大力推进的礼品机,其技术壁垒其实也没有那么高,至少目前在礼品机范畴内,番禺的工业能力是不输的。

说回到街机音乐游戏,街机音乐节( Amusement Music Festival)真的还是挺有趣的。从快十年前在太鼓、jubeat(乐动魔方)、groove coaster(音炫轨道)、maimai(舞萌)上听到这些作曲家的歌曲,到真真切切看到他们本人在眼前的舞台上分享这些歌,真的是非常激动。然而也得看到,这些音乐机厂家在偶像路线上进展也不顺利,音击三人组和taito过山车的偶像们现场表现有点差的过分,电音部也稍微有点冷场,最后都是靠硬上V家曲目和Idol等JPOP来重新热场。但中二的イロドリミドリ表现就挺好的,拿强风大背头整活我看的也很开心。最后,虽然我不怎么玩 Bemani系的音游,但听到熟悉的 I'm so Happy、Flower等曲子的时候也是跟现场大家一样非常激动。

但,都是老歌。最近的新曲,哎。

最开心的还是看到光吉猛修!永远的神!

总之,这次虽然很累,但真的很开心。只是,我更期待这个行业能再找到下一个爆款的游戏,并产出更多有趣的音乐。

TPM攻击:通过 LPC 总线旁路嗅探硬件 TPM 的密钥

前言

本文对这篇文章的改动已经不能叫做翻译了,因此算作编译吧。其实在这篇文章发布出来不久,我就在 NuSX 上验证了这篇文章。当时最大的困难是给 TPM 芯片飞线,我拜托了一个做硬件的朋友帮我远程飞的线,并使用这篇文章获得了密码。

SEGA 果然还是日本厂商,在硬件平台之上的 Windows IoT 系统还是一如既往的留有设计缺陷,导致了这个密码可以用很久。

扯的有点远了,我们来开始看看它说了什么吧。

背景

TPM (全名:Trusted Platform Module)是一种计算机系统的扩展模块,用于提供安全相关的功能。其中, TPM 芯片是一种硬件安全的加密处理器,可以安全生成、储存密钥,并用来保护其他加密密钥。目前市面上流行的 TPM 主要是两个版本:1.2 和 2.0。在 2019 年的时候,有安全团队发现了部分 TPM 1.2 和 2.0 芯片,甚至是一些 Intel 平台的软件 TPM 的设计缺陷,会导致 TPM 硬件内存储的密钥信息发生泄漏。

这一攻击方法已经在2020年的29届Usenix安全大会上由一些安全研究员公开,并展示了利用这一攻击进行 IPSec 网络认证攻击,在他们的论文中表明,只需要至多45,000次攻击,即可在目标系统内获取认证密钥。

除了网络认证,TPM 的一个重要落地应用是 Windows Bitlocker ,Windows Bitlocker 是 Windows 系统内置的硬盘分区保护工具,可以以用户定义密码或透明加密的方式保护用户硬盘分区内的数据,防止任何非法访问。

在基于时序的软件攻击外,很多没有在协议上做额外保护的 TPM 模块还存在着协议旁听漏洞,这使得很多可以物理访问但软件有保护的硬件系统存在着更多的风险。比如,街机领域内的软件厂商为了防止自己软件被泄漏或非法修改,对于分发的产品内的整块硬盘采用了 TPM + Bitlocker 加密的方式。

Bitlocker 101

上图是微软官方介绍的 Windows Bitlocker 保护方式,核心是图中的 Volume Master Key(VMK),由两类来源生成,两者在解密作用上是等价的:

一是密码,密码可以是单纯的用户指定的密钥,也可以是单纯的 TPM 密钥(透明加密),或者是两者混合的方式。

另一个是恢复密钥,这一密钥在加密完成后会给出到用户或者存储到用户的 Microsoft Account 内,在用户忘记密码的场合,可以使用恢复密钥来解除保护并访问内部的文件。

通过Volume Master Key,衍生出Validation Info 和 Full Volumn Encryption Key(FVEK)。Validation Info 除密钥特征外还跟当前系统的硬件信息、启动信息做绑定,如果硬件或启动信息不匹配,会进入到恢复模式,要求用户给出恢复信息。这样的设计是防止旁路攻击,即恶意用户拿到硬盘镜像后通过其他系统进行硬盘访问。

而 FVEK 是加密硬盘的主密钥,它本身被 VMK 所保护。所以,在透明加密模式下,如果解密 VMK 的来源(TPM)被攻击产生泄漏,那么接下来的链条都会被攻击。

TPM 简单介绍

微软的官方网站上提供了大量的 TPM 基础知识,因此我们不会再展开太多篇幅来介绍 TPM 的设计和其他基础信息。但是有一点需要说明的是,可能会有朋友认为既然目标系统存在保护,在有硬件的前提下我另外启动一个系统(比如 Ubuntu或者别的Windows)就可以获取 TPM 密钥,但其实 TPM 模块本身对于密钥生成的目标系统有一个叫做“启动状态”的存储标志位,这一标志位类似于 uuid ,是目标系统初始化加密时候生成的唯一值,理论上无法被碰撞。因此很难通过旁路系统进行 TPM 攻击。

TPM 与系统之间的通讯一般是 LPC SPI 或者 I2C 总线。在本次分享内我们会对于基于 LPC 总线的模块的攻击方式,如果想在线下自行复现本文攻击,需要确定自己使用的 TPM 硬件模块的通讯协议,具体方式可以去查看对应型号 TPM 芯片型号的白皮书,然后跟本文一样通过一台逻辑分析仪来进行分析。

上手逻辑分析仪:原作者的 TPM1.2 攻击和分析记录

作者使用了一块 SLB93650 TPM 1.2 芯片来进行攻击示范,这一芯片使用的是 LPC 通讯协议。在它的生产厂商官方网站我们很容易就能找到它的针脚定义:

要嗅探 LPC 协议一共需要7根电线:LCLK(时钟)、LFRAME、LAD0、LAD1、LAD2、LDA3、GND(接地)。首先,使用飞线在主板的这一芯片上直接将这7根引脚飞线出来:

然后,我们来找点东西来阅读 LPC 协议信息。

作者使用了注释6中的逻辑分析仪来进行逻辑分析,配套的软件是 DSLogic。DSLogic 和 PulseView 都使用了 libsigrokdecode,因此是通用的。由于 LPC 是 33Mhz 频率运行的,因此使用 100Mhz 采样可以尽可能的放慢信号并进行解析。

在作者的首次捕获中遇到了两个问题:第一个是解码器将 TPM 消息报告为保留消息,并没有正确解码它们,第二个是逻辑分析仪没有足够的存储空间来捕获完整会话,只看到了启动通讯消息。因此,需要修正时钟讯号来支持自动解码,否则解码的工作量将会是天文数字。

首先,作者解决的是识别问题。这是一个 DSLogic 的逻辑问题,阅读设计文档很容易发现 TPM LPC 协议是有协议头的: START(0101) ,因此进行对应修复就可以。

另一个问题作者的解决手段有一点歪道。毕竟直接更换逻辑分析仪成本还是比较高的,于是作者采用单通道分别捕获多个独立通道的信息,然后再将它们混合。于是,就获得了所有信号。

检索 VMK(Volume Master Key)

完成上面的工作后, LPC 消息就被成功解码了。剩下的就是在转储的数据里面找到 VMK 。搜索方法也很简单(去读 Bitlocker 协议的定义),就可以知道搜索 VMK 的标志位:0x2c 0x00 0x00 0x00。

作者运气不错,第一次就捕获到了完整的信号,他给出的截图,VMK消息位于 0x00000024 的 TPM 获取命令中。

来展开看下这个消息:

用计算器转换下:

然后就是重复直到 VMK 长度的消息:

使用 FPGA + 脚本读取 TPM2.0

好用的逻辑分析仪也需要捕获+解码的过程,一旦整体流程跑通,那我们就可以使用 FPGA开发板+脚本程序来自动化这个过程。Lattice ICEStick 是一款廉价易得的开发版,配合脚本就可以很快简化这个步骤。

需要特别说明的是,TPM 2.0 协议中增加了对于发送、接收指令的校验,可以一定程度上防止消息截获,但是 Bitlocker 在使用 TPM 芯片的时候并没有启用这一功能。

举个例子,SEGA ALLS HX1 ,是一款世嘉于2019年推出的街机基板平台。它搭载了 英飞凌 SLB9665 TPM2.0 芯片,根据上面的介绍,很轻松就可以找到这一芯片的定义:

我们也来简单飞个线:

然后就可以获得信息了。

原文附录:

READING

HARDWARE

SOFTWARE

同样的试卷,不同的答案——“太鼓三国”基板拆解

机缘巧合,最近在闲鱼上连续收到了太鼓13和“太鼓三国”的基板。主要也是 256 这代和模仿它的设备都已经到了报废的年龄,因此也逐渐流入市场了。

“太鼓三国”是倍儿悦科技在2012年基于万代南梦宫《太鼓达人》进行山寨的国产游戏机。时间拨回2012年,日本和 EXPORT 区的太鼓达人已经换代成基于 Namco System 357c 的太鼓达人 KATSU-DON 版(新框体),然而中国大陆地区因为种种原因(这里面的传说有好几个版本,比如太鼓12亚洲版积货太多,或者万南香港狮子大开口要求一次性下定千台才能代理,等等)没有太鼓新版本进入中国(大陆地区)。

为什么我这么笃定的说它是山寨呢?因为它除游戏方法和音符标注完全对齐了太鼓达人 11 亚洲版之外,还内置了大量太鼓达人的原创曲目,这些音乐直到几年后的天下一音游祭才有限的在另外几个音乐游戏内收录,是万万不可能通过正规渠道流入第三方游戏内的。

想了想,好像至今也没有新的太鼓以官方形式进入中国,只有一台虹版作为场测机在国内到处流通。不过上次写了 DX 和中二之后没多久 DX 和中二就有国内代理了,希望这次我这个 Flag 也好用吧。

说回到“太鼓三国”,其实它刚上市的时候(大概2013年?),我就有在西安骡马市的汤姆熊玩到。当时对它的印象就是判定极差,游戏界面卡顿。虽然它给到了“液晶宽屏+太鼓”的配置,但是劣质的拖影液晶+开发质量极差的游戏,还是注定要失败的。

那既然在10年后收到了它的主机,就一起来看下吧。

截图早上直接发微博了,本地没有留,那就直接用微博上的图吧。

主机概览

到手是一个银色的小主机,脏兮兮的。外部接口的话不多,大概只有:

· 1个 12V 电源输入

· 1个 24+5 DVI 接口(实测的时候好像在 BIOS 里关闭了,没有视频输出)

· 1个 VGA 接口

· 1个 网络接口

· 1个 音频输出接口

· 4个 USB 2.0接口

· 2个 RS232 (COM)接口

以及正面没拍到的一个电源开关+指示灯。

说实话我还挺喜欢这个机箱的质感和尺寸的,如果它不是这么脏兮兮的,可能我会考虑收藏吧。

加密狗是深圳深思科技的S4。

收到手先不着急拆,先点亮一下看看。

我家里也没有 VGA 的显示器,因此用的是 Genki 生产的 ShadowCast + 绿联的 VGA 转 HDMI 转接头来直接投到电脑上查看。这样倒方便截图了。

“不装了,我也叫喀”(跟太鼓11一样)

因为没有去收 IO ,因此只开机看了下待机 demo play 和系统。在测试过程中因为一开始没插音频线,后面插上的时候,弹出来的小螃蟹控制面板直接把游戏顶出去了,我确实没绷住。

游戏场景切换的时候就能感受到明显的卡顿,跟我十年前玩的时候体验几乎一样。算了,直接开拆吧。

十年过去它已经不知道被拆过多少次了,反正外壳螺丝是不全的。拆下固定顶壳的螺丝,就可以将它分开。可以看到,侧面的两个USB和正面的 RS232(COM) 接口都是通过扩展线拓展出来了,主板本体是一个 17*17 的 thin itx 主板。

一块硬盘固定挡板,描述的还挺详细的。不过这台机器没有额外的硬盘,全靠主板上的 mSATA 固态硬盘。取下这块挡板,就可以看到主板本体啦。

这块主板淘宝上也有卖的,是行业定制的 AMD E-350 主板。

好大一个【渔】暴露了它其实主要是打鱼机。

不过我手上这块没有那个很明显的【渔】字。它的完整配置是:

CPU AMD E-350

主板 AMD Hudson D1

内存 金泰克 2G DDR3 1333

硬盘 Kingspec 金泰克 8G mSATA

它的内部结构就这么简单,因此拆解就只有这么简单的内容。但是还是想多说两句。

上面的这个东西,是 SEGA 在2013年同时期推出的 nu 低配版 nu sx。它也是基于 AMD 的低功耗平台的定制工控机。恰好这台机器我也有,而且当初逆向它的 TPM 保护机制花了很多功夫。

都说日本人死板、技术落后,但其实它们在工业设计,工控机系统开发上比起我们来说真的要强非常多。比如同样的 AMD E350 系列,SEGA 完整移植了 Nu 时代的完整安全保护设计(TPM+定制keychip),Windows IoT定制系统并且引入了完整的 mx 系列基板环境。反观倍儿悦的“基板”,公版AMD itx 主板+盗版Windows XP,也几乎没有什么保护。在在上个十年初恰好是上一波计算机硬件大爆发,拿着同样的试卷做出截然不同的东西,真的令人非常难受。

Namco SYSTEM BAN1 拆解

好久不见。我还在。

过去的两年多有很多很奇妙的事情,比如买房、装修、结婚什么的,有时间慢慢分享吧。

最大的影响还是工作依旧甚至更加繁忙,导致没有太多时间打理博客和服务器。这两年里甚至产生了让双子宕机的两次事故,在这里也跟他们仍在坚守的会员说声抱歉。

而到街机音乐游戏这边,国内的环境也在变好,虽然不是以我想像的样子。科乐美那边不太玩,但是也有新的跳舞机被世宇代理。世嘉这边,舞萌 DX 的铺货数量已经突破 1000 台 ,中二节奏New!!也已经正式铺货。不过南梦宫依旧在进行意味不明的全国场测,一台新框体在全国到处流动。

啊,果然还是想玩太鼓。

虽然街机没什么时间折腾了,但是新的基板还是在买。过去两年,我跑通了 TPM Sniffer 的流程,也解开了 SEGA ALLS 系列的 Bitlocker。Namco 的新太鼓基板 BAN1 也是基于 Windows 10 IoT + Bitlocker 的 PC 架构硬件,之前在日拍上都是天价。不过最近终于蹲到一个价格还可以的,是 機動戦士ガンダム エクストリームバーサス2 的基板。虽然最近北京因为众所周知的原因物流不太正常,但是好像赶上了末班车,总之在国庆假期期间到了。简单拆了一下,分享一下图片。

外观上,比之前的 ES3 ES1 来说,电源做在了机箱里,看起来不像是外挂了。其他的接口之类的倒是跟其他家的 PC Based 基板没什么区别。贴纸贴住的是一组 RTL8111 千兆网卡接口和两个 USB ,以及主板上板载的 HDMI 接口。

加密狗还是万年不变的优盘序列号,可以通过量产工具使用第三方优盘仿制。不过看介绍有使用圣天狗 HL 系列的加密狗进行保护。

先从上面的硬盘口打开看看吧。是双SSD。简单插电脑看了下,是一块系统盘(64GB)和一块游戏硬盘(128GB)组成,全盘都是 Bitlocker 加密的。

两块硬盘和内存和加密狗应该都是整机解决方案内提供的,全部都是 innodisk 和 silicon power 的牌子。看了下通电时间,都是395次 4000小时 左右,看来高达这个游戏一年多就被换掉了。

那么接下来拆开看看吧。

说实话,这个里面真的挺磕碜。都不用跟 Taito TypeX4 比,就连跟 SEGA ALLS 比,都比较寒酸。不过好在还是提供了显卡的固定支架。

电源没有看到铭牌,也没继续往下拆。但是一个 80Plus 的认证标签倒是贴在了最外面,有点怪。

三洋的风扇。

有一个很有趣的细节, BAN1 的 FPanel 上插了一个拓展电路板,用于提供上电自动开机和硬盘指示灯的功能。我试了下,把这个小电路板拔下来就不能自动开机了。好怪。

显卡是 ALLS HX2 Lite 同款的 GTX 1050Ti 。

内存也是 Innodisk 的,两根 4G 2400。

主板提供了 1 条 PCIE x16 、 1 条 PCI 和两条 PCIE x1 接口,还提供了四个独立的 RS232 COM 控制芯片(两个在主板 IO 上,两个作为扩展口,扩展在 PCIE 接口上)。话说主板上的 PCI Localbus 的图标好怀旧啊。

其实拆机的一个目的是找一下有没有独立的 TPM 芯片,但是找了一圈好像并没有发现,只看到了 TPM 的插针。那既然没找到,只能从镜像入手看看了。

总之就拆到这里,后面再分享更多 BAN1 的情报。

在 Linux 上挂载 System357 硬盘

按:4月份的时候这篇文档的西班牙语版就已经出现在国外论坛上,但其实方法早就流传很多年了。 System357 硬盘比起家用 PS3 来说,省略了安装自制系统-导出 eid_root_key 的步骤,使用了同一套密钥组。这次的文章翻译会省略一部分提取 eid_root_key 的步骤。PS3 的系统研究,包括本文,都大量参考了 PSDev Wiki 的相关内容(https://www.psdevwiki.com/ps3/),在这里也一并感谢。

前言

本文主要描述的内容是将 System357/369 的硬盘挂载到 Linux 电脑中。在本翻译中,所有的操作环境是基于 Linux Mint 20.1 x64 的 Cinnamon desktop 标准版进行的。对于中国的用户来说,这个发行版镜像可以从境内镜像站快速获得:

https://mirrors.bfsu.edu.cn/linuxmint-cd/stable/20.1/linuxmint-20.1-cinnamon-64bit.iso

而在本文中,我们使用太鼓达人绿板(太鼓の達人 グリーンVer),S357C-11E,ST4100-1-NA-HDD0-A 作为解密源硬盘。

已知的研究已经对于 PS3内置硬盘(英文) 的加密情况有了大致的了解。每个家用版型号(即除所有街机基板型号)都有独有的一套密钥。在解密后,PS3 的系统有特有的分区表,以及在某些型号上高达10个的分区。其实并不太需要知道所有分区的功能,只需要关注几个特定分区即可。比如说, dev_hdd0 是用户数据、系统分区、配置和 swap 区域,dev_flash2 是在一些有 NOR flash 的型号上保存终端和其登录用户数据的区域。

上图是 PS3 硬盘逻辑分区布局图,可以在下面的链接查看原文
https://www.psdevwiki.com/ps3/Talk:Harddrive

开工前的准备工作

1)首先,安装(我推荐安装,因为大陆众所周知的原因,部署编译环境非常蛋疼)或以 LiveCD 的模式启动 Linux Mint ,在用户(本文默认为 woodu)目录下创建如下目录:

/home/woodu/ps3
/home/woodu/ps3/dev_hdd0
/home/woodu/ps3/dev_hdd1
/home/woodu/ps3/dev_hdd2
/home/woodu/ps3/dev_flash1
/home/woodu/ps3/dev_flash2
/home/woodu/ps3/dev_flash3

2)下载 PS3 HDD Keygen.sh 脚本并解压到 /home/woodu/ps3 执行或从这里手动从hex值生成 ata_key.binflash_key.bin,这些key 就是解开 ps3 硬盘的加密的密钥。

灵魂的5

3)安装必须的编译工具(apt install build-essential gcc linux内核header 等),并下载 bswap16.ko 的压缩包(此压缩包包含了针对 4.15.0-54-generic kernel in Linux Mint 19.2 的编译成品,在本文中将重新编译适合当前内核的版本)。

下载后直接进到 source 目录中,并 make 即可。之后将成品 bswap16.ko 也移动到 ps3 目录下。

获得素材:bswap16.ko

4)完成以上两步后,你的 ps3 目录应该是这样的,除 ata_key.binflash_key.bin 之外,其他的 key 可以帮你解开其他的分区,根据需要使用即可。

是这样的

开工

接下来需要在 Terminal(终端)里执行一系列指令,以正确的将硬盘挂载为可读写的分区。

为了防止将原版硬盘破坏,你可以使用 dd 命令或在 windows 下为硬盘制作整盘镜像,持有整盘镜像的你可以将它挂载为虚拟设备,比如使用下面的指令把你放在 /path/to/your.img 的文件挂载到 /dev/loop1

losetup loop1 /path/to/your.img

相反,如果你胆子大(像我一样买了好几台357c),可以尝试直接用移动硬盘盒或直接连接 SATA 到设备上,此时,使用的设备盘符就是 /dev/sdx (取决于你的实际情况,你需要使用一些系统指令确定 x 在你电脑上的真实值)。

1)打开 Terminal 并 sudo su 进入 root 下,因为设备操作一直需要 root 权限。

2)安装在准备工作时编译的 bswap16.ko ,它承担了将 Big Endian 到 Little Endian 的转换工作。

insmod /home/woodu/ps3/bswap16.ko

3)将镜像/物理设备进行挂载。

使用镜像:

cryptsetup create -c bswap16-ecb -d /dev/zero ps3hdd-bs /dev/loop1

使用物理磁盘:

cryptsetup create -c bswap16-ecb -d /dev/zero ps3hdd-bs /dev/sdx

4)使用准备工作获得的 ata_key.bin 和 357 使用的对应算法进行解密挂载:

cryptsetup create -c aes-xts-plain64 -d /home/woodu/ps3/ata_key.bin -s 256 ps3hdd /dev/mapper/ps3hdd-bs

并识别它的分区:

kpartx -a /dev/mapper/ps3hdd

5)稍事休息,确认磁盘已经正确解密:

ls -la /dev/mapper/

如果正确的话,应该可以看到 ps3hdd ps3hdd1 ps3hdd2 ps3hdd3 等一系列分区,分别指向 /dev/dm-* 。

其中 ps3hdd1 VFLASH ps3hdd2 dev_hdd0 ps3hdd3 dev_hdd1

6)继续挂载 VFLASH 吧。 VFLASH 是在第一层加密后又有第二层加密的双层结构,所以要把刚刚解密的指令再来一次。先挂载 VFLASH 容器:

cryptsetup create -c aes-xts-plain64 -d /home/woodu/ps3/vflash_key.bin -s 256 -p 8 ps3vflash /dev/mapper/ps3hdd1

并分区:

kpartx -a /dev/mapper/ps3vflash

7)上面的这一切都做完以后,应该就可以映射分区了。

首先,挂载主分区(如果需要写入的话,你需要安装可写 ufs2 的内核模块,并把指令里面的 ro 替换为 rw):

mount -t ufs -o ufstype=ufs2,ro /dev/mapper/ps3hdd2 /home/woodu/ps3/dev_hdd0

接下来是一些 FAT12 FAT16 FAT32 的分区,这些分区系统会自动识别,但自动挂载的分区可能会有问题,因此还是建议通过命令行手动挂载:

mount -t vfat /dev/mapper/ps3hdd3 /home/woodu/ps3/dev_hdd1
mount -t vfat /dev/mapper/ps3vflash2 /home/woodu/ps3/dev_flash1
mount -t vfat /dev/mapper/ps3vflash3 /home/woodu/ps3/dev_flash2
mount -t vfat /dev/mapper/ps3vflash4 /home/woodu/ps3/dev_flash3

有一些尺寸上的注意:dev_flash1 往往大概 200Mb 左右大,dev_flash2 往往在16Mb 左右, dev_flash3 往往只有约 512Kb

8)全部做完之后,就可以在系统里确认整个硬盘的挂载情况了。

lsblk -b /dev/sdx

9)挂载完毕之后,就获得了对 System357 硬盘的完全控制权。但请注意,千万不要修改对于此硬盘的任何权限和所有者的信息。如果要修改数据,请使用 root 用户,但你可以在普通用户的文件管理器内经过授权后浏览文件。

10)请记得,浏览/使用结束后卸载掉分区,尤其是你修改了内容的情况下。

umount -l /home/woodu/ps3/dev_hdd0
umount -l /home/woodu/ps3/dev_hdd1
umount -l /home/woodu/ps3/dev_flash1
umount -l /home/woodu/ps3/dev_flash2
umount -l /home/woodu/ps3/dev_flash3
kpartx -d /dev/mapper/ps3vflash && cryptsetup remove ps3vflash
kpartx -d /dev/mapper/ps3hdd && cryptsetup remove ps3hdd
cryptsetup remove ps3hdd-bs

常见问题(略)

我看了眼,感觉没什么特别的。

主要是如果需要确认是否解密成功(每一个调用 cryptsetup 的地方),需要看下已挂载节点的内容是否大部分填0,填0就问题不大。

致谢

感谢 graf_chokolo 在 PS3 逆向工程中卓有成效的贡献,并提供了 Linux 上的支持,没有他,kpartx 就不能支持 PS3 的分区表。

感谢 3141card 对于 PS3 硬盘的加密算法和读取方式的研究。

感谢 guerrini97 修复了作者原来旧脚本中的问题,并重构了 bswap16 模块,并为 nbd-client 提供能力。

感谢 Decaf Code 重构 bswap16 模块并兼容现有内核。

感谢 einsteinx2 指引解锁了 PS3 硬盘的 8% 空间,并为本文提供灵感。

感谢 Yugonibblit dump了 CECHG01 型号的分区表,并确认了该型号及衍生型号的加解密钥和对应算法。

感谢 mlody95pl 指出了本文的错误并编译了 UFS 模块。

后记

从我获得太鼓旧框开始的 2020 年下半年,真的是太精彩了,尤其是太鼓达人在中国国内的圈子里。现在,虹版在中国的代理也已经有官方暗示了,而官方框体也通过各种形式进到了国内。希望中国的太鼓达人有个美好的明天。

获得道具:太鼓达人12亚洲版(世宇科技版)

朋友们,好久不见。我希望这个博客还是能给大家带来一些有意思的东西。这也是我重新写博客的初衷之一。

开篇简要捷说,我终于买到太鼓达人的【旧框体】了。不过严格意义上也不是这样完整的一台:

source:《太鼓达人 亚洲版(简体中文版)服务说明书》

从上图可以看到,其实太鼓达人的旧框体可以拆解为前后木箱两个组件。由于我实在不想处理包含高压电的显像管部分(小声:其实也是不会,担心被电到),以及考虑到后木箱的体积在寸土寸金的北京实在太不友好,于是就拜托卖家把主机、JVSIO 和所有配线电路板拆解下来,塞到前木箱里,打了个木架发过来。

从番禺到北京,前木箱体积大概一个立方,物流+木架大概750元,外加4~5天的时间。在特殊时期能有这个速度已经很开心了。整体体验的话,费用比几年前被瓜总坑买盗版popn框体的时候要贵不少,不过这次淘到的框体的拆后价格很便宜,而且补齐了我手头没有 12 亚 HDD 的问题,还是很开心的。

拆解和再组装

早上就在拆解木架和捋线,主要是把卖家整坨发过来的框体内所有连接线里面必须的部分拆出来,诸如高压线路(220v/110v)、功放和音频及控制线,就可以放弃不要了。拆解后的结果让我很高兴:所有游戏控制器外部连接线,都完整的走在 JVS 的 FUTA PCB 上。也就是说,并不需要给游戏的控制器、投币部分额外接电。这样的好处是,木箱外只需要接 VGA、一路220v市电和音频线即可,非常的清爽。

参考阅读:FUTA PCB 接线图,来自《Taiko AC 13 Manual》

我很早就在尝试自宅运行 256 平台的太鼓,也根据前人经验改造过ATX-256电源(参考阅读:https://woodu.me/taigudarenjiukuangtidianyuanxiangtu/),于是有一个额外的改动就是把 256主机下面的 JVS 主机里面的两个电源条(参考阅读:https://woodu.me/waiwangkandaodetaigu-system256-neibudianlubantu/)改造成 Flex 的 ATX 电源。这样改造之后,以后更换 ROM 只需要更换 256 设备即可。

改造后,如果不考虑显示器的供电和功放、音响问题,那么只用一个前木箱就可以搞定整个太鼓的运行。实际的效果还不错。

太鼓达人12 亚洲版(世宇版) 前木箱总成

太鼓达人 12 亚洲版 硬盘和加密狗

T1200-4-NA-HDD0-A,太鼓达人12(145首)亚洲版

世宇的这批机器还是在143之前很多年进来的,所以是145首也不稀奇。

单开一节其实是想聊聊 IDE 硬盘的替代品的问题。年后我尝试了一下 CF-IDE ,就是用 CF 卡来模拟 IDE。在之前若干失败尝试后,CF-IDE也失败了是让我最为诧异的。严格意义上说 CF 133X 的协议和 IDE 是完全通用的,但256仍然拒绝识别。具体表现是在游戏解密卡读取结束后,首次访问 IDE 设备的时候,IDE灯(橙色)长亮,256失去响应。

很迷,好在现在 IDE 硬盘还便宜。

希望早点能解决这个问题。

跟自己和解

仔细算算,上次在火车上写作文应该是十几年前的事情了。那时候从北京玩完回家,在通宵的硬座上抱着电脑写作文。当年的自己还真是活力四射。现在自己也已经很快奔三张了,北京还是当年那个北京,我也基本适应了现在在北京的节奏。日子过的真的是快呀。

不过高铁速度变快了,人也没那么有耐心了。加上春运太拥挤,行李过多,还是留在家里写吧。

Flag 回收

日常生活中,有仪式感的事情不多,但每年都还有一些要做的事情。

今年提前一天回家,在晚上用了两个小时的时间稼动了太鼓14和maimai Yunet Finale ,还顺便给父母去超市买了东西,并摸了几把游戏。今年突然爆发的疫情导致整个国家都进入了紧急状态,所以我也就是稼动了之后就回家了。

哦对了,还去肯德基把宝可梦今年的新玩具凑齐了,公司的事情也算是比较符合预期,因此也算是年前把所有事情都比较好的收尾了。

从点点那篇之后,我暂时的封笔了一阵子,也是一直无心在生活沉淀上,变得浮躁了起来。而开始写新的一些胡说八道的初心其实是想要把日子过的更有意思一些,因此觉得不如就先不动笔了。新的一年还有不到一个小时就来了,总之还是要先拔一下去年的一些 Flag。

近况更新(二〇一九年三月

     蜗牛很早就清理了,后来发现扩展方便还是得用大塔机箱。最后我的NAS 配置还是 8100+H310 itx,硬盘就用的去年八月从美亚薅的羊毛 2*8T 。

     硬盘还在出,茶盘也一直在用。有几个bug还在排查到底是硬件还是软件的问题。

     摩托车换了。踏板养老。

“巡弋300”的图片搜索结果
巡弋300

太鼓达人旧框体和硬件(太鼓达人(旧框体)电源详图

      System 256 平台尝试了一些 IDE 硬盘的替代品,分别是 SATA-IDE、TF-IDE和 DOM盘,这三个都失败了。年后再试试CF-IDE吧。

      另外一个尝试就是和国内偶像大师无印爱好者圈子合作了一下,他们发现国内华立的某框体的触摸屏和无印通用,因此帮助他们买了一台这样的机器。

华立 IQ乐园 2011 触摸屏和偶像大师无印版兼容,咸鱼上特别便宜

总体来说复刻是成功了。不过可能其他人没有我这种收藏的想法,因此他们最近也在出售或者合作。有兴趣的可以通过本博客的关于联系我,我来中转给他们。

中国音游街机近况(2019中国(北京)国际游乐设施设备博览会游记

首先自打脸,那篇文章之后没多久 maimai DX 国行就在场测,并在去年年底稼动了。而且WACCA(华卡音舞)、 Chunithm(国行中文名:中二节奏)也在途了。在这里首先祝贺国内玩家终于获得了尽可能接近日本玩家的体验(网络、排名),但仍然要拍一瓢冷水:中国乃至目前为止的海外在日本眼里仍然是二等公民,很多东西除了祈愿,动手有的时候也是不得不做的选择。

点点

点点在院子里睡了。

现在还时不时去看看他,开春了去在他脑袋上种一些他喜欢的猫草吧。

点点新年好呀,找到自己的新家了吗?

从元旦拖到春节

       本来元旦的时候就想动笔写点什么了,但到了年根是公司传统的年终决算时间,大家都在忙碌,我手头也是一脑门的官司。从开始工作到现在我有很多观点都改变了,但初心是没变的,并在这一年得到了加强:无论从事的工作是怎样的,无论遇到什么样的事情,永远要关注自己得到的能力和自己的成长。有所改变的是自己对于“成长”的理解。每个人在每个年龄段关注的事情是不同的,更多的改变是关注的事情带来的视野和聚焦点的变化。

       新的一年,新的 flag 。

       在去年元旦的时候我的关注点还是对于自己的世界观和认知的构建,并尝试用自己已有的世界观体系来解读世界(也就是所谓的茧房的构建)。但在现在这个时间节点,我会意识到自己有更多未知和之前的行动的错误,今年尝试了一些修正,但效果有限。在明年我给自己的定位还是继续的调整自己认识世界的方法,努力在不重建自己的前提下更好的生活下去。

       至于兴趣方面,接下来的一些时间里,我会把一部分精力放在新的街机平台上,这个看进度进行更新吧。毕竟现在关注这个也多了,做的人多了,自然我也可以不用那么着急和吸引目光了。

       潍坊这边我还是很希望他们可以进到 maimai dx的,但今年这个样子去面谈可能性也不高了。等国家大环境安定了再说吧。

       大狗老师有一句话,我觉得说的很对,在文章最后也想跟大家分享:

              在不安定的岁月,普通人所能做的是尽可能保护好自己和家人。

       新的一年,希望大家安康。

点点

1

难得少有的自拍

我的女朋友有熟识的画师,所以在之前有拜托她去给我们两个的猫都做了文化衫。这一件衣服,是两人经过筛选之后选定的,原图是下面这个。

点点

刚好最近北京降温降的很厉害,正好把这件衣服摸出来穿了。衣服材质还是不错的,很暖和,但点点是不在了。


点点严格意义上说不是我的第一个宠物,但确实是养的时间最久的宠物。它是2017年3月的生日,算到去世,大概活了两年半左右。

七月京阿尼的惨案发生以来就一直没能好好写东西,之前是把好多划水的时间拿来跟进京阿尼的新闻,甚至在八月底去了一趟京都。之后又赶上公司里面的工作有些忙碌,就一直搁置了下来。也许是违背了自己生活的惯常节奏,把太多太多的精力放在了各种各样的事情上,导致自己关注点点的精力也不那么充沛;又或许是夏秋交际天气变凉导致点点想要热热身子;再或许其实就是房子太小它想出去逛逛——总之就是这个傻猫在某个很平常的星期三的白天,把自己挂在了一个实在出不来的地方。

点点刚走的时候,隔壁发过一条微博,说“养猫如此,更何况养娃”。猫毕竟不比人,所有小孩子摸个窗台挂个窗户都是家常便饭,猫碰到自己感兴趣的狭小空间也就去探寻了。现在回想起来那个开开心心下班回家打开门发现屋子里安静的可怕的晚上,还是觉得第一反应是这个傻x把自己卡住了在等待解救,没想到它愣是把自己憋死了。

手机里至今没有清理它的照片,甚至在当晚我还拍下了它的惨状——安详这个词确实一点都没有办法套在它身上。过去了快要半个月我也基本能够面对自己这里没有猫的现实了。所以,也就终于鼓起勇气,摸进博客里面,时隔三个月更新一下博客。

这篇文章不是养猫踩坑指南,也不是传统意义上的忏悔书。我只是想在这里讲讲我和点点的故事, 聊表纪念。 逝去的做再多也回不来了。

2

我其实算是个比较胆小的人。比如说,我虽然很喜欢看视频,但我打心底里拒绝那些死人,暴力的东西。小时候脆弱到看《炊事班的故事》,有一集洪班长减肥,剧集最后班长缩在床上吃鸡腿,我就觉得非常残忍,甚至忍不住哭了的这种。

换句话说,其实我很厌烦不可控的东西。一个人(或者动物)被其他的外力强行控制不能做一些事情,然后运气不好的还会被其他人(比如我)看到了全程或者一部分过程。当事人怎么样我不知道,但我就会非常难受。

而死亡,其实就相当不可控。本来我的预期是,单元门的电梯一开门我站到家门口掏钥匙,这只叫点点的傻猫就会蹿到门口,隔着不怎么样的出租房防盗门大声开始叫唤。但屋子里面非常安静。

这种场景非常少见,但之前也出现过。猫是一种有自己生物钟的动物,但如果感冒了,或者之前非常疲惫的话,偶尔也会睡过头。比如有一年过年开车带它回家,那家伙因为害怕在后备箱的豪华别墅笼子里嚎了一路。本来过年路上车就多,八个小时的路程开了十几个小时,到家第一件事儿把它搬上楼,抱它到它熟悉的猫窝里,它钻进去倒头就睡过去了,怎么拍怎么叫都不醒(但还是在呼吸的)。整整睡了有24个小时它才摸出来开始吃饭上厕所舔毛。

于是我的第一反应其实是,是不是天气变凉导致它有点感冒。它在的时候,白天我和我隔壁会把卧室门关上,把它的房间和客厅留给它(大概一共有不到50平的样子)。但它显然对于保护领土兴趣不是那么大,只会选择几个固定的地方藏身。果然在之前它常睡的地方看到了它,但是却不太对,半个猫藏在窗外,没什么声响,我们过去拉开窗子叫它也没什么反应。随着窗帘拉开一股恶臭扑面而来——当时我们还没意识到这是什么。

我当时的反应是这傻猫把自己卡住动弹不得,然后憋时间久了失禁了。一瞬间甚至还产生了“唉又要修猫了,好贵”的想法。

然后我女朋友动作比较快,摸了一把点点。

“卧槽,点点怎么凉了。”

真特么凉了。面对疑似已经死掉的点点,我的第一反应是躲到了一旁。还是我隔壁胆子比较大,女朋友尝试没有把它解救下来之后,隔壁搬了凳子过去借力,用了好大的力气把点点从卡着的地方拽了下来。而我甚至不敢站在旁边看,隔壁说弄下来了的时候第一时间去厨房掏了黑色的大垃圾袋,把点点装了进去。

事后检查发现点点直到完全死掉都没有失禁,案发现场除了拼命挣扎破坏掉的墙和家具,它甚至连指甲都没留下。那令人不安的恶臭也只是死去多时加上夏日余温尚在产生的尸臭。

后面的剧情其实就跟点点没什么关系,只是单纯的人类在悼念了。我们一起出门,在小区的花园里找了个(自认为)没有人的角落,依山傍水,刨了一个深坑把它埋了。 因为厌恶,或者说害怕死亡。其实从把点点解救下来之后我就一直没有正面的看点点。刨坑的时候,点点就在旁边的塑料袋里,最后刨得很深,隔壁要把点点拿出来的时候,我就躲到一旁去坐着了。那时候我女朋友问我要不要跟点点说最后一句话,我也只是说了个“睡吧”。

这下点点可以安心睡了,再也不用因为晚上我没关门而睡在我床上,在我打算去睡的时候再被拎起来或者直接拍床赶出去了。

3

想了一下,可能点点跟《深夜食堂》不太兼容。具体来说,它在过它两个猫生的坎的时候,我都在看《深夜食堂》。

第一次是我们头一回领教到了宠物手术的价格。

点点出生的那会儿,我刚刚从西安到北京不到一年。也是刚刚稍稍安稳下来的时候。刚好隔壁也有想要养猫的计划,没有什么科学养猫经验的俩人在豆瓣上的宠物领养小组找了个猫主,从她那里花几百块钱接回来的。虽说是后院(自繁育)的猫,但猫主还是教会了点点认猫砂盆(虽然第一天晚上拉在我隔壁手机上了),并做了基本的免疫。

但点点不是个太省心的猫。半岁的时候,在客厅玩跳高。小不点的时候努力尝试跳到客厅嵌墙鞋柜的台子上,稍大一点就尝试通过入户门作为借力点往整个鞋柜的顶端跑。常在河边走,总要湿下鞋。攀爬能手总要面临怎么下来的问题,这个傻猫可能意识到爬上去是不对的,在我们出来看的时候匆忙往下跳,于是就把后腿给摔了。

当时大家也都没觉得是个事儿,就觉得它可能摔懵了,也没注意到它一瘸一拐的。但第二天早上就发现它没什么精神地缩在沙发上。偶尔下地就很明显的一瘸一拐了。晚上隔壁说带它去医院看看是不是伤到肉了,我就赴了《深夜食堂2》的国内首映。

华彩的电影院没信号,直到电影结束出场才看到隔壁发的一堆微信。一个电话打回去,隔壁说点点骨折了,不动手术可能会死,还说图发微信了让看一下。

后面就乏善可陈了,送去医院,取出人的医保来给猫治病这样。前前后后花了大几千和一个笼子还有若干假期,点点算是恢复了健康。

第二次就是点点的去世。它去世的前几天 Bilibili 刚买了深夜食堂,前一天的半夜,因为很久没有看的我,就去翻出了视频看剧场版和TV3。那天晚上我还拍照片发到群里:点点在跟我一起看剧。

那天晚上我是相信点点真的有陪我看《深夜食堂》的。平时点点会在我很晚没有睡,又没有赶他出去的时候,在我的床上缩成 Firefox Logo 那样的小熊猫圈的形状,而那天它是真的把脑袋放在被子上,然后在我后面盯着屏幕看。从我自己的角度来看,我是愿意解读为它跟我一样羡慕那个剧集里面的世界的。

谁tm就知道它真的就去二次元了。

就本心来说,我是很不愿意把《深夜食堂》和猫的困境联系到一起的。我大学的时候有一段特别难过的时间,是朋友推荐的《深夜食堂》剧集陪我度过了那段时间。也正是因为觉得这个企划对于自己意义非凡,我甚至还一直坚持在收它的漫画和BD。

而点点,无论是在之前孤身一人来北京的日子里,还是后来遇到同样喜欢猫,也在养猫的女朋友之后,都是我非常重要的精神伴侣。点点不是个脾气很好的猫(跟我们没有好好的从幼猫时代引导有关系),甚至也不算聪明(甚至从手里叼东西也是教了很久才教会的),但它确实是能够感受到人的情绪变化,并在你难过的时候静静的卧在你身上。一个人难过的时候可能并不是需要开解,只是陪伴就够了。

很多人都觉得,猫没了再养一只就是了。但其实精神陪伴的替代没有这么简单。你和你的宠物有之前惯常的生活习惯,这些记忆就算是重新克隆的点点也不会再有了。所以我也只是偶尔去女朋友家里撸一下她家的几只猫,但自己可能很难再养一只了。

同样的,也不希望《深夜食堂》完结。虽然漫画读到现在,觉得很多故事已经非常的枯燥了,但那个故事发生的舞台,却一直是内心的一块柔软的地方。

4

点点没了之后,我下班无论是开车还是骑摩托车都会绕小区一圈,然后隔三岔五的去埋点点地方稍微站一下。做这些并不是忏悔,更多的是给自己留下一下纪念。

现在的计划是开春在小区维护绿化的时候,带一些猫草(小麦)种子过去,种在它上面。点点还是很喜欢吃猫草的,死后让猫草带它更快离去,想必它也会喜欢吧。

无神论者,是不相信有什么返魂什么的。何况,这个把自己卡住的傻猫,还是早点成佛然后投胎吧。

然后,如果能记得曾经活过这两年多的话,更加小心,并且快乐地过下去吧。

睡吧,点点。

服务器再搬家

昨天刚好是7月13号,距离我把主服务器从 sakura vps 迁出刚好整一年。这一年里我使用的是论坛成员推荐的海星云服务器。虽然存在比较大的丢包情况,但在七牛 cdn 的加成下总体也还算比较平稳。但在上个月,因为备案失效而被迫从中国大陆地区迁出的口袋维基迁移到这台服务器的时候,每个月 1TB 的流量配额就显得特别捉襟见肘了。

VPS 6月流量总图

为此,我还特意把剩余的几个月加钱升级了高配,就为了多买一点流量。临近一年整,靠升配续命终归不是正道,于是服务器再次搬家就成为了一个议题。

这不,好容易有个闲暇时间,赶紧把家搬了。

这次选用的是 Wenjing network 旗下的 HostKVM 。看 IP 分配,感觉跟之前海星在同一个机房,但丢包情况得到了不少改善。按照老规矩,观察几天,看看情况。