当我使用 bash 搜索文件夹中的文本时,我可以看到文本位于二进制文件中。我想更改 *.so 文件中的文本。
答案1
- 在执行此操作之前,您应该备份原始 .so 文件。
以下命令可能会破坏您的文件。
- 使用 vi 编辑器打开您的库。
- 这里,目标不是
.so
文件。 - 与一般的符号链接一样
.so
,您必须找到原始目标文件。
- 这里,目标不是
- 进入
:%!xxd
- 此命令将文件显示格式从二进制更改为十六进制和 ASCII。
- 修改你想要的内容,即文本。
- 您必须修改左侧的十六进制代码,而不是右侧的 ASCII 字符。
- 您不得插入或删除字符,只能替换它们。你不能让一根绳子变得更长。您可以通过在末尾添加 nul 字符(按 Ctrl+V Ctrl+@)来缩短字符串。
- 修改后输入
:%!xxd -r
- 它将恢复显示格式为二进制。
- 通过输入 保存文件并退出
:wq
。
- 使用 vi 编辑器打开您的库。