editing static * .a library

0

Eu queria saber se é possível ver o conteúdo de uma das bibliotecas no meu sistema.

Eu fui ao diretório usr / lib com meu terminal. e eu tentei nano e vi , mas não consegui ver o conteúdo deles.

Existe um caminho?

    
por maktaf 06.08.2015 / 11:09

2 respostas

2

Bibliotecas são arquivos binários, então você não poderá ver o conteúdo usando um editor de texto ou qualquer programa de leitura de arquivos de texto como cat , less etc.

Sua melhor aposta seria usar strings para ler o conteúdo legível da biblioteca.

    
por heemayl 06.08.2015 / 11:12
1

Um arquivo de biblioteca estático que termina com a extensão .a é simplesmente um arquivo dos arquivos de objetos compilados do código-fonte. Você pode descompactar os arquivos objeto em um diretório, a partir do arquivo foo.a , usando a ferramenta ar em um terminal.

No entanto, isso ainda não permite editar a origem e fazer alterações. Se você quiser modificar o programa em questão, deverá encontrar o código-fonte do projeto upstream que criou o arquivo e, em seguida, modificar e recompilar essa fonte.

Além disso, mesmo que você pudesse modificar o arquivo foo.a usando um editor hexadecimal ou semelhante e alterar a funcionalidade, seria uma alteração praticamente inútil, já que qualquer coisa vinculada a esse arquivo precisaria ser reconstruída com o nova versão, para adaptar as mudanças.

    
por dobey 08.08.2015 / 19:31