Varför konvertera SO till TXT?
En .so börjar med ett 4-byte ELF-huvud (magic bytes) och består av binära segment - maskininstruktioner, symboltabeller, relokeringsdata och metadatasektioner. Inget av detta är text, och det finns inget dokumentinnehåll att extrahera. Det finns inget strukturellt samband mellan ett kompilerat ELF-bibliotek och en .txt vanlig textfil.
Hur man konverterar SO till TXT
GNU Binutils OPEN-SOURCE
Kör nm -D lib.so > output.txt för exporterade symboler, readelf -a lib.so > output.txt för ELF-struktur, objdump -d lib.so > output.txt för disassemblering, eller strings lib.so > output.txt för inbäddade läsbara strängar.
Ghidra FREE
Importera .so-filen i Ghidra för att dekompilera maskinkoden till ungefärlig C-pseudokod, som du kan exportera eller spara som text för djupare analys.
Om dessa format
En .so-fil är ett delat objektbibliotek på Linux och Unix - Linux-motsvarigheten till en Windows .dll. Program laddar den automatiskt vid körning; du öppnar den aldrig direkt. Om en app…
Öppna detaljer för .SO →En TXT-fil är ren, oformaterad text - det enklaste dokumentformatet på vilken dator som helst. Dubbelklicka på den: Windows öppnar den i Notepad, macOS i TextEdit, Linux i gedit. Inget…
Öppna detaljer för .TXT →Kvalitet & vad man bör tänka på
- Att öppna en
.soi en textredigerare visar skräptecken - byten är binär ELF-maskinkod, inte kodad text. - Utdata från Binutils-verktyg är inspektions data, inte en formatkonvertering -
.so-filen förblir ett binärt bibliotek oavsett vad du dumpar till text. - Om du behöver den ursprungliga källkoden är
.so-filen det kompilerade resultatet; leta efter källkoden i projektets arkiv, inte inuti binärfilen.
Vanliga frågor
Varför kan jag inte bara döpa om `.so` till `.txt`?
Finns det något verktyg som konverterar SO till TXT?
xxd lib.so på kommandoraden.