如果它小于或等于长度,我可以替换 ELF 二进制文件中的字符串
根据您是在谈论完全链接的二进制文件(ET_EXEC
或ET_DYN
)还是目标文件(ET_REL
),您上面的陈述可能正确,也可能不正确。
您不能安全地编辑.dynstr
完全链接二进制文件部分中的字符串,因为这样做会破坏动态符号哈希表。
但是用更长的字符串替换时会发生段错误。
你期待什么?ELF 二进制文件包含结构化数据。如果您破坏了该数据的结构,您应该会遇到各种问题。你很幸运,你有一个段错误。它可能会更糟(例如,它可能默默地破坏了您在磁盘上写入的数据)。