反汇编 .so(Linux/Android 下的共享动态库,ELF 格式)文件,本质上是把机器码还原成汇编指令。下面按常见工具 + 实战步骤来说明。
系统自带,适合快速看汇编。
objdump -d libxxx.so
常用参数:
objdump -d -M intel libxxx.so # Intel 语法
objdump -d -S libxxx.so # 汇编+源码(需带符号)
objdump -T libxxx.so # 查看动态符号表
不直接反汇编,但很重要:
readelf -h libxxx.so # ELF 头
readelf -S libxxx.so # 段表
readelf -s libxxx.so # 符号表
步骤:
libxxx.soNSA 开源:
ghidraRun
导入 .so → 自动分析
轻量级,支持 ARM/Intel
如果是 Android .so:
adb pull 出来frida 动态分析file libxxx.so
Alt+G → 设置 T 标志
# 查看所有函数反汇编
objdump -d libtest.so | less
# 只看某个函数
objdump -d libtest.so | grep -A 20 "func_name"
如果你愿意,可以告诉我:
我可以给你更针对性的步骤。