メモリからDLLを読み込んでみる DLL(dynamic link library)は通常、Windows APIのLoadlibraryやLoadlibraryEXを使ってディスク上から読み込んで使用する。 このLoadLibraryやLoadLibraryExは、ファイルシステム上のファイルでのみ機能し直接メモリからDLLをロードすることはできない。またこれを端的に実現できる公式のWindows APIも存在しない。 メモリからDLLを読み込むには疑似的なPEローダーを実装する必要がある。 ゲームやマルウェアの開発者は、解析難度の向上やアンチウイルスソフトによる検出回避を狙ってしばしばこういった手法をとることがある。 この記事では、メモリからDLLを読み込むために必要なPEファイルの構造について簡易に解説した後、以下のリポジトリを参考に実際にメモリからDLLを読み込ませてみる。 git
![メモリからDLLを読み込んでみる - Snoozy](https://cdn-ak-scissors.b.st-hatena.com/image/square/f0f5a6d79271f688f471493a688796a91ba9d106/height=288;version=1;width=512/https%3A%2F%2Fi.stack.imgur.com%2FuYGIu.png)