2011-01-24 13 views
1

C++を使用してバイナリファイルを解析し、その情報(テキスト)を抽出します。C++を使用して.exe/.dllなどのバイナリファイルからテキストを抽出する

どのような方法がありますか?

+2

はあなたがバージョン、開発者、著作権や説明などのリソースファイルに格納されている情報を参照している:

$ strings werl.exe !This program cannot be run in DOS mode. Rich .text '.rdata @.data .rsrc QRVh Could not load module %s. win_erlexec Could not find entry point "win_erlexec" in %s. Could not find key %s in section %s of file %s Cannot find erlexec.exe erts-* \bin erts- 

は、あなたがリダイレクトを使用し、ファイルout.txtに、この出力を保存するには? – MeanEYE

+0

@MeanEYEが語ったことについて:この場合、ResourceHackerを使用できます。 – Benoit

+0

公開された機能、コード、リソースやメタ情報などのすべてを含むすべて –

答えて

0

印刷可能な文字列をスキャンすることができます。バイナリコードのほとんどのバイトは印刷できません。したがって、たとえば6文字以上の印字可能文字が存在する場合は、実際の文字列値になる可能性があります。プラス文字列は\ 0で終了することが多いので、\ 0で終了する印字可能文字列を探すことができます。

2

strings(1)を使用すると、ファイル内の印刷可能文字列をファイルまたはパイプに抽出し、これらの行を処理できます。たとえば:

$ strings werl.exe > out.txt 
関連する問題