Может ли кто-нибудь дать мне пример того, как вызвать функцию введенной DLL с помощью строкового аргумента?Я пытался сделать это так, как я знаю, но получил неправильный результат.Я выделяю память с помощью VirtualAllocEx
, затем записываю в нее строковый аргумент с помощью WriteProcessMemory
и после этого вызова CreateRemoteThread
передаю этот строковый аргумент в качестве параметра lpParameter
.Функция DLL, которую я вызываю, имеет следующий прототип:
DWORD TestFunction(LPVOID str);
Из того, что я понимаю, когда эта функция вызывается CreateRemoteThread
, str
содержит указатель на переданную строку.Но это не так;он содержит мусор.Похоже, str
параметр указывает на неправильный адрес.Что я делаю не так?
Вот все файлы проекта:http://pastebin.com/gh4SnhmV
http://pastebin.com/Sq7hpSVx
http://pastebin.com/dvgXpUYz