只是一篇速查手册,实在偷懒,就"nm -D"吧。
查看动态符号:
objdump -CT <ELF>
nm -CD <ELF>
readelf -W --dyn-syms --demangle <ELF>
查看导出函数:
objdump -CT <ELF> | grep "g DF"
nm -CD <ELF> | grep " T "
readelf -W --dyn-syms --demangle <ELF> | grep -E "FUNC GLOBAL DEFAULT [^UND]{3,3}"
objdump -CT $(which ls) | grep "g DF"
nm -CD $(which ls) | grep " T "
readelf -W --dyn-syms --demangle $(which ls) | grep -E "FUNC GLOBAL DEFAULT [^UND]{3,3}"
readelf输出的"FUNC GLOBAL"同时包含导入/导出函数,必须加强过滤规则。
查看导入符号:
objdump -d <ELF> | grep "@plt>:"
objdump -CT <ELF> | grep " DF"
nm -CD <ELF> | grep " U "
readelf -W --dyn-syms --demangle <ELF> | grep "FUNC GLOBAL DEFAULT UND"
objdump -d $(which ls) | grep "@plt>:"
objdump -CT $(which ls) | grep " DF"
nm -CD $(which ls) | grep " U "
readelf -W --dyn-syms --demangle $(which ls) | grep "FUNC GLOBAL DEFAULT UND"
严格说来,上例nm查看导入符号,包含非函数的导入符号,其余命令查看导入函数。
原文始发于微信公众号(青衣十三楼飞花堂):查看ELF的导入/导出符号
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论