0. 检测原理(为什么插着国内卡就「无网络」)
- TikTok 国际版读
TelephonyManager的 SIM/网络信息:getSimCountryIso / getSimOperator(MCC/MNC) / getNetworkCountryIso / getNetworkOperator...。 任一卡槽是中国卡(MCC=460)→ 本地直接拒绝联网,表现为「无网络连接」,和代理通不通无关。 - 双卡:只要有一张卡被判为允许地区即可(多篇教程一致),所以双卡通常只改 SIM1。
- 本地还有一层 TTNet 流控:命中缓存规则
rule_id=3011076("drop flow")时请求在 DNS/TCP 之前就被丢,报ERR_TTNET_TRAFFIC_CONTROL_DROP / -555; 据mysticaldevil/fuck_ttnetREADME(仓库现已 404),香港出口 + MCC/MNC 不匹配会触发,且规则会被缓存——改完国家码仍不通时要清 TikTok 数据。 - 除 SIM 外还看:IP(香港出口不行;建议家宽/与国家码同地区)、DNS(别泄漏到国内)、系统语言。时区实测影响小。
- iOS 读运营商的接口已废弃 → iPhone 基本不用改卡,只有安卓需要折腾。
1. 方法总表
| # | 方法 | root | 稳定性 | 现状(2026-10) |
|---|---|---|---|---|
| A | Nrfr + Shizuku 改 SIM 国家码,官方 TikTok | 否 | 高(版本相关) | Android ≤15 稳;Android 16/17、25-12 安全补丁后大量「保存失败」→ 用 lmh-codes 修改版(重启后要重开) |
| B | Roamer + Shizuku(同原理,新工具) | 否 | 中 | 官方测过三星 Android 16/17;其他厂商「尽力支持」 |
| C | NetworCat(Xposed/LSPatch 模块,hook TelephonyManager) | LSPosed 要 / LSPatch 不要 | 中 | 不依赖 CarrierConfig,不受 Android 17 shell 限制影响(推断) |
| D | ReVanced/Morphe 补丁版 TikTok(SIM Spoof 补丁) | 否 | 中 | 需手动勾选 SIM spoof 补丁;版本间偶有闪退 |
| E | 第三方魔改版 APK(uyez/TikTok、TG 频道「免拔卡版」等) | 否 | 不定 | ☠️来源不可验证,只建议备用机 |
| F | PlusNE + LSPatch 自制 | 否 | — | 门槛高,无完整公开步骤 |
| G | 只在首次启动时拔卡,之后插回 | 否 | 低 | 后台被杀就要重拔;iOS 一次够 |
| H | 系统设置里停用国内卡槽 + Wi-Fi | 否 | 中 | X 上有亲测成功(两张卡都要关);关着期间不能接电话收短信 |
| I | Carrier IMS for Pixel / TurboIMS + Shizuku(「修复 TikTok 无网络」开关) | 否 | 中 | 只适合 Pixel 6~10、Android 13+;X 上说它是 Android 16 下 Nrfr 的替代,但 10-17 有人报失败 |
| J | Bwijn/tiktok-bypass-android-root 脚本、Bwijn/apps-matrix LSPosed 模块 | 是 | ? | 开机自动伪装 SIM + appops 禁读电话;X 上没找到使用反馈 |
2. 方法 A:Nrfr + Shizuku(主流推荐)
原理:通过 CarrierConfigManager.overrideConfig() 覆盖运营商配置里的国家码,不改 SIM 本身,可在 App 内还原。
- 开发者选项:开「USB 调试」「USB 安装」;小米还要开「USB 调试(安全设置)」。
- 装 Shizuku(Play 或 github.com/RikkaApps/Shizuku/releases)→ 无线调试配对启动。 - 小米/红米:先把通知样式改成「原生样式」,否则通知栏里输不了配对码。
- 电脑下载 Nrfr(github.com/Ackites/Nrfr/releases)→ 运行「快速启动工具」→ USB 连手机 → 自动装 Shizuku/Nrfr 并授权。
- 手机打开 Nrfr → 选 SIM1 → 国家码设 US 或 JP(别选 HK) → 保存。国家码与代理节点出口同地区。
- 代理选同地区节点(家宽更好),DNS 用境外,Play 装官方 TikTok。改完仍无网络 → 清 TikTok 数据(清掉缓存的 TTNet 规则)。
坑:
- 重启后:Nrfr README 说「永久保持」,但 deeprouter / 多个 issue 反馈重启要重开 Shizuku+Nrfr 重设一次 → 按「可能丢」准备。
- 系统更新后「保存失败 / overrideConfig cannot be invoked by shell」(issue #118 #120 #138 #139,澎湃 OS 3/4、ColorOS、One UI 8.5):
推测 Android 17 起不让 shell 身份调 overrideConfig。可试的 fork:
- baiyanwu/Nrfr(Android 16+,要装两个 APK;反馈:有人能刷视频但搜索页「猜你喜欢」不加载,有人完全刷不出)
- JHR-deve/Nrfr-Android17(无人验证)
- deeprouter 提供的 1.0.3-fix-update-20251005 修改版(作者自称不完美)
- 都不行 → 换方法 B/C,或暂不升级安全补丁。
- 可能影响 VoLTE/短信等运营商功能;银行类、依赖短信验证的手机慎用。
3. 方法 B:Roamer(github.com/eigenlux-ai/roamer)
- 同样走 Shizuku + CarrierConfig 覆盖,改国家 ISO 和运营商名;不改 MCC/MNC 与网络注册。
- Android 12+;官方测试三星 Android 16/17(专门针对三星 shell UID 限制做了权限委托),其他厂商不保证。
- 可选把地区同步为指定 App 的 per-app locale(Android 13+)。
- Nrfr issue 区有人推荐「Nrfr 失败就用它」;NodeSeek 有人说「据说会封号」(未证实)。
4. 方法 C:NetworCat(github.com/deadbytesus/NetworCat)
- Xposed 模块,hook
getNetworkOperator / getNetworkOperatorName / getNetworkCountryIso / getSimCountryIso / getSimOperator / getSimOperatorName,只对选中的 App 生效,不动系统。 - 免 root:用 LSPatch 把模块打进 TikTok;有 root:LSPosed 勾选作用域
com.zhiliaoapp.musically(或com.ss.android.ugc.trill)。 - 设置示例:US=
310260T-Mobile;DE=26202Telekom。 - 判断:因为是 App 内 hook,不受 Android 17 overrideConfig 限制——Nrfr 全线失败的新系统上这是首选替代。缺点:LSPatch 打包后 TikTok 不能直接从 Play 更新,要重新打包。
- 同类:Toki(MeiYongAI/Toki,LSPosed,带地区设置,libxposed API 102)。
5. 方法 D:补丁版 TikTok(ReVanced / Morphe)
- 社区 TikTok 补丁集里有「SIM Spoof」补丁,默认不启用,要手动勾选(CLI 时期用
--ei <序号>,序号随补丁版本变)。 - 曾有补丁版本(约 5.8.1)导致启动闪退,后续版本修复;现在 Morphe 系补丁目标 TikTok 46.2.3(是否含 SIM spoof 未确认)。
6. 方法 E/F/G/H 简述
- E 魔改 APK:省事但无法验证签名与后门;只装备用机;账号别用主号。
- F PlusNE+LSPatch:改检测数据包,无公开完整步骤,不推荐。
- G 首启拔卡:准备好环境后拔卡首启,进去后插回;安卓后台被杀要重来。
- H 停用卡槽:设置→SIM 卡管理→关闭国内卡,走 Wi-Fi;关闭期间该卡不能用。
6.5 X(Twitter)帖子汇总(2025-10 ~ 2026-10-17,约 60 条有效)
- Nrfr 仍是主流,要点补充(@teacher_cao 2026-06-28 长文,297 赞):只从 GitHub 原仓库下 Shizuku/Nrfr,别装二次打包的; 「USB 调试(安全设置)」最常被漏开;HyperOS 要长按 Shizuku 通知才能输配对码;Shizuku 授权选「始终允许」; 双卡都是大陆卡就两张都改;改完把 TikTok 从后台彻底划掉再开。作者说重启后不丢,系统更新后要重新保存一次。 https://x.com/teacher_cao/status/2071120439846588770
- @Lucky_Lambsy(07-06):小米 13 Pro / HyperOS 3 / Android 16 实测能用;说其他厂商大多已不让写入、Nrfr 停更一年多; Android 16 改用 Carrier IMS(作者说 Google 补丁修掉了 Nrfr 用的口子)。https://x.com/Lucky_Lambsy/status/2074146493536321724
- 坑:Shizuku 里勾了 Nrfr 却显示「已授权 0 个」→ 杀掉 Shizuku 重进(@moonlight_ruri 06-06)。
- 说失效的:06-22、09-11、10-16(「系统更新后不能用」);荣耀最近不行;eSIM 上 Nrfr 识别不到。 10-04 一例「改完还加载不出」原因是挂了香港节点。
- Carrier IMS(github ryfineZ/carrier-ims-for-pixel):Shizuku 授权 → 选大陆卡 → 只开「修复 TikTok 无网络」,双卡分别开 → 重开 TikTok。 非 Pixel 别乱动其他开关(这个工具本来是改 VoLTE/IMS 的)。10-17 @jacm82750574104 报 Pixel IMS / Turbo IMS 都不行。
- 停用 SIM:@ruixzane(06-29)亲测把两张卡的启用开关都关掉就能刷;@ichardrv(07-09)同。
- 修改版:Yau08/Tiktok(09-22 有人说可用);俄版/白俄版插着卡也能刷(多人)。负面:只能看、账号不能认证、版本落后、可能带毒、易封号。
- 飞行模式:无可靠成功反馈;05-25 有贴(124 条回复)说开飞行模式插着中国卡照样不行。
- 工作资料 / 双开 / Island / Shelter:一条相关帖都没有。
- 孤例:先用没插卡的手机注册,再在插卡的手机上登录(10-11)。
- 共同前提:节点避开香港和印度。
7. 选型建议
- Android ≤15、未升 25-12 补丁 → A(Nrfr),官方 App 可正常更新。
- Android 16/17 保存失败 → 先试 lmh-codes 修改版(每次重启后重开 Shizuku + 重新保存);三星也可用 B(Roamer)。
- 修改版也不行 → C(NetworCat + LSPatch),其次 B;Pixel 先试 I(Carrier IMS)。 3.5 不在乎刷的时候收不到电话短信 → H(系统里停用两张卡),零工具、X 上有亲测。
- 不想折腾、备用机 → D 或 E。
- 无论哪种:节点别用香港;国家码=出口地区;不行先清 TikTok 数据再判断。
8. 风险
- 改国家码与 IP 不一致可能被判代理 → 账号风控;别频繁切国家码,一号一地区。
- TikTok 地区绕过违反其服务条款。
- 第三方 APK / Xposed 模块:只从 GitHub 原仓库下载。