ページ 11

DLLインジェクションでプログラム実行時にパスワードをかけたい(訂正版)

Posted: 2011年1月10日(月) 12:50
by なぎ
test.exeを起動させるときに、dll.dllをインジェクトしておくことにより、パスワードを入力しなければtest.exeが起動できない!

という感じにさせたいわけです。

そんなことしてもdll.dllをインジェクトさせなければ突破できる!という事は聞かないでください。


BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)

{
char pw[10];

if(ul_reason_for_call == DLL_PROCESS_ATTACH)
{

printf("パスワードを入力してください:\n\n");
scanf("%s",pw);
_test(pw);//test関数は、受け取ったPWが正しいかどうか判定し、間違っていれば処理を終了します。

}
return TRUE;
}


DLLを作っていざインジェクトさせてみたら、
printf("パスワードを入力してください:\n\n");
scanf("%s",pw);

この部分が実行されず、_test()には何もデーターが渡されずに「パスワードが違います」
と表示されてしまいました。
どうすれば、DLLインジェクションで使うことができるでしょうか。

Re: DLLインジェクションでプログラム実行時にパスワードをかけたい(訂正版)

Posted: 2011年1月10日(月) 19:01
by h2so5
インジェクトって具体的にどうするんですか?
インジェクトされる側のプログラムはどのような物でしょうか?