¿Por qué convertir SO a TXT?
Un .so comienza con un encabezado mágico ELF de 4 bytes y consta de segmentos binarios -instrucciones de máquina, tablas de símbolos, datos de reubicación y secciones de metadatos. Nada de esto es texto, y no hay contenido de documento que extraer. No existe una relación estructural entre una biblioteca ELF compilada y un archivo de texto plano .txt.
Cómo convertir SO a TXT
GNU Binutils OPEN-SOURCE
Ejecute nm -D lib.so > output.txt para símbolos exportados, readelf -a lib.so > output.txt para la estructura ELF, objdump -d lib.so > output.txt para desensamblado, o strings lib.so > output.txt para cadenas legibles incrustadas.
Ghidra FREE
Importe el .so en Ghidra para descompilar el código de máquina en pseudocódigo C aproximado, que puede exportar o guardar como texto para un análisis más profundo.
Acerca de estos formatos
Un archivo .so es una biblioteca de objetos compartidos en Linux y Unix, el equivalente en Linux a un .dll de Windows. Los programas lo cargan automáticamente en tiempo de ejecución; nunca…
Abrir detalles de .SO →Un archivo TXT es texto plano sin formato, el formato de documento más simple en cualquier computadora. Haga doble clic en él: Windows lo abre en Notepad, macOS en TextEdit, Linux en gedit.…
Abrir detalles de .TXT →Calidad y qué observar
- Abrir un
.soen un editor de texto muestra caracteres basura - los bytes son código de máquina binario ELF, no texto codificado. - La salida de las herramientas de Binutils es información de inspección, no una conversión de formato - el
.sosigue siendo una biblioteca binaria independientemente de lo que se vuelque a texto. - Si necesita el código fuente original, el
.soes el resultado compilado; busque el código fuente en el repositorio del proyecto, no dentro del binario.
Preguntas frecuentes
¿Por qué no puedo simplemente renombrar el `.so` a `.txt`?
¿Existe alguna herramienta que convierta SO a TXT?
xxd lib.so en la línea de comandos.