Hvorfor konvertere SO til TXT?
En .so starter med en 4-byte ELF magic header og består af binære segmenter - maskininstruktioner, symboltabeller, relokeringsdata og metadata-sektioner. Intet af dette er tekst, og der er intet dokumentindhold at udtrække. Der er ingen strukturel sammenhæng mellem et kompileret ELF-bibliotek og en .txt almindelig tekstfil.
Sådan konverterer du SO til TXT
GNU Binutils OPEN-SOURCE
Kør nm -D lib.so > output.txt for eksporterede symboler, readelf -a lib.so > output.txt for ELF-struktur, objdump -d lib.so > output.txt for disassembly, eller strings lib.so > output.txt for indlejrede læsbare tekststrenge.
Ghidra FREE
Importer .so-filen i Ghidra for at dekompilere maskinkoden til tilnærmet C-pseudokode, som du kan eksportere eller gemme som tekst for dybere analyse.
Om disse formater
En .so-fil er et delt objektbibliotek på Linux og Unix - Linux-modstykket til en Windows .dll. Programmer indlæser den automatisk ved kørsel; du åbner den aldrig direkte. Hvis en app fejler…
Åbn .SO detaljer →En TXT-fil er almindelig, uformateret tekst - det enkleste dokumentformat på enhver computer. Dobbeltklik på den: Windows åbner den i Notepad, macOS i TextEdit, Linux i gedit. Intet skal…
Åbn .TXT detaljer →Kvalitet & hvad man skal være opmærksom på
- Åbning af en
.soi en teksteditor viser volapyk-tegn - bytes er binær ELF-maskinkode, ikke kodet tekst. - Outputtet fra Binutils-værktøjer er inspektions data, ikke en formatkonvertering -
.so-filen forbliver et binært bibliotek uanset hvad du dumper til tekst. - Hvis du har brug for den originale kildekode, er
.so-filen det kompilerede output; find kildekoden i projektets repository, ikke inde i den binære fil.
Ofte stillede spørgsmål
Hvorfor kan jeg ikke bare omdøbe `.so` til `.txt`?
Findes der et værktøj, der konverterer SO til TXT?
xxd lib.so på kommandolinjen.