同じマルウェアがWindows 7のkernel32.dllとWindows 10のKernelBase.dllからCreateProcessInternalW
をエクスポートすることに気づきました。なぜ、異なるDLLから同じ関数をエクスポートするのですか?
CreateProcessInternalW
は、Windowsによって公開される「パブリック」APIの一部ではありません。したがって、Microsoftは自由に移動したり、適切に再実装したりできます。 (それを完全に削除することを含みますが、そうである可能性は低いですが。)
Windows7から、Microsoftは "MinWin"と呼ばれるものの構築を開始しました。これは、OSのコアを作成するために必要なWindows DLLとカーネルの最小セットです。 (おそらく、コンテナー化または組み込みコアの標準化を目的としています。)これにより、カーネルエクスポート用のMinWin機能を含むKernelBase.dllが作成されます。 kernel32.dllの多くの関数は、KernelBase.dllのパートナー関数を呼び出すスタブです。
私は現在Windows 10ボックスの前にいませんが、CreateProcessInternalWがこの一部としてKernelBase.dllに移動したため、マルウェア開発者がWindows 10でそれを探していると思います(おそらくkernel32.dllはシンボルをエクスポートしなくなりました。)