Skip to content

Latest commit

 

History

History
128 lines (115 loc) · 12.6 KB

validation.md

File metadata and controls

128 lines (115 loc) · 12.6 KB

ddc 语料验证

39 个真实 Android 应用,6.4 GB,5,409,658 个类,4,081,503 个反编译文件——全部通过 javac 解析。

每 APK 严格串行单次运行(空载机器,Apple Silicon 6P+12E),墙钟与峰值 RSS 来自 /usr/bin/time -l。语法门是 javac 的解析阶段 (-XDshould-stop.ifNoError/ifError=PARSE)——解析全部输出文件、跳过语义分析, 因此计数不含 classpath 缺失噪音。

验证过程中发现并修复的 bug

语料的价值在第一轮就体现出来了——39 个 APK 中 27 个的输出无法通过 javac 解析, 暴露出七个真实缺陷(均已修复并带回归验证):

# 症状(首轮错误数) 根因 修复
1 改名类 2,518–46,774 错/包(MinisApp、WhatsApp、AutoClaw 等 22 个 APK) 大小写变体类(Y2.a vs y2.a)重命名为 _2/_3 后,构造器/文件名应用了新名,类头声明没有——class a 里的 a_2(...) 构造器被 javac 读成无返回类型的方法 emit_class_body 头部与改名同步
2 支付宝 >50 万错(撞 -Xmaxerrs 上限) 字段/参数名是单个非 ASCII 字符(支)——标识符清洗的字符映射把每个非法字符替换成 _,单字符名恰好产出裸 _(Java 9 起保留) 两侧 java_ident:映射结果为 _ 时再转义为 __
3 淘宝 1 错 / 钉钉 20 错 类名叫 var/record 等受限上下文名(Java 10+ 禁止用于类型声明) var/yield/record/sealed/permits 加入关键字转义列表(声明/引用/文件名三处一致)
4 豆包(nova) 46 错 字段名 1x/2x 数字开头——声明侧有 digit-start 转义,jdc-core 引用侧没有 jdc-core java_ident 补 digit-start 分支
5 知乎(bangcle) 423 错 / 钉钉残留 类型引用的分段清洗器(sanitize_fq/sanitize_source_name)缺单下划线守卫 同 bug 2 的守卫补到分段清洗器
6 钉钉残留 5 错 R8 类名以 $ 结尾(ThreadMsg$$$)——rsplit('$') 得到空段,qualified-new 渲染成 v9.new (args) 三处空 $-段回退到完整简名
7 UU远程 整跑失败 assets/ 里放着假 .dex(加密载荷,magic 非法)——一个坏镜像让全量反编译直接退出 parse_images 跳过不可解析镜像(stderr 提示),全部失败才报错

全量反编译

