Чем редактировать so файлы linux

How to open the files with the extension («.so») [closed]

How to open the files with the extension («.so») like libphpcpp.so and («ELF») format file in editor for editing?

probably with Hex Editor like Bless but if you change the files that are not meant to be changed, then things can happen

2 Answers 2

.so files are «Shared Libraries» (https://en.wikipedia.org/wiki/Library_(computing)#Shared_libraries), they are binary-files meant to be dynamically linked to an executable and as such are unusable on their own.

A Library is a collection of related functions and reusable resources to be used by software applications. Shared-libraries are linked at runtime (dynamic linking) as opposed to compile-time hence their name.

If you want to open a shared-library file, you would open it like any other binary file — with a hex-editor (also called a binary-editor). There are several hex-editors in the standard repositories such as GHex (https://packages.ubuntu.com/xenial/ghex) or Bless (https://packages.ubuntu.com/xenial/bless). The same can be done for ELF executables.

You can install either of them with the following command(s):

But bear in mind though, shared-objects (.so files) are binary files and therefore aren’t meant to be edited manually; you might be able to edit a few strings or values with a hex-editor but you won’t be able to do much since they are unusable on their own.

Источник

Как открывать, редактировать и конвертировать SO файлы

Файл с расширением .SO является файлом общей библиотеки. Они содержат информацию, которая может использоваться одной или несколькими программами для разгрузки ресурсов, так что приложения, вызывающие файл SO, не должны фактически предоставлять файл SO

Например, один файл SO может содержать информацию и функции о том, как быстро выполнить поиск по всему компьютеру. Несколько программ могут затем вызывать этот SO-файл для использования этой функции в своих соответствующих программах.

Однако вместо того, чтобы компилировать его в собственном двоичном коде программы, SO-файл служит расширением, которое программа просто должна вызвать, чтобы использовать ее утилиты. Файл SO даже может быть обновлен/заменен позже без необходимости внесения каких-либо изменений в собственный код.

Файлы общей библиотеки аналогичны файлам динамической библиотеки (DLL), используемым в Windows, и файлам динамической библиотеки Mach-O (DYLIB) в macOS, за исключением того, что файлы SO находятся в системах на базе Linux и в ОС Android.

SO не просто ссылается на файл общей библиотеки. Это также аббревиатура для параметров сервера , объект службы , перегрузка системы , только отправка , сбой системы , последовательный вывод и застрял в открытом состоянии . Однако не путайте это с ОС, аббревиатурой от операционной системы.

Как открыть файл SO

SO файлы могут быть технически открыты с помощью GNU Compiler Collection, но эти типы файлов не предназначены для просмотра или использования так же, как файлы другого типа. Вместо этого они просто помещаются в соответствующую папку и автоматически используются другими программами через загрузчик динамических ссылок Linux.

Читайте также:  Atomic operations in linux

Однако вы можете прочитать SO-файл как текстовый файл, открыв его в текстовом редакторе, таком как Leafpad, gedit, KWrite или Geany, если вы работаете в Linux, или Notepad ++ в Windows. Маловероятно, однако, что текст будет в удобочитаемом формате.

Как конвертировать SO файлы

Нам неизвестно о каких-либо программах, которые могут конвертировать SO в DLL для использования в Windows, и, учитывая, что эти файлы делают, они вряд ли есть. Это также не простая задача конвертировать SO в другие форматы файлов, такие как JAR или A (файл Stat Library).

Возможно, вы сможете «конвертировать» SO-файлы в JAR-файлы, просто заархивировав их в формат архивного файла, например .ZIP, а затем переименовав его в .JAR.

Дополнительная информация о файлах SO

Имя файла общей библиотеки называется soname . Он начинается с “lib” в начале, за которым следует имя библиотеки, а затем расширение .SO. Некоторые файлы общей библиотеки также имеют другие номера, добавленные в конце после «.SO» для обозначения номера версии.

Вот лишь несколько примеров: libdaemon.SO.14 , libchromeXvMC.SO.0 , libecal-1.2.SO.100 , libgdata.SO.2 и libgnome-bluetooth.SO.4.0.1 .

Число в конце позволяет иметь несколько версий одного и того же файла, не вызывая проблем с перекрывающимися именами. Эти файлы обычно хранятся в /lib/ или /usr/lib/.

На устройстве Android SO файлы хранятся в APK в /lib //. Здесь «ABI» может быть папкой с именем armeabi , armeabi-v7a , arm64-v8a , mips , mips64 , x86 или x86_64 . Файлы SO в правильной папке, которая относится к устройству, используются для установки приложений через файл APK.

Файлы общей библиотеки иногда называют динамически связанными библиотеками общих объектов , общими объектами , общими библиотеками и библиотеками общих объектов .

Все еще не можете открыть файл?

Очевидная причина, по которой вы, возможно, не сможете открыть SO-файл, заключается в том, что это не совсем SO-файл. Вы можете просто иметь файл, который имеет несколько общих букв в качестве этого расширения файла. Подобные расширения звучащих файлов не обязательно означают, что форматы файлов похожи или что они могут работать с одними и теми же программами.

Например, формат файла ISO является популярным форматом, который во многом похож на «.SO» в конце файла, но оба они не связаны и не могут открываться с помощью одних и тех же программ.

Другой пример можно увидеть с файлами SOL, которые являются файлами локальных общих объектов Flash. Они используются с Adobe Flash и не связаны с SO-файлами.

Источник

Как открывать, редактировать и конвертировать SO файлы

Скриншот SO файлов в Ubuntu

Файл с расширением .SO является файлом общей библиотеки. Они содержат информацию, которая может использоваться одной или несколькими программами для разгрузки ресурсов, так что приложения (приложения), вызывающие файл SO, не должны фактически предоставлять файл SO.

Скриншот SO файлов в Ubuntu

Например, один файл SO может содержать информацию и функции о том, как быстро выполнить поиск по всему компьютеру. Несколько программ могут затем вызывать этот SO-файл для использования этой функции в своих соответствующих программах.

Однако вместо того, чтобы компилировать его в собственном двоичном коде программы, SO-файл служит расширением, которое программа просто должна вызвать, чтобы использовать ее утилиты. Файл SO даже может быть обновлен / заменен позже без необходимости внесения каких-либо изменений в собственный код.

Читайте также:  Свой образ системы linux

Файлы общей библиотеки аналогичны файлам динамической библиотеки (DLL), используемым в Windows, и файлам динамической библиотеки Mach-O (DYLIB) в macOS, за исключением того, что файлы SO находятся в системах на основе Linux и в ОС Android.

SO не просто ссылается на файл общей библиотеки. Это также аббревиатура для параметров сервера , служебного объекта , перегрузки системы , отправки только , сбоя системы , последовательного выхода и зависания . Однако не путайте это с ОС, аббревиатурой от операционной системы.

Как открыть файл SO

SO файлы могут быть технически открыты с помощью GNU Compiler Collection, но эти типы файлов не предназначены для просмотра или использования, как если бы вы могли использовать другой тип файла. Вместо этого они просто помещаются в соответствующую папку и автоматически используются другими программами через загрузчик динамических ссылок Linux.

Однако вы можете прочитать SO-файл как текстовый файл, открыв его в текстовом редакторе, таком как Leafpad , gedit , KWrite или Geany, если вы работаете в Linux, или Notepad ++ в Windows. Маловероятно, однако, что текст будет в удобочитаемом формате.

Как конвертировать SO файлы

Нам неизвестно о каких-либо программах, которые могут конвертировать SO в DLL для использования в Windows, и, учитывая, что эти файлы делают, они вряд ли есть. Это также не простая задача конвертировать SO в другие форматы файлов, такие как JAR или A (файл Stat Library).

Возможно, вы сможете «конвертировать» SO-файлы в JAR-файлы, просто заархивировав их в формат архивных файлов, например. ZIP, а затем переименовать его в .JAR.

Дополнительная информация о файлах SO

Имя файла общей библиотеки называется soname . Он начинается с «lib» в начале, за которым следует имя библиотеки, а затем расширение .SO. Некоторые файлы общей библиотеки также имеют другие номера, добавленные в конце после «.SO» для обозначения номера версии.

Вот лишь несколько примеров: libdaemon.SO.14 , libchromeXvMC.SO.0 , libecal-1.2.SO.100 , libgdata.SO.2 и libgnome-bluetooth.SO.4.0.1 .

Число в конце позволяет иметь несколько версий одного и того же файла, не вызывая проблем с перекрывающимися именами. Эти файлы обычно хранятся в / lib / или / usr / lib / .

На устройстве Android SO файлы хранятся в APK под / lib //. Здесь «ABI» может быть папкой с именами armeabi , armeabi-v7a , arm64-v8a , mips , mips64 , x86 или x86_64 . Файлы SO в правильной папке, которая относится к устройству, используются для установки приложений через файл APK.

Общая библиотека файлы иногда называют динамически подключаемые библиотеки объектов , общие объекты , разделяемые библиотеки и разделяемые библиотеки объектов .

Все еще не можете открыть файл?

Очевидная причина, по которой вы, возможно, не сможете открыть SO-файл, заключается в том, что это не совсем SO-файл. Вы можете просто иметь файл, который имеет несколько общих букв в качестве этого расширения файла. Подобные расширения звучащих файлов не обязательно означают, что форматы файлов похожи или что они могут работать с одними и теми же программами.

Например, формат файла ISO является популярным форматом, который во многом похож на «.SO» в конце файла, но оба они не связаны и не могут открываться с помощью одних и тех же программ.

Другой пример можно увидеть с файлами SOL, которые являются файлами локальных общих объектов Flash. Они используются с Adobe Flash и не связаны с SO файлами.

Читайте также:  Узнать версию docker linux

Источник

libgame.so

«Редактирование» — слишком общее действие. Что именно подразумевается под ним?

kravich ★★★★ ( 01.12.14 17:19:23 MSK )
Последнее исправление: kravich 01.12.14 17:20:18 MSK (всего исправлений: 1)

Вообще-то такие файлы не стоит редактировать. Если же тебе надо сделать патч, заюзай GHex или другие hex-редакторы.

То есть, сделать данный Документ Читаемым, мне там надо найти N- данные и изменить их, потом все это дело сохранить.

Читер не Читер, но и для общего Саморазвития хотелось бы понять, как и что там можно изменить.

objdump -d libgame.so > libgame.asm

Ну тогда как уже сказали GHex и в бой химичить ::)

Это ни разу не то, что понимается под «Документом», но это читаемый файл

мне там надо найти N- данные и изменить их, потом все это дело сохранить

А ты представляешь себе, как файл этого формата устроен и как эти данные могут там хранится?

Все это Дело в Linux делать?))

