社区
进程/线程/DLL
帖子详情
VirtualAllocEx函数总是返回NULL
gfynew
2009-03-18 06:24:37
用VirtualAllocEx函数在别的进程里建立内存空间始终不行,返回的总是NULL,但是看别人的帖子好像都没提到有功能存在这问题,到底怎么回事?就算我按照别人的格式试用还是不行。(获取目标进程ID没出错)
...全文
426
9
打赏
收藏
VirtualAllocEx函数总是返回NULL
用VirtualAllocEx函数在别的进程里建立内存空间始终不行,返回的总是NULL,但是看别人的帖子好像都没提到有功能存在这问题,到底怎么回事?就算我按照别人的格式试用还是不行。(获取目标进程ID没出错)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gfynew
2009-03-18
打赏
举报
回复
我现在正是在学注入的实现,多谢了。
补充下2楼也指出了我的错误所在,感谢两位。
我是菜鸟,等下可能还有问题,希望能抽空教教小弟。
fishion
2009-03-18
打赏
举报
回复
再不行,你就参考一下别人是怎么做的吧
http://blog.csdn.net/kissyfish/archive/2008/12/07/3462055.aspx
gfynew
2009-03-18
打赏
举报
回复
楼上是对的,换成NULL就行了,至少不会出现返回NULL的问题。
可以试验下一步了,多谢
fishion
2009-03-18
打赏
举报
回复
当你的地址的闲置空间不确定时module最好就是用NULL来代替
gfynew
2009-03-18
打赏
举报
回复
还是不行,郁闷死了
fishion
2009-03-18
打赏
举报
回复
VirtualAllocEx(win, module, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
你怎么用的是窗口句柄了,这里用的是进程句柄
hxzmm
2009-03-18
打赏
举报
回复
funAddress=VirtualAllocEx(win, module, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
应该是funAddress=VirtualAllocEx(h, module, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
第一个参数应该是进程的句柄,你传一个窗口的句柄当然肯定出错!
gfynew
2009-03-18
打赏
举报
回复
一下为处理消息的代码,也就是问题代码,请高手指出哪里出错,小弟感激不尽,是在不想卡死在这里
HWND win=NULL;
HANDLE h=NULL;
DWORD processId;
DWORD readcount=0;
LPVOID funAddress
win=WindowFromPoint(point);
GetWindowThreadProcessId(win,&processId);
h=OpenProcess(PROCESS_ALL_ACCESS,FALSE,processId);
if(h)
{
win=FindWindow("TForm1","找CALL练习实例one");
if(win==NULL)
{
MessageBox(hWnd,"取得窗口句柄失败","Error",0);//运行至次没跳出提示框
//获取窗口句柄没错
return 0;
}
funAddress=VirtualAllocEx(win, module, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if(funAddress==NULL)
{
MessageBox(hWnd,"建立内存错误","Error",0);//始终判断为空
}
}
else
{
MessageBox(hWnd,"打开进程错误","Message",0);
}
CloseHandle(h);
__asm{
}
EndPaint(hWnd,&PtStr);
ReleaseCapture();
break;
default: //其他消息处理程序
return(DefWindowProc(hWnd,iMessage,wParam,lParam)) ;
hxzmm
2009-03-18
打赏
举报
回复
具体代码贴出来!
向进程注入自己的代码
//使用
Virtu
a
lAlloc
Ex
函数
在远程进程的内存地址空间分配DLL文件名缓冲区 pszLibFileRemote=(PWSTR)
Virtu
a
lAlloc
Ex
(hRemoteProcess,
NULL
,cb,MEM_COMMIT,PAGE_READWRITE); if(pszLibFileRemote==
NULL
) {...
windows用户称拦截api
如果是想拦截其他进程中的api,则必须使用其他一些方法,最典型的方法是利用
Virtu
a
lAlloc
Ex
函数
来在其他进程中申请和提交内存空间。然后用WriteProcessMemory来分别把
函数
体和参数分别写入申请和分配的内存空间中去...
Detours
Ex
press源码(微软API HOOK库)
----
返回
:名为pszModule的DLL的名为pszFunction的
函数
的入口地址 ---- 说明:DetourFindFunction除使用GetProcAddress外,还直接分析DLL的文件头,因此可以找到一些GetProcAddress找不到的
函数
入口。 ---- 2. ...
windows编程资料大全
这里我们选择宿主进程,拷备的时侯,我们需要先在宿主进程中使用
Virtu
a
lAlloc
Ex
函数
申请一段内存,然后再使用WriteProcessMemory将线程体写入宿主进程中。 以上工作完成后,我们便可CreateRemoteThread
函数
激活其...
detour 2.1
----
返回
:名为pszModule的DLL的名为pszFunction的
函数
的入口地址 ---- 说明:DetourFindFunction除使用GetProcAddress外,还直接分析DLL的文件头,因此可以找到一些GetProcAddress找不到的
函数
入口。 ---- 2. ...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章