Skip to content

中文进程名/包名乱码 ​

🔤 包名含中文或特殊字符导致解析异常。

现象 ​

bash
r0capture -U -f "中文包名.app"
# 报错:进程找不到 / encoding 错误

原因 ​

Android 包名规范是反域名(com.example.app),不应含中文。若你看到"中文包名",可能是:

  • 误把 App 显示名当包名(显示名可中文,包名是 ASCII)
  • 终端编码问题导致 frida-ps 输出乱码

解决 ​

1. 用真包名而非显示名 ​

bash
# 列真包名
adb shell pm list packages | grep example
# package:com.example.app

# 用真包名
r0capture -U -f com.example.app

2. 终端编码 ​

bash
export LANG=zh_CN.UTF-8
export PYTHONIOENCODING=utf-8
frida-ps -U

详见 chinese-process-name。

frida-ps 找包名 ​

bash
frida-ps -U        # 列运行中的进程(含显示名)
frida-ps -Ua       # 只列 App(含包名)
frida-ps -Uai      # 含已安装未运行的

-a 模式的 Identifier 列才是包名。

相关文档 ​

基于 VitePress 构建 · 教学用途