0

悪意のあるコードからシェルコードを抽出したマルウェア(Blackhole Exploit)の動作を学んでいます。バイト文字列の検索以外のすべてを理解しました。誰かがこれについて私を助けることができますか?このシェルコード(ほとんどの悪意のあるシェルコード)がこの特定の文字列を検索するのはなぜですか?検索コードは次のようになります。

mov   eax, 0C330408BH;
inc   esi
cmp   dword ptr [esi], eax
jne   //back to top//
4

2 に答える 2

3

Igorの回答に加えて、この記事http://skypher.com/index.php/2010/11/17/bypassing-eaf/を読むことをお勧めします。このコードは、システムDLL内の特定の命令を探して、それらを使用してメモリ内の任意の場所との間でデータを読み書きします。したがって、このコードを使用するには、(address-0x30)をeaxに配置し、上記のシーケンスを呼び出します。

于 2012-07-27T14:26:56.537 に答える
2

マジックバイトを取得し、それらをリトルエンディアン形式に変換して逆アセンブルすると、次のようになります。

8B 40 30    mov     eax, [eax+30h]
C3          retn

したがって、シェルコードはこの一連の命令を検索しています。100%確信はありませんが、メモリ内のkernel32イメージを見つけるために使用されていると思います(このシーケンスは通常そこで発生するため)。

于 2012-05-18T10:18:34.267 に答える