私はPEのチュートリアルを読んでいたセクションのテーブルにジャンプしますと、それはセクションテーブルのいずれかにSizeOfHeadersIMAGEBASE + SizeOfHeadersが
しかしSizeOfHeadersにIMAGEBASEを追加することにより、
ゴーを言う
ですすべてのヘッダのサイズ+セクションテーブル
ImageBaseにSizeOfHeadersを追加すると、テーブルではなくセクションでジャンプしますか?
私はPEのチュートリアルを読んでいたセクションのテーブルにジャンプしますと、それはセクションテーブルのいずれかにSizeOfHeadersIMAGEBASE + SizeOfHeadersが
しかしSizeOfHeadersにIMAGEBASEを追加することにより、
ゴーを言う
ですすべてのヘッダのサイズ+セクションテーブル
ImageBaseにSizeOfHeadersを追加すると、テーブルではなくセクションでジャンプしますか?
SizeOfHeaders
実際には、DOSスタブを含むヘッダー全体のサイズです。
セクションテーブルのアドレスを取得するには、まず、オプションのヘッダーのアドレスを取得し、FileHeader.SizeOfOptionalHeader
を追加します。
SizeOfHeaders
は、一部のファイルで一致する可能性があってもセクションテーブルの位置を調べるために使用されません(ただし、私はそうは思わない)。ここで
は、それがWindowsのヘッダ(ひいてはシステムローダー)で行うの方法は次のとおりです。SizeOfOptionalHeader
の実際の値がチェックされていないことを
#define IMAGE_FIRST_SECTION(ntheader) ((PIMAGE_SECTION_HEADER) \
((ULONG_PTR)(ntheader) + \
FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
((ntheader))->FileHeader.SizeOfOptionalHeader \
))
は注意。非常に大きなものでも否定的なものでもあります。マルウェアの中には、分析ツールを欺くためにトリックを使うものもあります。
さらに詳しい情報や、さらにナイスティックにはhereを参照してください。
あなたが提供したリンクは素晴らしかったです..ありがとう – questions
多分このチュートリアルにはエラーがありますか? –