应用 包名 版本 大小 MD5 dex 类 墙钟 峰值 RSS 文件 语法错误
滴滴 com.sdu.didi.psnger 8.0.14 70 MB 938b1d94 8 85,460 3.90s 746 MB 63,039 0
高德地图 com.autonavi.minimap 17.00.0.2005 186 MB e63b59b0 8 73,064 2.58s 809 MB 52,954 0
学信网 cn.com.chsi.chsiapp 2.5.13 130 MB 5222c338 1 4 0.04s 29 MB 4 0
中国移动 com.greenpoint.android.mc10086.activity 12.5.4 219 MB d32b44be 1 7 0.07s 3 MB 6 0
招商银行 cmb.pb 14.4.0 159 MB 6baf69c9 14 41,051 2.94s 452 MB 30,746 0
智谱清言 com.zhipuai.qingyan 3.7.9 98 MB f11f004a 3 29,329 0.95s 303 MB 18,540 0
Minis com.openminis.app 1.13 39 MB c0d167a7 1 7,772 5.09s 541 MB 7,748 0
网易云音乐 com.netease.cloudmusic 9.5.95 224 MB b38a4723 21 177,777 5.56s 1148 MB 101,390 0
Telegram org.telegram.messenger.web 12.10.2 62 MB f4abf9c8 4 20,134 7.85s 1172 MB 19,282 0
京东 com.jingdong.app.mall 16.0.0 85 MB 1a78ab63 14 84,489 3.03s 1088 MB 61,628 0
WhatsApp com.whatsapp 2.26.36.75 139 MB 569cf81e 12 100,350 8.12s 1197 MB 99,276 0
支付宝 com.eg.android.AlipayGphone 12.12.26.8100 177 MB 7fb233eb 21 179,460 9.31s 1364 MB 139,736 0
AutoClaw com.zai.autoclaw 1.5.0 64 MB b80a00ed 2 20,852 1.59s 415 MB 20,079 0
AutoGLM com.zhipu.agent 2.0.20 122 MB 55086238 4 43,516 1.77s 545 MB 33,296 0
懂车帝 com.ss.android.auto 9.0.8 174 MB e3148f92 27 213,523 7.98s 1385 MB 163,517 0
抖音 com.ss.android.ugc.aweme 40.5.0 339 MB bb10859f 54 527,000 34.08s 3096 MB 518,484 0
百度 com.baidu.searchbox 15.76.0.10 160 MB d43d5c5d 21 185,901 5.28s 1088 MB 99,574 0
DeepSeek com.deepseek.chat 2.5.2 14 MB 538e8991 3 13,311 0.82s 371 MB 12,481 0
知乎 com.zhihu.android 11.10.0 163 MB d2e27da3 18 167,486 4.93s 1003 MB 107,119 0
Meituan com.sankuai.meituan 12.66.202 98 MB c368a84e 12 118,168 3.91s 831 MB 76,048 0
哔哩哔哩 tv.danmaku.bili 9.12.0 207 MB 22eeb540 32 302,829 10.58s 1741 MB 221,232 0
Kimi com.moonshot.kimichat 3.1.0 34 MB 2196a886 3 29,752 1.63s 511 MB 27,941 0
Lark com.larksuite.suite 8.0.2 398 MB ad291240 49 292,118 5.83s 1519 MB 118,502 0
MiniMax com.xproducer.yingshiai 4.11.1 33 MB b453a746 10 30,505 1.01s 420 MB 18,196 0
拼多多 com.xunmeng.pinduoduo 8.17.0 95 MB 9bb8ba84 6 57,336 1.92s 535 MB 39,069 0
Toutiao com.ss.android.article.news 18.5.0 176 MB 2855fb2f 33 306,489 15.67s 1729 MB 286,767 0
豆包 com.larus.nova 15.1.0 395 MB 62d70e63 40 474,226 16.50s 2550 MB 346,129 0
QQ com.tencent.mobileqq 9.3.65 374 MB 8e1f7337 41 428,076 16.34s 2240 MB 329,101 0
Reqable com.reqable.android 3.2.23 34 MB 948d4b61 1 8,201 0.31s 142 MB 5,579 0
DingDing com.alibaba.android.rimet 8.5.5 317 MB 0833d290 33 193,909 6.54s 1506 MB 121,830 0
学习通 com.chaoxing.mobile 7.0.4 248 MB 64fd5211 2 558 0.31s 251 MB 380 0
淘宝 com.taobao.taobao 10.66.10 90 MB 12525ac9 13 102,146 4.00s 1146 MB 72,150 0
同花顺 com.hexin.plat.android 11.62.03 198 MB 20feb874 11 72,014 2.52s 529 MB 50,836 0
剪映 com.lemon.lv 21.5.0 438 MB 39c03cf8 46 329,997 12.74s 2856 MB 272,324 0
Weibo com.sina.weibo 16.9.1 226 MB 20117d66 20 145,492 6.52s 1192 MB 98,347 0
WeChat com.tencent.mm 8.0.78 268 MB 846b4111 17 249,909 16.08s 1346 MB 239,599 0
小红书 com.xingin.xhs 8.84.5.5 112 MB 418e60cc 14 170,579 4.98s 714 MB 116,844 0
星野 com.xingye.app 2.56.702 146 MB 757cfe55 38 108,449 4.30s 1127 MB 74,591 0
UU远程 com.netease.uuremote 4.40.0 25 MB de426ecb 2 18,419 1.18s 375 MB 17,139 0

