﻿########## 1) NativeAnalyzer.analyzeSo  (deep=false) ##########
库: libr_core.so  用时 881ms  报告 5095 字符
■■ libr_core.so
  路径 : E:\KuGou\2026-09-15-18-17-47\android_mcp\app\src\main\libs\arm64-v8a\libr_core.so
  大小 : 3783624 bytes (3.6 MB)

■ ELF 结构（纯 Java 解析，不依赖 radare2）
  类型     : ET_DYN（共享库 / PIE）
  类别     : ELF64 小端（LE）
  架构     : AArch64 (arm64)
  入口     : 0x8f760
  SONAME   : libr_core.so
  段数     : 19

  ◆ 段表
      .gnu.hash         0x190       3.5 KB    GNU_HASH    -W-
      .dynsym           0xf98       61.3 KB   DYNSYM      -W-
      .dynstr           0x104c0     45.2 KB   STRTAB      -W-
      .gnu.version      0x1b9b6     5.1 KB    GNU_VERSYM  -W-
      .gnu.version_r    0x1ce28     64 B      GNU_VERNEED -W-
      .rela.dyn         0x1ce68     362.6 KB  RELA        -W-
      .rela.plt         0x778b8     57.4 KB   RELA        -W-
      .plt              0x85e40     38.3 KB   PROGBITS    -WX
      .text             0x8f760     2.5 MB    PROGBITS    -WX
      .rodata           0x305450    453.1 KB  PROGBITS    -W-
      .note.android.ident0x3768cc    152 B     NOTE        -W-
      .fini_array       0x37aec0    16 B      FINI_ARRAY  RW-
      .data.rel.ro      0x37aed0    108.0 KB  PROGBITS    RW-
      .dynamic          0x395eb0    800 B     DYNAMIC     RW-
      .got              0x3961d0    19.5 KB   PROGBITS    RW-
      .data             0x39b000    17.6 KB   PROGBITS    RW-
      .bss              0x39f658    416 B     NOBITS      RW-
      .shstrtab         0x0         169 B     STRTAB      ---

  ◆ 依赖库（DT_NEEDED，24 个）
      libm.so, libdl.so, libr_config.so, libr_cons.so, libr_io.so, libr_util.so, libr_flag.so, libr_asm.so, libr_arch.so, libr_esil.so, libr_debug.so, libr_bin.so, libr_lang.so, libr_anal.so, libr_bp.so, libr_egg.so, libr_reg.so, libr_search.so, libr_syscall.so, libr_socket.so, libr_fs.so, libr_magic.so, libr_muta.so, libc.so

  ◆ 导出符号（502 个）
      与 Dart / JNI / 网络 / 反调试 相关的导出：
      0x2ae3f0  r_core_visual_debugtraces         (940)
      0xb8c44  r_core_file_reopen_debug          (1104)
      0xa5be0  r_core_debug_ri                   (1084)
      0xa6080  r_core_debug_rr                   (1304)
      0x20326c  r_core_setup_debugger             (920)
      0x2b97e4  r_panels_root_free                (188)
      0x2baf88  r_core_panels_root                (944)
      0xb83d8  r_core_file_reopen_remote_debug   (660)

  ◆ 导入符号（UND，2110 个）
      r_buf_write_at, r_io_cache_pop, r_anal_hint_unset_val, set_p_new, r_bin_get_imports_vec, r_anal_del_jmprefs, pj_kN, r_asm_mnemonics, r_libstore_remove, r_bin_file_set_cur_by_id, r_sys_arch_id, r_str_escape_utf16le, strerror, r_str_split, r_io_map_set_name, memcpy, r_strbuf_drain, r_strpool_get_nth, r_sign_diff_by_name, r_xdg_cachedir, r_reg_getv, r_syscall_get_io, r_syscall_list, r_sign_search_init … 等 2110 个

  ◆ 字符串情报（单次扫描，6 字符以上；每项最多列 20 条）
      字符串总数 : 16158

      [.dart     ] 0 条
      [package:  ] 0 条
      [http      ] 102 条
         0x14f8b   r_core_rtr_http
         0x14f9b   r_core_rtr_http_stop
         0x17b39   r_socket_http_download
         0x17b50   r_socket_http_get
         0x17b62   r_socket_http_post
         0x19fb0   r_socket_http_accept
         0x19fc5   r_socket_http_close
         0x19fd9   r_socket_http_free
         0x19fec   r_socket_http_handle_upload
         0x1a008   r_socket_http_response
         0x30616d  HTTP/1.0 %d %s
         0x314bb6  http.sandbox
         0x314bc3  http.index
         0x322f77  http.maxport
         0x323123  http://localhost:9090/cmd
         0x32328e   # http server
         0x32329d  http server:
         0x3232aa  listen for http connections (r2 -qc=H /bin/ls)
         0x323327  start http server on 'port' in background
         0x323351  start http server on 'port' (launch browser)
      [dart:     ] 0 条
      [flutter   ] 0 条
      [frida     ] 1 条
         0x32b7eb  frida://

  ◆ Dart 包路径（package: / dart:）
      package: 命中 0 条，dart: 命中 0 条，.dart 命中 0 条
         (无 Dart 源路径 —— 非 Flutter 库，或该库已被 strip 到只剩机器码)

  ◆ Dart 快照符号
      (非 Dart 库，无快照符号属正常；若目标是 Flutter 应用，看同批里的 libapp.so)

