rundll32.exe を解析してみた
Rundll32 で ShellExecute 実行できないかなと思ったんだけど、どうやっても例外はいて何もせずに終わってしまうんで解析してみた。
結論
rundll32.exe 呼び出すDLL,呼び出す関数 "渡す文字列"
渡せるのは char* のみ
呼び出された関数には
(何かのハンドル, rundll32.exe の HINSTANCE, char *渡す文字列, 1, 0, 0, 0 ......)
みたいな感じで渡される。
rundll32 の第3パラメータ以降があっても、第2パラメータの渡す文字列にスペース込みで連結されて渡される。
つまり、第3 パラメータの文字列を解析できるような関数以外は失敗する。
例えば、 Options_RunDLL なんだけど、第3パラメータを 文字列で受け取った後
PostMessageW(Handle , 0x0416, StrToIntA(パラメータ),0) を処理している
Comments