我想用CreateRemoteThread调用MessageBox方法

lescper2011 2017-11-06 06:21:18
使用CreateRemoteThread 调用MessageBox方法,
int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);


我建立一个struct存这4个参数,使用CreateRemoteThread调用,无效,不能弹出对话框,请问怎么改?

[DllImport("kernel32")]
public static extern IntPtr CreateRemoteThread(
IntPtr hProcess,
IntPtr lpThreadAttributes,
uint dwStackSize,
IntPtr lpStartAddress,
IntPtr lpParameter,
uint dwCreationFlags,
out uint lpThreadId
);
...全文
214 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2017-11-15
  • 打赏
  • 举报
回复
引用 4 楼 lescper2011 的回复:
[quote=引用 2 楼 caozhy 的回复:] C#不能注入线程,用c++,而且要写成dll
我还有另一个帖子,你也接一下分[/quote] 原因是C#没法写原生的dll,而只有写成dll,才能和目标进程在一个地址空间里,才能调用你的指针。
lescper2011 2017-11-15
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
C#不能注入线程,用c++,而且要写成dll
我还有另一个帖子,你也接一下分
lescper2011 2017-11-15
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
C#不能注入线程,用c++,而且要写成dll
这是为什么?我用c#可以调用dll的方法,目前我已经用你说的这个方法解决了,不过我很奇怪,为啥不能注入进程。 c#调用dll中有的方法,给到参数应该就行了啊 我调用的dll是系统dll,不是我自己写的,是一个urlmon.dll 设置浏览器的方法
threenewbee 2017-11-14
  • 打赏
  • 举报
回复
C#不能注入线程,用c++,而且要写成dll

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