■ radare2 增
…(截断展示)

  [PASS] 报告含标题(库名)
  [PASS] 含文件信息段(iI)
  [PASS] 识别出 ELF64
  [PASS] 含 ELF 结构段（纯 Java 解析）
  [PASS] 识别出 aarch64（ELF 层）
  [PASS] 识别出 aarch64（r2 层）
  [PASS] 含段表
  [PASS] 含依赖库(DT_NEEDED)
  [PASS] 含依赖库(il)
  [PASS] 含动态符号(isq)
  [PASS] 含导出符号段
  [PASS] 含导入符号段
  [PASS] 含字符串总数
  [PASS] 字符串总数是数字
  [PASS] 含 Dart 包路径段
  [PASS] 含 Dart 快照符号段
  [PASS] 含下一步建议(r2_xrefs)
  [PASS] r2 段标注为可选增强
  [PASS] 无 r2 噪声(WARN/INFO 已滤)
  [PASS] 无 marker 残留
########## 2) 深度函数分析 (deep=true, 小库) ##########
库: libr_bp.so  用时 915ms
◆ 深度函数分析（aa）
    函数总数 : 86（用时 0s）
    0x00001b40    1     16 sym.imp.pj_end
    0x00001b50    1     32 sym.imp.r_str_rwx_i
    0x00001b70    1     16 sym.imp.r_assert_log
    0x00001b80    1     16 sym.imp.r_name_filter_dup
    0x00001b90    1     32 sym.imp.realloc
    0x00001bb0    1     16 sym.imp.r_log_message
    0x00001bc0    1     16 sym.imp.r_list_purge
    0x00001bd0    1     16 sym.imp.r_libstore_find_name
    0x00001be0    1     16 sym.imp.pj_new
    0x00001bf0    1     16 sym.imp.r_list_delete
    0x00001c00    1     16 sym.imp.r_libstore_new
    0x00001c10    1     16 sym.imp.__cxa_finalize
    0x00001c20    1     16 sym.imp.calloc
    0x00001c30    1     16 sym.imp.r_log_match

  [PASS] 深度段存在
  [PASS] 深度段给出函数总数
  [PASS] 深度段非'未启用'
########## 3) AnalysisRun.run (真 APK) ##########
总用时 8901ms  libsAnalyzed=5
--- summary ---
✅ 分析完成（耗时 8.9s）
目标文件 : E:\KuGou\2026-09-15-18-17-47\android_mcp\dist\RevMCP-debug.apk（105.4 MB）
包级画像 : 第 1-103 行｜字节 0-3977
原生分析 : 第 104-622 行｜字节 3977-33172（5 个 .so）
日志文件 : E:\KuGou\2026-09-15-18-17-47\android_mcp\evidence\logsD\analysis.log
读包级画像: read_log {"offset":0,"max_bytes":20000}
读原生分析: read_log {"offset":3977,"max_bytes":40000}
(未启用 Flutter 符号还原)

  [PASS] 产生包级画像块
  [PASS] 产生原生分析块
  [PASS] 分析了 >= 2 个 .so
  [PASS] summary 含两个 read_log 指令
  [PASS] 日志回读含'原生库分析'
  [PASS] 日志回读含 iI 段
  [PASS] 日志回读含 lib 名
  [PASS] 日志行数合理
工作目录 E:\KuGou\2026-09-15-18-17-47\android_mcp\evidence\logsD\work\RevMCP-debug.apk 保留文件: 0
  [PASS] 工作目录存在
########## 4) pick() 选库策略 ##########
picked(5): libapp.so libflutter.so libapp.so libbig.so libmid.so 
  [PASS] 主库被优先选中
  [PASS] 数量不超过上限 5
  [PASS] arm64 优先于 v7a
########## 5) Dart AOT 路由（合成 libapp.so） ##########
库: libapp.so  报告 3960 字符
■ 下一步定位建议
  ★ 这是 Dart AOT 快照库 —— 先做符号还原，再谈代码定位
  blutter_run {"so_path":"E:\KuGou\2026-09-15-18-17-47\android_mcp\evidence\synth_dart\libapp.so"}
      用内置预编译 blutter 还原函数名 / 类结构 / 伪代码，产物写进 analysis.log 可分页读；
      版本按 Dart 版本自动挑选（可先跑 blutter_doctor 看内置清单）。
  flutter_probe {"apk_path":"<APK>"}   取 Dart 版本 / engine id（若要手动对版本）

  以下 r2 手段在 libapp.so 上只用于**字符串级**定位，不要期望反汇编出函数：
  r2_strings {"path":"E:\KuGou\2026-09-15-18-17-47\android_mcp\evidence\synth_dart\libapp.so","filter":"关键字"}   找字符串
  r2_xrefs   {"path":"E:\KuGou\2026-09-15-18-17-47\android_mcp\evidence\synth_dart\libapp.so","addr":"0x偏移"}   从字符串偏移追到代码
  r
  [PASS] 合成文件被识别为 Dart AOT
  [PASS] Dart AOT 建议区首选 blutter_run
  [PASS] Dart AOT 建议区不再误导到 r2 反汇编
  [PASS] 快照符号段列出 _kDartIsolateSnapshotData
  [PASS] Dart 包路径段有命中
  [FAIL] frida 计数排除 'Friday' 假阳性（应为 3）  -> frida count != 3
  [PASS] 普通库(libr_core)不带 Dart AOT 路由

=========================================
PASS: 41   FAIL: 1
=========================================
