ドキュメントGNU binutilsのstrip
暗示理由に、しかしの説明で言及し、明示的ではない--only-keep-debug
こと
注-削除されたセクションのセクションヘッダーは、サイズも含めて保持されますが、セクションの内容は破棄されます。セクションヘッダーは保持されるため、他のツールがdebuginfoファイルを実際の実行可能ファイルと一致させることができます(その実行可能ファイルが別のアドレススペースに再配置されている場合でも)。
つまり、-R
オプションを介して明示的に指示されない限り、strip
はセクションヘッダーを保持して、他のプログラム(を含むgdb
)が作業を行うのを助けます。
ページstripコマンドの正しい使用(一部のLinuxオペレーティング・システムを使用してリバースエンジニアリング)の注意事項
実行strip
可能ファイルでコマンドを実行することは、最も一般的なプログラム保護方法です。デフォルトの動作では、strip
コマンドはシンボルテーブルとデバッグ情報を実行可能ファイルから削除します。これが通常使用される方法です。ただし、削除されない有用な情報がまだあります。
そして、「取り除かれた」実行可能ファイルの分析のために、残されているかもしれないいくつかの有用なものを列挙します。
学ぶLinuxのバイナリ分析、これは、セクションヘッダが正常にのみ、誰かがしたときに失われていることをコメントし、繰り返される意図的にそれらを除去し、そのセクションのヘッダなしで、gdb
かつobjdump
ほとんど役に立ちません。