浅谈棋牌游戏开发流程七:反外挂与安全体系——守护游戏公平与玩家体验
一、前言:为什么反外挂与安全这么重要?
对于任何一款线上棋牌游戏而言,公平性和玩家安全都是最重要的核心要素之一。如果游戏环境充斥着各式各样的外挂、作弊方式,不仅会毁坏玩家体验,更会导致游戏生态崩塌、口碑下滑、玩家快速流失。为此,建立完善的反外挂与安全体系至关重要。
在本篇文章中,我们将从以下几个方面入手,全面剖析如何在棋牌游戏中构建一套有效的安全与反外挂体系:
- 外挂检测策略:常见的外挂形式有哪些,我们该如何识别和阻止?
- 数据一致性与验证:确保游戏数据的完整性和一致性,防止篡改或替换数据;
- 实时监控与行为分析:利用日志和数据分析手段,实时发现并定位异常行为;
- 安全防护措施:加固服务器、加密通信、防止 DDoS 攻击等;
- 玩家反馈与封禁机制:建立有效的举报渠道和封禁流程,为公平游戏保驾护航。
让我们一同探讨,如何把外挂、作弊等破坏游戏生态的因素“扼杀在摇篮里”,为玩家打造一个健康、稳定、可持续的游戏世界。
二、外挂检测策略:如何识别并阻止“神秘力量”?
2.1 常见外挂形式
-
修改客户端内存:
- 外挂通过篡改客户端内存数据,实现透视牌、自动出牌、无限道具等功能;
- 这类外挂常见于本地运算偏重的游戏,如果防护不足,就容易被“内存挂”攻破。
-
模拟客户端操作:
- 外挂在操作系统层面模拟鼠标、键盘或触摸指令,进行高频或精准的自动化操作;
- 对于需要快速出牌或自动匹配的场景尤为常见。
-
网络截包与伪造数据:
- 外挂可能截获客户端-服务器的通信数据(如封包),并进行解包、篡改或重放;
- 通过伪造数据包实现作弊,例如在斗地主中伪造“出牌指令”或篡改结算数据。
-
全局加速器:
- 通过修改本地时钟或网络封包节奏,使客户端相比其他玩家“更快”执行操作;
- 通常出现在需要快速反应的游戏中。
-
AI 辅助:
- 借助图像识别或机器学习技术,自动识别牌面、玩家动作,再进行最优策略出牌;
- 对于一些社交性强的牌类游戏,AI 外挂可能造成极其不公平的局面。
2.2 对策与检测方法
-
服务器主导逻辑:
- 核心规则判定放在服务器端执行,不相信客户端提交的关键结果;
- 例如:洗牌、发牌、结算等均在服务器计算,客户端只做展示,最大化减少“篡改游戏逻辑”的机会。
-
数据签名与校验:
- 对关键数据进行签名、校验码或 hash 校验,防止客户端篡改后再发送给服务器;
- 若签名不匹配,立即判定为非法请求,拒绝处理。
-
反调试与加固:
- 在客户端集成反调试、反内存修改的安全模块,如封装App加固/反篡改的 SDK;
- 定期检测应用完整性、运行环境(是否在模拟器或外挂工具环境中)等。
-
异常行为检测:
- 在服务器端通过统计玩家操作频率、出牌间隔、胜率曲线等,发现异常激增或超自然反应;
- 例如:若一个玩家在极短时间内迅速出牌且胜率远超正常水平,则可能存在外挂行为。
-
网络流量分析:
- 对通信层进行加密(如 TLS/SSL 或自定义加密),并监控出现大量异常封包或重放攻击;
- 如果发现不符合协议格式或重复提交的可疑数据包,需要自动阻断或警告。
三、数据一致性与验证:别让“篡改的数据”左右牌局
3.1 为什么数据一致性至关重要?
在棋牌游戏中,任何一处数据的异常,都可能导致**“判定出错”或“结算异常”**。若有人通过篡改或替换数据来作弊,会破坏整个对局体验。为此,数据一致性验证成为反外挂的另一大核心策略。
3.2 主要手段与机制
-
服务端逻辑校验:
- 不要把关键逻辑交给客户端执行,再由客户端告诉服务器“结果”;
- 例如:对局中,服务器负责检测出牌的牌型是否符合规则,而不是相信客户端的“我出的牌是王炸”;
- 无论客户端怎么篡改,本质出牌合法性都要以服务器校验为准。
-
客户端-服务端数据对照:
- 在一些关键环节,如结算时,服务器生成并返回一个签名结果,客户端只展示;
- 客户端发回的结算信息也需要服务器端再度验证。
-
帧同步或状态同步(在实时对战游戏里常见):
- 每个关键帧或回合结束,服务器都要向客户端广播“可信状态”,客户端只负责可视化;
- 一旦客户端发出的状态与服务器记录的状态不一致,立即警告并断开连接。
-
日志审计与回放:
- 服务器保留玩家的关键操作日志(如出牌记录、结算结果),可在后台或运维系统做二次审计;
- 若某玩家连续多次出现与常规行为截然不同的操作,系统可以自动触发作弊检测。
四、实时监控与行为分析:用数据说话,揪出“异常操作”
4.1 实时监控的重要性
依靠单次判断或简单的客户端加固,并不能完全杜绝外挂。更稳妥的方法是持续地收集和分析玩家行为数据,通过大数据、机器学习或规则引擎,及时发现“人类不可能完成”的异常操作。
4.2 典型行为分析指标
-
出牌间隔统计:
- 正常玩家的操作速度存在一定人类极限;
- 若玩家多次在“毫秒级”完成精准出牌,且毫无停顿,则可能是外挂或脚本。
-
胜率与收益曲线:
- 若某玩家在短期内胜率或收益远超平均水平,且无合理解释,如打牌量极高却零失误;
- 需排查其操作是否异常,如是否存在外挂辅助或多开刷分。
-
操控频率与时段分布:
- 是否在极夜或早晨等常见玩家离线时段里,高强度对战、不间断操作;
- 若一个账号 24 小时连轴转,极可能是工作室批量外挂操作。
-
IP/MAC/设备指纹:
- 统计相同 IP 或设备指纹下登录了多少账号,是否在同一时段发起大量匹配;
- 防止工作室批量脚本,用同一个设备伪装多账号进行作弊。
4.3 实践:搭建行为分析与报警系统
-
日志与数据采集:
- 服务器实时记录玩家操作日志(出牌时间、操作类型、对局结果等);
- 前端可配合埋点记录一些可疑操作,但核心数据放后端为准。
-
数据聚合与分析:
- 采用大数据平台(如 ELK、ClickHouse 或自研方案)进行离线/实时分析;
- 设定行为特征或阈值,如“单小时出牌次数大于 X 次”、“胜率大于 Y%”等,触发告警。
-
告警与处理:
- 系统检测到异常行为后,自动发出警告给运营或安全人员;
- 若异常极其明显(如瞬间爆仓、天文数字金币增加),可自动封禁并拉入黑名单。
五、安全防护措施:保护“云端牌桌”不被攻击
5.1 服务器加固
-
防火墙与安全组:
- 限制端口访问范围,仅开放必要的端口;
- 对关键端口做 IP 白名单或限流策略。
-
身份验证与权限管理:
- 服务器管理端、数据库等内部系统,需要强密码、双因子验证或 VPN 访问;
- 避免被黑客攻陷后直接操作数据库或注入作弊脚本。
-
自动化安全扫描:
- 使用工具(如 Nessus、OpenVAS 等)定期扫描服务器漏洞,及时打补丁;
- 对 Web 层或 API 层进行渗透测试,发现安全漏洞并修复。
5.2 通信加密与防护
-
TLS/SSL 加密:
- 客户端与服务器之间,强制使用 HTTPS 或 WSS(WebSocket Secure)通信;
- 防止网络层截包、篡改数据。
-
数据签名:
- 关键请求参数使用 HMAC 或 RSA 签名方式,防止被中间人伪造或重放。
-
防止 DDoS 攻击:
- 配合云厂商或 CDN,自带防护能力;
- 设置流量清洗、限频策略,当访问量异常暴增时自动拦截。
5.3 反爬虫与脚本检测
-
校验码/验证码:
- 针对高频操作或登录场景,引入简单的人机校验,以阻断脚本批量操作;
- 例如:玩家短时间内发起多次匹配、创建房间或充值请求,需要验证码通过后才继续。
-
节流与限流:
- 对单 IP、单设备等设置访问或操作频率限制,如每小时最多 N 次匹配;
- 若超过阈值则临时封禁或触发人机校验。
六、玩家反馈与封禁机制:让社区共同维护公平游戏
6.1 有效的玩家举报流程
-
举报入口:
- 在游戏内设置便捷的“举报”按钮或菜单,让玩家能快速提交举报;
- 允许玩家在对局结算后,对可疑玩家进行投诉(如“玩家疑似外挂”)。
-
举报信息收集:
- 收集对战记录、玩家操作日志、聊天记录(若有)等;
- 为后端分析提供依据,避免冤枉无辜玩家。
-
自动化处理与人工复核:
- 对多次被举报、或行为统计异常的玩家,系统自动标记为“高危”;
- 后台安全专员可进行人工复核,确认后可实施封号或惩罚。
6.2 封禁与处罚
-
临时封禁:
- 初步判定玩家存在作弊可能时,可进行临时封禁,限制其登录或游戏操作一段时间;
- 给予玩家申诉渠道,若误判可恢复。
-
永久封禁:
- 对明确外挂、严重破坏游戏生态者,采取永久封禁、清空资产等措施;
- 公告处理结果,对外宣示“零容忍”态度。
-
连坐机制:
- 若发现玩家间通过利益输送或组队作弊,牵连一并处理;
- 对“工作室”或“黑产”常用的 IP、设备进行批量封禁。
-
不退还资产:
- 避免玩家在被封禁前,将金币、钻石等转移到另一个账号;
- 对于外挂所获收益不予保留,一律清零。
七、实际案例与最佳实践
7.1 案例分析:某大型棋牌游戏的反外挂体系
背景:
某大型棋牌游戏日活跃用户超过百万,外挂与黑产工作室频发。为确保游戏生态良性发展,官方投入专项团队与技术方案开展“深度反外挂”行动。
核心亮点:
-
客户端加固与外挂识别:
- 客户端集成反调试 SDK,每次启动都检测运行环境,若发现模拟器或注入行为,自动退出或上报;
- 定期更新游戏客户端安全模块,增加变形加壳、代码混淆等措施。
-
服务端主导逻辑:
- 所有牌局逻辑均在服务端运算,客户端只负责 UI 显示;
- 扑克发牌、输赢结算均由服务器内部完成,客户端难以篡改。
-
行为大数据分析:
- 采集玩家操作日志,分时段分析出牌速度、胜率等曲线;
- 搭建机器学习模型,识别“人类不可实现”的高频操作或不合理盈利曲线。
-
异步校验与回放机制:
- 后端保留历史对局数据,若发现玩家异常,可随时对该局进行回放分析;
- 部分严重涉嫌外挂的账号在回放审计后立刻封停。
-
玩家举报与封禁流程:
- 在结算界面或游戏大厅提供“一键举报”,采集嫌疑玩家信息;
- 后台自动对多次被举报者进行 AI 排查,若证据确凿则执行封禁、公告警示等措施。
成果:
- 外挂使用率大幅下降,打击黑产工作室成效显著;
- 玩家社区认可度提高,留存率和活跃度也随之上升;
- 公平游戏环境巩固了品牌声誉与收入。
7.2 最佳实践分享
- 持续更新安全策略:外挂技术也在不断迭代,需定期更新客户端安全模块与服务端检测策略;
- 把逻辑放服务器:客户端仅做输入与展示,关键逻辑和数据均在后端处理;
- 大数据 + AI:利用行为分析或机器学习及时发掘隐藏的高级外挂;
- 保留充足日志:为审计和复盘保留关键操作记录,一旦作弊疑虑,能迅速回放对局进行定性;
- 玩家社群力量:重视玩家举报与反馈,提供奖惩制度,让社区共同维护游戏公平;
- 封禁不手软:对确定为外挂的账号采取强硬措施,封禁、清空资产,起到震慑作用;
- 数据安全与灾备:除外挂外,也要防范被黑客攻破后台篡改数据,定期做安全扫描与数据备份。
八、总结:安全与反外挂是“一场持久战”
通过本篇文章,我们深度探讨了反外挂与安全体系在棋牌游戏后端架构中的关键作用。外挂、作弊、黑产等问题并不是“一劳永逸”能彻底解决的,需要持续的技术升级与多方联动(包括玩家、运营、安全团队)的不懈努力。
核心要点回顾:
- 外挂检测策略:识别外挂类型(内存修改、模拟操作、截包、AI 等),采取服务器主导逻辑、反调试、数据签名等多重措施;
- 数据一致性与验证:将核心逻辑放到服务端,数据签名校验、帧同步或回放审计,防止篡改;
- 实时监控与行为分析:利用大数据手段,关注出牌间隔、胜率曲线、玩家在线行为等指标,及时识别异常;
- 安全防护措施:服务器加固、TLS/SSL 加密、防 DDoS、验证码、人机校验等,全方位“护城河”;
- 玩家反馈与封禁机制:鼓励玩家举报可疑账号,执行严格的封号或惩戒措施,巩固游戏环境;
- 持续升级与最佳实践:通过打击外挂的成功案例,积累经验并保持技术、策略的迭代更新。
真正优秀的游戏安全体系,往往是技术 + 人力 + 社区三方协同的结果;只有建立起完善的反外挂生态,才能为玩家提供一个更健康、更公平、更长寿的游戏环境。
下一篇预告:运维与数据分析——让棋牌游戏在“云端”稳健起舞
在完成了反外挂与安全体系的探讨后,我们的系列文章即将进入运维与数据分析阶段。届时我们将讨论:
- 运维自动化:如何利用 Docker、Kubernetes、CI/CD 等技术,实现快速部署与弹性扩容;
- 监控与告警:如何通过 Prometheus、Grafana、日志平台对系统健康进行实时监控和预警;
- 数据分析与 BI:用户留存、付费率、流失预测……如何用数据驱动游戏运营决策;
- 日志与埋点:关键事件记录与分析,为优化游戏和商业化提供精准依据。
敬请期待,我们将继续为您带来专业且易懂的技术实践,助力您的棋牌游戏项目在“云端”稳健起舞!
相关文章:
浅谈棋牌游戏开发流程七:反外挂与安全体系——守护游戏公平与玩家体验
一、前言:为什么反外挂与安全这么重要? 对于任何一款线上棋牌游戏而言,公平性和玩家安全都是最重要的核心要素之一。如果游戏环境充斥着各式各样的外挂、作弊方式,不仅会毁坏玩家体验,更会导致游戏生态崩塌、口碑下滑…...

