私は.exe
ファイルにコードセクションを追加するためにCFF Explorerを使用しました。セクションの特性を0x60000020
(実行可能、読み取り可能、コード含む)に設定し、そこでIDAを使用してダミーコードを作成しました。`jmp`のアクセス違反が追加されたセグメント
しかし、元の.text
セグメントのコードにjmp
を注入すると、アクセス違反が発生していました。それは私のためのオフセットを生成したので、私は、バイナリにパッチを適用するIDAを使用しますが、右のようだ:
jmp far ptr 6:75D100h
たオペコードは右、あまりにもなります
EA 00 D1 75 00 06 00
しかし、すぐに私はそれを打つようジャンプ - "命令は0xFFFFFFFFのメモリを参照し、メモリは読み出すことができません"。私は役に立たないオフセットを少し試しました。追加されたセグメントは、メモリに適切にロードされているようです。
は、私がここで行方不明です何:)
「6」は正しいセグメントセレクタだと思いますか? – Jester
@Jesterが実際にはそうではありません。正しいものが5つのように見えますが、segfaultは存続します。 なぜ私はIDAが6をそこに置くのか分からない、 – Ap31
'5'も非常に疑わしいと思う。 '7 'は、あなたがLDTに新しい記述子を割り当てた場合に動作します。 – Jester