子命令测试

13 个子命令对每 APK 各计时一次(本机全部亚秒)。查询目标按 APK 自动选取: 包名给 listclasses/strings/findrefs string,onCreate 给 findrefs method,启动类给 members/hierarchy/disasm/getclass。 † 标注加固 APK 的启动类(不在可解析 dex 中)。

应用 info listclasses manifest mainactivity res largest strings findrefs-string findrefs-method members hierarchy disasm getclass
滴滴 0.04s 0.03s 0.00s 0.03s 0.00s 0.11s 0.04s 0.03s 0.03s 0.03s 0.03s 0.03s 0.14s
高德地图 0.05s 0.03s 0.00s 0.03s 0.00s 0.11s 0.03s 0.03s 0.03s 0.04s 0.03s 0.03s 0.15s
学信网 0.01s 0.00s 0.00s 0.01s 0.00s 0.01s 0.01s 0.01s 0.01s 0.01s 0.01s 0.02s 0.01s†
中国移动 0.00s 0.00s 0.00s 0.00s 0.01s 0.00s 0.00s 0.00s 0.00s 0.00s 0.00s 0.00s 0.00s†
招商银行 0.03s 0.01s 0.00s 0.04s 0.00s 0.09s 0.05s 0.01s 0.03s 0.04s 0.04s 0.04s 0.03s†
智谱清言 0.02s 0.02s 0.01s 0.02s 0.00s 0.06s 0.02s 0.02s 0.03s 0.02s 0.02s 0.02s 0.06s
Minis 0.02s 0.01s 0.00s 0.01s 0.00s 0.02s 0.02s 0.02s 0.02s 0.02s 0.02s 0.02s 0.02s
网易云音乐 0.06s 0.06s 0.00s 0.07s 0.01s 0.29s 0.10s 0.05s 0.05s 0.08s 0.08s 0.08s 0.33s
Telegram 0.03s 0.03s 0.00s 0.03s 0.00s 0.05s 0.03s 0.03s 0.04s 0.03s 0.03s 0.04s 0.42s
京东 0.05s 0.03s 0.00s 0.04s 0.00s 0.16s 0.06s 0.03s 0.04s 0.06s 0.05s 0.06s 0.17s
WhatsApp 0.04s 0.01s 0.00s 0.05s 0.01s 0.13s 0.07s 0.04s 0.04s 0.05s 0.05s 0.05s 0.13s
支付宝 0.08s 0.06s 0.00s 0.09s 0.00s 0.33s 0.12s 0.08s 0.08s 0.11s 0.10s 0.09s 0.38s
AutoClaw 0.03s 0.02s 0.00s 0.02s 0.00s 0.04s 0.02s 0.02s 0.03s 0.02s 0.02s 0.02s 0.04s
AutoGLM 0.01s 0.01s 0.00s 0.00s 0.00s 0.05s 0.01s 0.01s 0.01s 0.01s 0.01s 0.00s 0.07s
懂车帝 0.08s 0.05s 0.00s 0.08s 0.02s 0.38s 0.11s 0.05s 0.07s 0.11s 0.12s 0.09s 0.42s
抖音 0.14s 0.09s 0.00s 0.15s 0.02s 0.68s 0.19s 0.13s 0.16s 0.19s 0.19s 0.17s 0.75s
百度 0.05s 0.04s 0.01s 0.07s 0.06s 0.28s 0.09s 0.05s 0.06s 0.08s 0.08s 0.07s 0.31s
DeepSeek 0.03s 0.02s 0.00s 0.03s 0.00s 0.04s 0.03s 0.04s 0.04s 0.03s 0.03s 0.03s 0.04s
知乎 0.07s 0.06s 0.00s 0.07s 0.01s 0.26s 0.09s 0.04s 0.05s 0.08s 0.08s 0.07s 0.29s
Meituan 0.05s 0.02s 0.00s 0.05s 0.01s 0.19s 0.07s 0.04s 0.05s 0.06s 0.08s 0.06s 0.22s
哔哩哔哩 0.09s 0.07s 0.00s 0.09s 0.01s 0.46s 0.15s 0.06s 0.07s 0.12s 0.12s 0.11s 0.55s
Kimi 0.03s 0.02s 0.00s 0.02s 0.00s 0.05s 0.03s 0.04s 0.04s 0.03s 0.02s 0.04s 0.05s
Lark 0.09s 0.05s 0.00s 0.11s 0.01s 0.42s 0.18s 0.04s 0.07s 0.13s 0.14s 0.12s 0.52s
MiniMax 0.02s 0.02s 0.00s 0.03s 0.00s 0.07s 0.04s 0.01s 0.02s 0.04s 0.03s 0.03s 0.06s
拼多多 0.03s 0.01s 0.01s 0.02s 0.00s 0.08s 0.02s 0.03s 0.03s 0.03s 0.02s 0.02s 0.09s
Toutiao 0.10s 0.05s 0.00s 0.12s 0.02s 0.52s 0.14s 0.06s 0.09s 0.14s 0.15s 0.13s 0.49s
豆包 0.14s 0.11s 0.00s 0.13s 0.02s 0.59s 0.23s 0.07s 0.11s 0.16s 0.17s 0.15s 0.95s
QQ 0.13s 0.07s 0.00s 0.16s 0.02s 0.60s 0.24s 0.10s 0.12s 0.19s 0.18s 0.18s 0.88s
Reqable 0.01s 0.01s 0.00s 0.01s 0.00s 0.02s 0.01s 0.02s 0.02s 0.01s 0.01s 0.01s 0.02s
DingDing 0.10s 0.06s 0.00s 0.13s 0.01s 0.36s 0.16s 0.06s 0.07s 0.15s 0.13s 0.12s 0.40s
学习通 0.16s 0.00s 0.00s 0.16s 0.01s 0.17s 0.16s 0.16s 0.16s 0.16s 0.16s 0.17s 0.16s†
淘宝 0.05s 0.04s 0.00s 0.05s 0.00s 0.19s 0.06s 0.04s 0.06s 0.06s 0.06s 0.06s 0.19s
同花顺 0.04s 0.02s 0.00s 0.04s 0.01s 0.14s 0.05s 0.03s 0.03s 0.06s 0.05s 0.04s 0.04s†
剪映 0.14s 0.08s 0.00s 0.13s 0.02s 0.54s 0.28s 0.07s 0.10s 0.16s 0.16s 0.15s 0.73s
Weibo 0.06s 0.05s 0.00s 0.07s 0.02s 0.28s 0.11s 0.06s 0.06s 0.09s 0.08s 0.08s 0.30s
WeChat 0.06s 0.06s 0.00s 0.08s 0.01s 0.28s 0.12s 0.09s 0.07s 0.11s 0.09s 0.10s 0.37s
小红书 0.04s 0.04s 0.00s 0.05s 0.02s 0.18s 0.05s 0.03s 0.04s 0.05s 0.05s 0.05s 0.23s
星野 0.06s 0.03s 0.02s 0.07s 0.00s 0.22s 0.12s 0.03s 0.04s 0.12s 0.09s 0.08s 0.19s
UU远程 0.02s 0.02s 0.00s 0.02s 0.00s 0.04s 0.02s 0.02s 0.03s 0.02s 0.02s 0.02s 0.04s

备注

  • 加固 APK:学信网/中国移动只有 4-7 个类、UU远程/学习通仅数百类——壳 dex 只包含 加载器,真实代码在加密载荷里(这本身就是有效情报);知乎与招商银行的启动类不在 可解析 dex 中(getclass 返回明确的 not found 提示,其余子命令正常)。
  • 病态类超时:全量反编译中每 APK 0-2 个 R8 巨型方法类(gson adapter、 SendMessagesHelper 族)走截止期降级——输出该类缺失,其余完整;这是已记录的 设计行为(受控线程 + 1.5s/方法截止期),不是崩溃。
  • 假 dex 跳过:UU远程的 assets/39285EFA.dex 是加密载荷,非 DEX magic—— 跳过并提示,17,139 个真实类正常输出。