так вот я и спрашиваю. Нет ни знаю как он устроен и как именно там данные расположены. По этому я и интересуюсь

Благодарю. Попробуй, может что и получиться.))

Здесь о Microsoft Windows вообще-то форум, ты не ошибся адресом случайно?

Возможно и ошибся, но добрые люди подсказали

То есть, сделать данный Документ Читаемым.
Нет ни знаю как он устроен и как именно там данные расположены.

Вот с этого и надо было начинать. Это не документ. Ни юридический, ни от мелкомягкого офиса ни в каком либо другом смысле.

Иди читай про библиотеки (это и есть библиотека), бинарный код, ассемблер/дизассемблер, программирование и обратную разработку. Потом решай готов ли ты потратить годы на освоение новой профессии для «редактирования» этого кмх. «документа» и на до ли тебе это вообще и зачем. А не задавай глупые вопросы не потратив ни секунды своего время чтоб их хотя бы сформулировать.

Это динамически линкуемая библиотека в формате ELF (аналог в windows — DLL).

Ознакомится на минимальном уровне можно сначала здесь: https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format, затем здесь: http://wiki.osdev.org/ELF. Осилишь это — поймешь, что нужно еще почитать, чтобы научиться модифицировать файлы данного формата.

готов ли ты потратить годы на освоение новой профессии

Ну не скажи, базового уровня в реверс-инжинеринге можно и существенно быстрее достичь, при должном желании.

Ну не скажи, базового уровня в реверс-инжинеринге можно и существенно быстрее достичь, при должном желании.

С этапа готовности «редактировать документ» lib.so, до реального пусть и простейшего реверса? Только если правка имеющихся текстовых данных в файле или обезьянье повторение в стиле «нажмите пуск. », да ещё желательно со скриншотами или видео-урок 😀

Хотя, вполне возможно, все, что тебе нужно — это изменить какую-то текстовую строку в файле. Для этого тебе нужно использовать какой-нибудь hex-редактор (Bless, например).

В нем нужно найти искомую строку и аккуратно заменить имеющиеся символы на нужные тебе, следя за тем, чтобы не затереть байт 0x00, который обязательно будет стоять в конце строки (не берем в рассчет менее распространенные случаи), затем сохранить результат. Лишние символы можно забить нулями. Все.

Источник

Оцените статью
Adblock
detector