拡張子「.so」のファイルを開く方法

拡張子「.so」のファイルを開く方法

libphpcpp.so のような拡張子 (.so) を持つファイルや ("ELF") 形式のファイルをエディターで開いて編集するにはどうすればよいでしょうか?

答え1

.soファイルは「共有ライブラリ」です(https://en.wikipedia.org/wiki/Library_(computing)#共有ライブラリ) は、実行可能ファイルに動的にリンクされることを目的としたバイナリ ファイルであり、それ自体では使用できません。

ライブラリは関連する機能の集合であり、再利用可能なリソースソフトウェアアプリケーションによって使用される共有ライブラリは実行時にリンクされます(動的リンク)コンパイル時とは対照的であるため、その名前が付けられています。

共有ライブラリファイルを開く場合は、他のバイナリファイルと同様に、16進エディタ(またはバイナリエディタ)。標準リポジトリにはGHex(https://packages.ubuntu.com/xenial/ghex) または祝福 (https://packages.ubuntu.com/xenial/bless)。ELF 実行可能ファイルに対しても同様に行うことができます。

どちらも次のコマンドでインストールできます。

sudo apt install ghex

または

sudo apt install bless

ただし、共有オブジェクト (.so ファイル) はバイナリ ファイルであるため、手動で編集することはできないことに注意してください。16 進エディターを使用していくつかの文字列や値を編集することはできますが、それ自体では使用できないため、できることはあまりありません。

答え2

拡張子が xtのファイルは.soコンパイルされたライブラリです。elf形式はコンパイルされたソースコードです。これを編集するのではなく、ライブラリのソースコードを編集してからコンパイルすることをお勧めします。これらのドキュメント参考までに、静的ライブラリの背後にある考え方、コンパイル、インストール、使用方法について説明します。

関連情報