-1

私はLinuxのカーネルモジュールを持っていて、それは耐性メカニズムを改ざんしています。Linuxカーネルオブジェクトファイル(.ko)に構造体がありますか?

モジュールをinsmodすると、モジュールはinit関数でモジュールの整合性をチェックします。

このメカニズムをテストするために、カーネルモジュールのバイナリを少し変更しました。

このジョブを指定してください。変更された内容は、モジュールファイルのあるオフセットの2バイトでした。 (00 02 - 02 00(16進表記))

私は改ざんされたモジュールをinsmodして、私はメッセージを殺してしまい、カーネルoopsを起こしました。

dmesgがffffc900209aa7d1のカーネルページング要求を処理できないと示しています。 追加のために、コールトレースの最後のプロセスはfind_symbol_in_section + 0x39/0xdaでした。

私は、モジュールのアドレスやinsmodプロセスに関連する何かの値が変更されていると思います。

カーネルオブジェクトのファイル構造に関する情報を私に教えてください。

+1

お気に入りの検索エンジンを利用して、参照を求めることができます。 SOは外部リソース用ではありません。 –

答えて

2

man page for init_module(2)によれば、LinuxカーネルモジュールはELFファイル形式を使用します。 objdump(1)またはreadelf(1)のようなユーティリティを使用して、そこから情報を読み取ることができます。

関連する問題