共计 5707 个字符,预计需要花费 15 分钟才能阅读完成。
这两周我的时间线被各种 Apple Pay 卡面刷屏了,有人把招行的卡换成了吉伊卡哇,有人把一张普通借记卡换成了黑金配色,还有人干脆把自家猫的照片塞进了钱包。搜索了一下发现大家用的是同一个开源工具 [[AirCard]]。我钱包里有好几张卡的卡面实在太丑,有些干脆是 Visa/Mastercard 默认的卡面,在 [[Apple Wallet]] 里就是一张纯色底加一个 Logo,每次双击侧边按钮都觉得不太舒服,所以花了一点时间把 AirCard 的源码和社区里的讨论都翻了一遍,这篇文章就把我看到的东西整理一下。

AirCard 是什么
AirCard 是开发者 Mak5er 在 2026 年 9 月中旬开源的一个 macOS 应用,项目描述写的是 Apple Wallet Card Skinner for iOS 18+ (No Jailbreak Required),也就是不需要越狱,就能给 iOS 18 及以上系统里的 [[Apple Pay]] 和钱包卡片换上自定义的图片。项目采用 MIT 协议,发布不到两周就拿到了 4500 多个 Star,版本也从 1.2.2 一路迭代到了现在的 1.2.4,更新速度非常快。
除了换卡面,AirCard 还顺带做了锁屏密码键盘的主题功能。它可以直接读取 Cowabunga、Nugget 时代流行的 .passthm 主题包,把锁屏输入密码时那 12 个圆形按键换成自定义图案,并且内置了一个主题编辑器,可以把一张壁纸自动切成 12 块,也可以逐个按键指定图片。不过这篇文章主要聊卡面,密码键盘主题就不展开了。
需要说清楚的是,AirCard 修改的只是 iPhone 本地显示的卡面图片。卡片本身的 Token、卡号、支付能力完全不受影响,刷卡的时候 POS 机不会知道你的卡长什么样,实体卡当然也不会变。它本质上是一个「本地皮肤」,只有你自己能看到。
它是怎么做到不越狱修改的
我比较好奇一个第三方工具怎么能在未越狱的 iPhone 上改系统钱包的文件,所以去翻了源码。AirCard 的核心依赖是 0xjohnny 公开的 airlift,这是一个利用 AirTraffic 同步服务(就是 Mac 通过 USB 给 iPhone 同步图书、媒体时用的那个服务)的沙盒逃逸漏洞。简单来说,AirCard 会构造一个带有符号链接的特殊 zip 包,借助同步流程把文件写到原本无法访问的系统目录里。
钱包里每张卡在系统中都对应一个 .pkpass 目录,路径大致是 /var/mobile/Library/Passes/Cards/{卡片哈希}.pkpass。AirCard 做的事情就是往这个目录写入三个文件:[email protected]、[email protected] 和 cardBackgroundCombined.pdf,同时刷新 FrontFace、PlaceHolder、Preview 这几个缓存文件,这样钱包下次启动时就会读到新图片。源码里写得很清楚,无论你拖进去什么尺寸的图片,AirCard 都会先按照「等比填充再居中裁切」的方式处理成 1536×969 像素,这个尺寸后面挑素材的时候很重要。
另一个有意思的地方是它识别卡片的方式。AirCard 并不去读钱包的数据库,而是通过 USB 连接 iPhone 的系统日志流,当你在手机上打开 Apple Pay 并点击某张卡时,钱包会在日志里打印这张卡对应的 .pkpass 路径,AirCard 从日志里把卡片哈希抓出来。这也是为什么扫描卡片时必须在手机上真的去点一下卡。早期版本在 iOS 18.6.2 上会出现扫不到卡的情况,原因是旧的 syslog 服务会省略这些路径,1.2.3 之后换成了统一日志流才解决。
既然依赖的是一个系统漏洞,就意味着这件事有「保质期」。Apple 随时可能在某个 iOS 小版本里把 AirTraffic 这个口子堵上,到那时 AirCard 就会失效。所以如果你想换卡面,建议趁现在还能用的时候尽早折腾,同时也不要为了它推迟系统的安全更新。
使用 AirCard 换卡面
AirCard 的使用门槛不算高,Mac 端基本就是拖拽操作。准备工作包括一台运行 macOS 14 Sonoma 及以上的 Mac(Apple Silicon 和 Intel 都支持,App 是 Universal 二进制)、一台 iOS 18 及以上的 iPhone,以及一根能传数据的 USB 线,只能充电的线是不行的。
安装的时候去 GitHub Releases 下载 AirCard.dmg,拖到应用程序文件夹即可。因为没有经过 Apple 公证,第一次打开会被 Gatekeeper 拦下来,可以右键点击应用选择「打开」,或者在终端执行下面这行命令去掉隔离属性:
sudo xattr -cr /Applications/AirCard.app
打开之后的操作流程是这样的:先用数据线连接 iPhone,保持解锁状态,如果弹出「要信任此电脑吗」就点信任。然后在 AirCard 的 Wallet Cards 标签页点击 Scan Cards,这时候拿起手机双击侧边按钮唤出 Apple Pay,完成 [[Face ID]] 验证后点击你想改的那张卡,没反应就再点一次,AirCard 界面上就会出现这张卡的占位图。想改多张卡的话,在 Apple Pay 界面里依次滑到每张卡点一下,它会一张一张识别出来。
识别完成后,把准备好的图片拖到对应卡片的缩略图上,也可以点击缩略图选择文件,如果想所有卡统一风格,还可以一键把同一张图应用到所有卡片。最后点击 Flash Skins 开始写入,这个过程中不要拔线也不要锁屏。写入完成后在多任务界面里把钱包 App 划掉再重新打开,或者直接重启手机,新卡面就会出现了。
如果你手边没有 Mac,还有两个选择。一个是项目贡献者 Lumid-Off 维护的 AirCard-Windows,支持 Windows 10 和 11。另一个是作者自己做的 AirCard-iOS,可以直接在手机上完成修改,但它目前只支持 iOS 27 及以上,需要通过 [[SideStore]]、[[AltStore]]、[[TrollStore]] 或 LiveContainer 之类的方式侧载 IPA,还要配合 LocalDevVPN 的本地回环模式以及开发者模式配对,折腾程度明显高于 Mac 版。对侧载不太熟悉的话,可以先看看我之前写的 Apple TV 侧载自由:使用 ATVLoadly 实现应用自动续签,思路是相通的。
恢复原卡面之前先想清楚
这是我觉得最需要提前说的一点:AirCard 目前不会备份原始卡面。界面上卡片右上角那个叉号只是清除 AirCard 里待写入的图片,并不能把手机里已经刷进去的卡面还原回去。GitHub 上已经有好几个 Issue(比如 #56 和 #58)在请求「恢复默认卡面」的功能,但截至 1.2.4 还没有实现。
那么改坏了怎么办?根据 CardArt 网站整理的说明,借记卡和信用卡这类支付卡可以在不删卡的情况下恢复原卡面,其他类型的卡则需要从钱包里移除后重新添加。最稳妥的通用办法就是删卡重加,钱包会重新从发卡行拉取官方卡面,代价是可能需要重新走一遍银行的短信验证,部分卡还得重新设置交通卡等默认选项。如果你钱包里的卡添加时曾经很麻烦(比如 汇丰银行 Pluse 卡添加 Apple Pay 验证解决方案 里那种需要额外验证的海外卡),动手之前最好三思。
所以我的建议是先导出原卡面再动手。美卡论坛有网友写了一个叫 AirWalletExport 的命令行工具,原理和 AirCard 类似,可以通过 USB 把钱包里支付卡的原始背景图导出成 PNG 或 PDF 保存到 Mac 上,它只读卡面图片,不读卡号和交易记录。安装需要用到 [[uv]]:
git clone --recurse-submodules https://github.com/Max-Sum/AirWalletExport.git
cd AirWalletExport
uv tool install .
airwallet-export --help
这个工具的 README 里有一个醒目的警告:导出过程如果被中断,卡面可能需要恢复,存在数据丢失的可能,所以使用前一定要先备份 iPhone,导出时保持解锁并且不要拔线。万一中断了,先执行 airwallet-export recover 再重试。导出来的原图除了可以留作备份,还有一个用途,就是作为底图在原卡面的基础上做二次创作。
卡面素材下载网站
工具有了,接下来的问题就是图从哪来。AirCard 火起来之后,社区里很快冒出了一批专门分享卡面的网站,我挑了几个看下来比较靠谱的。
CardArt 是目前我觉得做得最完整的一个卡面社区。首页显示已经收录了 2119 张卡面,可以按最新、精选浏览,也有一个随机逛逛的 Wander 模式。所有卡面都可以下载 1536×969 的原尺寸 PNG,正好是 AirCard 需要的规格,不会被二次裁切。登录后可以上传自己的作品,支持 PNG、JPG、WebP,单张不超过 30 MB,经过审核才会出现在画廊里。网站还提供了 Mac、Windows 和 iOS 三个平台的图文教程,界面支持中英日韩四种语言,对新手很友好。
AirCards 的定位更偏向「银行官方卡面图鉴」,目前收录了 557 张,最大的特点是筛选维度非常细,可以按卡组织(Visa、Mastercard、JCB、美国运通、银联、MIR)、国家地区、发卡行、卡片类型、卡片等级(金卡、白金卡、Signature、World Elite 等)甚至图片来源来筛选,还能看到哪些卡已经停发。如果你想让手里的普卡「看起来」像同系列的高端卡,或者想找某张已经停发的经典卡面,在这里找会比较快。它同样支持简繁中文、英文、日文、韩文。
aircardios.github.io/cards 是一个偏中文用户的卡面模板库,收录了 438 套,其中中国大陆的卡面有 248 套,招行、工行、中行、建行以及各种联名卡(Hello Kitty、宝可梦、原神、洛天依、B 站等)都比较全,港澳台和欧美的 Wise、Monzo、汇丰也有一些。不过要提醒一句,这个站点在页面上反复推广自己的「客户端下载」,但它和 AirCard 原作者没有任何关联,我的建议是只在这里下载卡面图片,客户端一律去官方 GitHub 仓库下载。
另外一个思路是直接去银行官网找卡面。很多银行在信用卡产品页上都放了高清的卡面大图,自己下载下来按 1536×969 的比例裁一下就能用,清晰度往往比别人二次转存的更好。
在线卡面制作工具
如果现成的卡面都不满意,也可以用在线工具自己做一张。
Card Design Generator 是一位 B 站 UP 主开源的卡面生成器,代码在 GitHub 上。它严格按照 ISO 7810 ID-1 标准(也就是 85.60×53.98 毫米的银行卡尺寸)设计,预览和导出都是 1536×969 像素,带 3.18 毫米的标准圆角。功能上支持拖入背景图后自动适配和裁切,可以叠一张半透明的参考图帮助对齐原卡面的 Logo 位置,也可以一次上传多个 Logo,逐个调整大小、位置、透明度、旋转角度,还能自动去除 Logo 背景并给 Logo 加描边。我觉得「参考图」这个功能非常实用,先用 AirWalletExport 把原卡面导出来当参考,再把新背景和银行 Logo、卡组织标识对齐,做出来的效果和官方卡面几乎看不出区别。
CardDesign 是另一个更轻量的在线工具,打开时会自动加载必应每日壁纸作为背景,也可以从壁纸列表里选或者上传自己的图片,内置了公交、地铁图标,可以加自定义文字和 Logo。它预设了银行卡 900×567 和交通卡 960×606 两种尺寸,比例和银行卡一致,但分辨率低于 AirCard 的 1536×969,导入后会被放大,在 3 倍屏上细看会有一点糊,适合做风景类、不需要细节的卡面。
CardArt 自己也在 /make 路径下提供了一个制作器,做好之后可以直接投稿到它的画廊里。
一些使用经验和坑
素材尺寸尽量直接做成 1536×969。前面提到 AirCard 会对图片做等比填充再居中裁切,如果你拖进去一张 16:9 的壁纸,左右两边会被裁掉一大截,构图很容易被破坏。另外钱包里的卡片是圆角显示的,四个角附近不要放重要的文字或 Logo。
关于 iOS 版本兼容性,README 里写的是在 iOS 27 正式版上测试通过,但 Issue 里已经有好几位用户反馈在 iOS 27.2 上写入时会卡在 25% 不动,用 Wi-Fi 连接写入也有类似问题。从大家贴出的日志看,卡住的是 AirTraffic 同步那一步,我怀疑这和 Apple 在新版本里对同步服务做的调整有关。如果你已经在 27.2 上,可能要等后续版本修复,也可能就此失效,这一点没有人能打包票。
最后也是最重要的一点:注意下载来源。AirCard 火了之后,GitHub 上出现了不少同名仓库,有的原样复制了 README,有的还配套了一个 GitHub Pages 页面宣传「完全兼容 Windows 10/11」的下载包。一个需要通过 USB 获取 iPhone 信任、往系统目录写文件的程序,如果被人植入了恶意代码,后果可想而知。Mac 版只认 Mak5er/AirCard,Windows 版只认 Lumid-Off/AirCard-Windows,iOS 版只认 Mak5er/AirCard-iOS,其他地方的「客户端」都不要碰。
最后
写到这里,我已经成功将我钱包中那几张难看的卡更新了新卡面,每次掏手机付款的时候心情确实会好一点。但回头看,AirCard 这件事最让我感兴趣的其实不是换皮肤本身,而是它的实现方式:一个 AirTraffic 同步服务的沙盒逃逸漏洞,被社区在短短几天内包装成了人人都能用的图形界面工具,然后又迅速长出了 CardArt、AirCards 这样的素材社区和各种在线制作器,iOS 越狱社区当年的那种活力好像又回来了一点。
也正因为它建立在一个漏洞之上,我更愿意把它当成一个限时的玩具,而不是长期方案。动手之前先备份手机、先导出原卡面,只从官方仓库下载程序,保持这几点,剩下的就是尽情挑一张自己喜欢的卡面了。如果之后 Apple 修复了这个漏洞,我也希望 Apple 能顺势在钱包里给用户开放一个官方的卡面自定义选项,毕竟这么多人愿意花一个晚上折腾,需求显然是真实存在的。