《无力逃脱》V1.0.15.920(59069)官方中文版
艾丹是一名三臂赏金猎人,他必须追捕银河系中最危险、最难以捉摸的割喉者。 有些悬赏是金钱,有些则是有价值的信息。艾丹可以利用这些信息找到让他走上这条路的人,同时也会卷入一个全银河系的阴谋中。 拥有三条手臂可以让你同时对付更多的敌…...
六种主流服务器的选择与使用
网络的运行离不开各种服务器,它们各司其职,为我们提供稳定的网络服务。本文带大家了解6种常见服务器类型。 服务器的六大种类 第一种:Web服务器 Web服务器是互联网的核心。当你打开一个网站,比如百度或淘宝,浏览器会…...
TiDB 升级至高版本提示'mysql.tidb_runaway_watch' doesn't exist 问题处理
作者: asd80703406 原文来源: https://tidb.net/blog/90394c97 背景 近期发现很多人从低版本升级至TiDB v7 或者v8版本,均遇到了tidb-server启动失败,提示报错如下: ["get runaway watch record failed"…...

GRU-PFG:利用图神经网络从股票因子中提取股票间相关性
“GRU-PFG: Extract Inter-Stock Correlation from Stock Factors with Graph Neural Network” 论文地址:https://arxiv.org/pdf/2411.18997 摘要 股票预测模型可以分为两个主要类别:第一类,例如GRU和ALSTM,这些模型仅基于股票…...

