ELF 実行ファイル (Linux) を PE.exe (Windows) に変換する

ELF 実行ファイル (Linux) を PE.exe (Windows) に変換する

マシンコードファイルの使用に関しては、私は初心者です!!!

ELF (Linux) として取得したマシン コード実行ファイルを Windows の exe ファイルに使用する必要があります。'objconv' を試しましたが、フォーマットでは '-fPE ' を使用するように指示されているにもかかわらず、それを使用するとコマンド ラインに 'エラー 2004 不明なコマンド ライン' と 'エラー 2103 入力ファイルを読み取れません' が表示されます。Linus と Windows プラットフォームの間には互換性がないのではないかと思います。

答え1

基礎となるオブジェクト コードはプラットフォーム間で同じである可能性がありますが、重要なネイティブ アプリケーションは Windows と Linux 間でバイナリ互換性を持つことはできません。

変換しようとしている Linux 実行ファイルが動的にリンクされている場合、Windows には存在しないライブラリが必要になります ( ldd /path/to/programLinux マシンで実行すると、このライブラリのリストが表示されます)。

すべてのライブラリをPE実行形式に変換したり、静的にリンクしたとしても、システムはNTカーネルそしてLinuxカーネル完全に異なります。それらの間には直接的な一対一の対応はありません。

最善の選択肢は、可能であれば元のアプリケーションのソース コードを見つけることです。プログラムが移植可能な方法で記述されている場合は、Windows と Linux の両方でコンパイルできる可能性があります。システム コールは 2 つのプラットフォーム間で同じではありませんが、C ライブラリ実装のサブセットは標準化された動作をします。

答え2

これはほぼ確実に機能しません。Linux と Windows は互いにうまく動作しません。「変換」しようとしているアプリケーションは、Windows 用にソースから再構築する必要があります (Windows 固有のパッチが必要になります)。運が良ければ、実行しようとしているアプリケーションには既に Windows ポートがあります。

答え3

これを読んでみてはいかがでしょうか ネイティブコード生成

関連情報