Зачем конвертировать SO в TXT?
Файл .so начинается с 4-байтового магического заголовка ELF и состоит из бинарных сегментов - машинных инструкций, таблиц символов, данных релокации и разделов метаданных. Ничто из этого не является текстом, и в нем нет содержимого документа для извлечения. Между скомпилированной библиотекой ELF и текстовым файлом .txt нет структурной связи.
Способы конвертации SO в TXT
GNU Binutils OPEN-SOURCE
Запустите nm -D lib.so > output.txt для получения списка символов, readelf -a lib.so > output.txt для структуры ELF, objdump -d lib.so > output.txt для дизассемблирования или strings lib.so > output.txt для поиска встроенных человекочитаемых строк.
Ghidra FREE
Импортируйте .so в Ghidra, чтобы декомпилировать машинный код в примерный псевдокод на языке C, который можно экспортировать или сохранить как текст для глубокого анализа.
Об этих форматах
Файл .so - это разделяемая библиотека (shared object) в Linux и Unix, эквивалент Windows .dll. Программы загружают её автоматически во время выполнения; вы никогда не открываете её…
Открыть детали .SO →Файл TXT - это простой неформатированный текст, самый элементарный формат документов на любом компьютере. Дважды щелкните по нему: Windows откроет его в Notepad, macOS - в TextEdit, Linux -…
Открыть детали .TXT →Качество и на что обратить внимание
- Открытие
.soв текстовом редакторе покажет непонятные символы - эти байты являются бинарным машинным кодом ELF, а не кодированным текстом. - Вывод инструментов Binutils - это данные для анализа, а не конвертация формата;
.soостается бинарной библиотекой независимо от того, что вы выгружаете в текст. - Если вам нужен исходный код, помните, что
.so- это результат компиляции; ищите исходники в репозитории проекта, а не внутри бинарного файла.
Часто задаваемые вопросы
Почему я не могу просто переименовать `.so` в `.txt`?
Существует ли инструмент для конвертации SO в TXT?
xxd lib.so в командной строке.