数字化供应链创新解决方案在零售行业的应用研究——以开源AI智能名片S2B2C商城小程序为例
摘要: 在数字化转型的浪潮中,零售行业正经历着前所未有的变革。特别是在供应链管理方面,线上线下融合、数据孤岛、消费者需求多样化等问题日益凸显,对零售企业的运营效率与市场竞争力构成了严峻挑战。本文深入探讨了零售行业供应…...
安卓Activity执行finish后onNewIntent也执行了
测试反应投屏时下一集可能播放不成功。 首先看一下日志: onCompletion onCast handlerMessage: 2 finish: PlayerActivityabc7fdc onPause: PlayerActivityabc7fdc onNewIntent: PlayerActivityabc7fdc onResume: PlayerActivityabc7fdc onPause: PlayerActivityab…...

数据结构.期末复习.学习笔记(c语言)
《数据结构》复习概要 一、概论 二、基础1. 基本概念2. 四种逻辑结构及特点3. 算法的概念、特性4. 算法设计的4个要求 三、线性结构1.顺序表2.单链表3.循环链表双向链表4.栈(后进先出)5.队列(先进先出) 四、树和二叉树1.树2.二叉…...

Kafaka安装与启动教程
1.下载 先去官网Apache Kafka可以查看到每个版本的发布时间。选择你要安装的版本。 然后进入linux建立要存放的文件夹,用wget命令下载 2.安装 先解压缩: tar -xvzf kafka_2.12-3.5.1.tgz -C ../ 3.配置文件 修改server.properties: cd .…...
根据docker file 编译镜像
比如给到一个Dockerfile 第一步编译镜像 cd /path/to/Dockerfiledocker build -t <DOCKER_IMAGE_NAME> . build 命令编译镜像 -t 镜像名字 . 指dockerfile 所在目录 如果遇到报错 [] Building 0.3s (3/3) FINISHED …...
联邦学习的 AI 大模型微调中,加性、选择性、重参数化和混合微调
联邦学习的 AI 大模型微调中,加性、选择性、重参数化和混合微调 在联邦学习的 AI 大模型微调中,加性、选择性、重参数化和混合微调是不同的操作方式,具体如下: 加性微调 定义与原理:加性微调是在原始模型的基础上添加额外的可训练参数来进行模型调整。这种方式不会改变原…...

