*.SO ファイルの復号化

*.SO ファイルの復号化

状況: かなり前に、C および C++ でコーディングを開発し、*.SO ファイルに変換しました。その後、それらの C および C++ ファイルを削除しました。

問題: コードのアップグレードのために、*.SO ファイルを C および C++ ファイルに再変換したいのですが、手順を案内していただき、再変換のチュートリアルと手順を送ってください。

答え1

この質問は以前にもここで尋ねられました:https://stackoverflow.com/questions/2306972/is-there-any-way-to-decompile-linux-so

いずれにせよ、元のコードを取り戻すことはできません。Carlos Gutiérrez 氏の言葉を借りれば、「牛でハンバーガーを作ることはできるが、ハンバーガーで牛を作ることはできない「」。

*.so ファイルはコンパイルされた共有オブジェクトです (Windows の dll とほぼ同等)。マシンが理解できる言語で関数のすべての情報が含まれています。これは、必ずしも記述されている言語と同じ言語である必要はありません。元のファイルが純粋なアセンブリでない場合は、ほぼ間違いなく同じ言語ではありません。したがって、同じことを実行する関数を作成するのに十分な情報を取得することは可能ですが、元のソース コードに戻すことはできません。

関連情報