特定の dll (LoadLibrary) の初期化手順内 (外部ではなく) にスレッドを作成 (および実行) する必要があります。
しかし...
「プロセスの起動中および DLL の初期化ルーチン中に、新しいスレッドを作成できますが、プロセスの DLL の初期化が完了するまで実行を開始しません。」(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682453%28v=vs.85%29.aspx)。そして、これはまさに何が起こるかです。
私の質問は次のとおりです。これに対する回避策はありますか?
アプリケーションをデバッガー (OllyDbg) で実行しています。そして、私はコンパイラを使用していません。
私のコード:
PUSH 214D84DD // thread id address out
PUSH 0
PUSH 0
PUSH 214D84CD // my function address to run in the thread
PUSH 0
PUSH 0
CALL DWORD PTR DS:[4EBD1204] // KERNEL32.CreateThread
どうもありがとう、リカルド