android 外挂modem模块实现Telephony相关功能(上网,发短信,打电话)
一.背景 当前模块不支持Telephony相关的功能,例如上网、发短信等功能,就需要外挂另一个模块实现此功能,这就是外挂modem模块实现Telephony功能,此篇主要就是说实现外挂modem模块功能中的Framework层实现逻辑,如下流程是在Android 13中实现的外挂pcie模块的流程 二.ril库相…...

【计算机视觉技术 - 人脸生成】2.GAN网络的构建和训练
GAN 是一种常用的优秀的图像生成模型。我们使用了支持条件生成的 cGAN。下面介绍简单 cGAN 模型的构建以及训练过程。 2.1 在 model 文件夹中新建 nets.py 文件 import torch import torch.nn as nn# 生成器类 class Generator(nn.Module):def __init__(self, nz100, nc3, n…...

数据中台与数据治理服务方案[50页PPT]
本文概述了数据中台与数据治理服务方案的核心要点。数据中台作为政务服务数据化的核心,通过整合各部门业务系统数据,进行建模与加工,以新数据驱动政府管理效率提升与政务服务能力增强。数据治理则聚焦于解决整体架构问题,确保数据…...

【Qt】将控件均匀分布到圆环上
1. 关键代码 for(int i0; i<10; i){/*m_panLabelIcon - 大圆环控件m_slotsIcon[i] - 小圆控件*/QString idxStr QString::number(i1);m_slotsIcon[i] new QLabel(m_panLabelIcon);m_slotsIcon[i]->setFont(ftSlot);m_slotsIcon[i]->setText(idxStr);m_slotsIcon[i]-…...
第四、五章补充:线代本质合集(B站:小崔说数)
视频1:线性空间 原视频:【线性代数的本质】向量空间、基向量的几何解释_哔哩哔哩_bilibili 很多同学在学习线性代数的时候,会遇到一个困扰,就是不知道什么是线性空间。...
2025年贵州省职业院校技能大赛信息安全管理与评估赛项规程
贵州省职业院校技能大赛赛项规程 赛项名称: 信息安全管理与评估 英文名称: Information Security Management and Evaluation 赛项组别: 高职组 赛项编号: GZ032 1 2 一、赛项信息 赛项类别 囚每年赛 □隔年赛(□单数年…...
松鼠状态机流转-@Transit
疑问 状态from to合法性校验,都是在代码中手动进行的吗,不是状态机自动进行的? 注解中from状态,代表当前状态 和谁校验:上下文中初始状态 怎么根据注解找到执行方法的 分析代码,创建运单,怎…...

微信小程序调用 WebAssembly 烹饪指南
我们都是在夜里崩溃过的俗人,所幸终会天亮。明天就是新的开始,我们会变得与昨天不同。 一、Rust 导出 wasm 参考 wasm-bindgen 官方指南 https://wasm.rust-lang.net.cn/wasm-bindgen/introduction.html wasm-bindgen,这是一个 Rust 库和 CLI…...
# LeetCode Problem 2038: 如果相邻两个颜色均相同则删除当前颜色 (Winner of the Game)
LeetCode Problem 2038: 如果相邻两个颜色均相同则删除当前颜色 (Winner of the Game) 在本篇博客中,我们将深入探讨 LeetCode 第2038题——如果相邻两个颜色均相同则删除当前颜色。该问题涉及字符串处理与游戏策略,旨在考察如何在给定规则下判断游戏的…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...