原生库符号表与文件详情
符号表是什么
原生库(.so 文件)内部包含一个"符号表",记录了该库中定义或引用的所有函数、变量的名字和地址。调试工具(如 GDB、lldb)依赖符号表才能把内存地址翻译成人类可读的函数名。
Strip 的意义
发布构建通常会 strip(剥离)符号表来减小 .so 文件体积和隐藏实现细节。但这也使得逆向调试变困难了。
LibChecker v2.5+ 在原生库详情页会显示一个"是否被剥离符号表"的标记。这对于逆向分析者和安全研究者来说很有价值:
- 已剥离:正式发布版的典型特征
- 未剥离:Debug 版、泄漏版本、或某些 SDK 打包遗漏
原生库详情
点击列表中的任意 .so 文件可以看到详细信息:
- 库的完整路径(APK 内部位置)
- 所属 ABI 目录
- 文件大小
- 是否 16KB 对齐
- 是否剥离符号表
- 是否被知名库规则匹配
原生库提取
LibChecker 支持将单个原生库文件提取到下载目录,方便用其他工具进一步分析。提取后的文件保持原始字节级完整性。