Por que converter SO para TXT?
Um .so começa com um cabeçalho mágico ELF de 4 bytes e consiste em segmentos binários - instruções de máquina, tabelas de símbolos, dados de realocação e seções de metadados. Nada disso é texto e não há conteúdo de documento para extrair. Não há relação estrutural entre uma biblioteca ELF compilada e um arquivo de texto simples .txt.
Como converter SO para TXT
GNU Binutils OPEN-SOURCE
Execute nm -D lib.so > output.txt para símbolos exportados, readelf -a lib.so > output.txt para estrutura ELF, objdump -d lib.so > output.txt para desmontagem ou strings lib.so > output.txt para strings legíveis incorporadas.
Ghidra FREE
Importe o .so no Ghidra para descompilar o código de máquina em pseudocódigo C aproximado, que você pode exportar ou salvar como texto para uma análise mais profunda.
Sobre estes formatos
Um arquivo .so é uma biblioteca de objetos compartilhados no Linux e Unix - o equivalente no Linux a um .dll do Windows. Os programas o carregam automaticamente durante a execução; você…
Abrir detalhes de .SO →Um arquivo TXT é um texto simples e não formatado - o formato de documento mais básico em qualquer computador. Clique duas vezes nele: o Windows o abre no Notepad, o macOS no TextEdit, o…
Abrir detalhes de .TXT →Qualidade e o que observar
- Abrir um
.soem um editor de texto mostra caracteres ilegíveis - os bytes são código de máquina ELF binário, não texto codificado. - A saída das ferramentas Binutils são dados de inspeção, não uma conversão de formato - o
.sopermanece uma biblioteca binária, independentemente do que você extraia para texto. - Se você precisar do código-fonte original, o
.soé o resultado compilado; encontre o código no repositório do projeto, não dentro do binário.
Perguntas frequentes
Por que não posso simplesmente renomear o `.so` para `.txt`?
Existe alguma ferramenta que converta SO para TXT?
xxd lib.so na linha de comando.