如何在 Linux 中更改共享库(*.so 文件)中的文本

如何在 Linux 中更改共享库(*.so 文件)中的文本

当我使用 bash 搜索文件夹中的文本时,我可以看到文本位于二进制文件中。我想更改 *.so 文件中的文本。

答案1

  • 在执行此操作之前,您应该备份原始 .so 文件。
  • 以下命令可能会破坏您的文件。

    1. 使用 vi 编辑器打开您的库。
      • 这里,目标不是.so文件。
      • 与一般的符号链接一样.so,您必须找到原始目标文件。
    2. 进入:%!xxd
      • 此命令将文件显示格式从二进制更改为十六进制和 ASCII。
    3. 修改你想要的内容,即文本。
      • 您必须修改左侧的十六进制代码,而不是右侧的 ASCII 字符。
      • 您不得插入或删除字符,只能替换它们。你不能让一根绳子变得更长。您可以通过在末尾添加 nul 字符(按 Ctrl+V Ctrl+@)来缩短字符串。
    4. 修改后输入:%!xxd -r
      • 它将恢复显示格式为二进制。
    5. 通过输入 保存文件并退出:wq

相关内容