2011-07-05 5 views
0

誰も私に注入されたdllの関数を文字列引数で呼び出す方法の例を教えてもらえますか? 私はそれをすることを知っている方法でそれをしようとしましたが、間違った結果を得ました。 VirtualAllocExでメモリを割り当ててから、WriteProcessMemoryで文字列引数を書き込んだ後、CreateRemoteThreadの呼び出しで、その文字列引数をlpParameterパラメータとして渡します。私は呼んでDLL関数プロトタイプは次の通りです:この関数はCreateRemoteThreadによって呼び出されたときに私が理解から文字列引数の例を持つCreateRemoteThread

DWORD TestFunction(LPVOID str); 

を、strは、渡された文字列へのポインタが含まれています。しかし、それはしません。それはいくらかのゴミを含んでいます。 strのパラメータが間違ったアドレスを指しているようです。私は間違って何をしていますか?ここで

全体のプロジェクトファイルは、以下のとおりです。
http://pastebin.com/gh4SnhmV
http://pastebin.com/Sq7hpSVx
http://pastebin.com/dvgXpUYz

+1

作成した関数呼び出しを記述する代わりにコードを表示すると役立ちます。 – John

答えて

0

おそらく混同VAスペースを取得し、あなたアドレス空間の代わりに、対象者の中にポインタを渡しています。

また、他のプロセスにスレッドを注入しようとするソフトウェアを出荷しないでください。マラソンを実行している間に誰かを操作しようとするような、一般的な意味では非常に難しいです。

関連する問題