0

Fortran プログラムのバイナリ ファイルがあります。このバイナリ ファイルの Fortran プログラムのソース コーディングを知りたいです。hexdum -c を使用して、バイナリ ファイルを ascii ファイルに変換しました。それでも理解不能です。バイナリ ファイルまたは ascii ファイルを人間が読める形式に変換する方法。

以下では、hexdum -c を実行した後、ASCII ファイルの一部を過ぎています。

0003D80 0000 0000 0100 1300 8901 0000 D8B4 0408
0003D90 0000 0000 0100 1000 9701 0000 CCB5 0408
0003DA0 0000 0000 0100 1400 A301 0000 B09D 0408
0003DB0 0000 0000 0200 0C00 B901 0000 0000 0000
0003DC0 0000 0000 0400 F1FF BE00 0000 0000 0000
0003DD0 0000 0000 0400 F1FF EE00 0000 0000 0000
0003DE0 0000 0000 0400 F1FF B901 0000 0000 0000
0003DF0 0000 0000 0400 F1FF 0100 0000 0000 0000
0003E00 0000 0000 0400 F1FF 1000 0000 0000 0000
0003E10 0000 0000 0400 F1FF 0100 0000 0000 0000
0003E20 0000 0000 0400 F1FF 3E00 0000 0000 0000
0003E30 0000 0000 0400 F1FF B901 0000 0000 0000
0003E40 0000 0000 0400 F1FF E901 0000 0000 0000
0003E50 0000 0000 0400 F1FF F201 0000 00B1 0408
0003E60 1400 0000 0100 0F00 0302 0000 14B1 0408
0003EE0 1400 0000 0100 0F00 8B02 0000 B4B1 0408
0003EF0 1400 0000 0100 0F00 9C02 0000 C8B1 0408
0003F00 1400 0000 0100 0F00 AF02 0000 DCB1 0408
0003F10 1400 0000 0100 0F00 C202 0000 F0B1 0408
0003F20 1400 0000 0100 0F00 D502 0000 04B2 0408
0003F30 1400 0000 0100 0F00 E802 0000 18B2 0408
0003F40 1400 0000 0100 0F00 FB02 0000 2CB2 0408

4

2 に答える 2

1

バイナリからソース コードを生成しようとする逆コンパイラがありますが、元のソース コードではありません。つまり、コメントやローカル変数名はありません。ただし、バイナリの逆コンパイラを取得するには、それを生成するために使用されたコンパイラと、それがどのアーキテクチャ用にコンパイルされたかを調べる必要があります。次のステップは、そのコンパイラー用の逆コンパイラー、または元のコンパイラーで使用されたコンパイル手法と十分に類似し、妥当なソースコードを生成するそのアーキテクチャー用の逆コンパイラーを検索することです。

于 2013-07-03T17:33:52.270 に答える
0

あなたが提供したバイナリ ファイル (コンパイルされたプログラムであるため) は、単なる ASCII やその他のテキスト コードのバイナリ表現ではありません。その理由は、これは機械語であり、人間が判読できるものには変換されないためです。

他の人が言及したように、コンパイルプロセスを逆にしようとする逆コンパイラがいくつかあります(ただし、それらは変数名とコメントを与えません)。

ソース コードを見つけようとしているオープン ソース プログラムの場合は、オンラインのどこか (sourceforge.net など) で見つけることができるはずです。

于 2013-07-03T18:13:51.633 に答える