strip

strip命令可以移除对象文件特定的节,也就是给特定目标文件瘦身

默认会移除 .symtab .strtab 符号相关的节以及.debug开头的调试相关的节

-s           移除所有符号节
--strip-all


-g           只移除调试信息的节,一般为 .debug_ 开头的节
-S
-d
--strip-debug


-R sectionname       额外移除指定的节,可以跟通配符*(随便移除一些必需的节会导致目标文件失效,比如.text节)

-K symbolname        保留特定符号
--keep-symbol=symbolname

-N symbolname        移除特定符号
--strip-symbol=symbolname

--strip-unneeded     移除无用的符号,即重定位用不到的符号

-o name   处理后存储的文件,默认会覆盖

.shstrtab 节由于存储了节名,是必须的,所以不能使用 strip 移除

#只移除符号 aaa
strip -N aaa main -o new_main


上一篇: linux汇编nasm、反汇编ndisasm
下一篇: 无
作者邮箱: 203328517@qq.com