关于代码远程注入,远程线程
关于代码远程注入,远程线程 求助
在调试一个网上代码远程注入的例子,遇到以下问题:
首先说下代码过程:目的是将一段弹出MessageBox的代码注入到记事本进程中。
有一个结构体,用于传参数到远程进程所申请的内存中,定义如下:
typedef struct _RemoteArgs
{
char pMessageBox[15];
DWORD dwMessageBox;
}RemoteArgs;
//远程线程的线程函数如下:
DWORD __stdcall ThreadProc (void *lpPara){
typedef int (__stdcall *myMessageBoxA)(HWND,LPCTSTR,LPCTSTR,DWORD);//定义MessageBox函数
myMessageBoxA myMessageBox;
myMessageBox = (myMessageBoxA)lpPara->dwMessageBox;//得到函数入口地址
myMessageBox(NULL,lpPara->pMessageBox ,lpPara->pMessageBox,0);//call
return 0;
};
现在问题是以下两句编译时提示出错:
myMessageBox = (myMessageBoxA)lpPara->dwMessageBox;//得到函数入口地址
myMessageBox(NULL,lpPara->pMessageBox ,lpPara->pMessageBox,0);//call
error C2227: left of '->dwMessageBox' must point to class/struct/union
error C2227: left of '->pMessageBox' must point to class/struct/union
可能是类型不符的问题,请问如何修改??
------解决方案--------------------
(myMessageBoxA)lpPara不是指针,应该是(myMessageBoxA*)lpPara这个吧
在调试一个网上代码远程注入的例子,遇到以下问题:
首先说下代码过程:目的是将一段弹出MessageBox的代码注入到记事本进程中。
有一个结构体,用于传参数到远程进程所申请的内存中,定义如下:
typedef struct _RemoteArgs
{
char pMessageBox[15];
DWORD dwMessageBox;
}RemoteArgs;
//远程线程的线程函数如下:
DWORD __stdcall ThreadProc (void *lpPara){
typedef int (__stdcall *myMessageBoxA)(HWND,LPCTSTR,LPCTSTR,DWORD);//定义MessageBox函数
myMessageBoxA myMessageBox;
myMessageBox = (myMessageBoxA)lpPara->dwMessageBox;//得到函数入口地址
myMessageBox(NULL,lpPara->pMessageBox ,lpPara->pMessageBox,0);//call
return 0;
};
现在问题是以下两句编译时提示出错:
myMessageBox = (myMessageBoxA)lpPara->dwMessageBox;//得到函数入口地址
myMessageBox(NULL,lpPara->pMessageBox ,lpPara->pMessageBox,0);//call
error C2227: left of '->dwMessageBox' must point to class/struct/union
error C2227: left of '->pMessageBox' must point to class/struct/union
可能是类型不符的问题,请问如何修改??
------解决方案--------------------
(myMessageBoxA)lpPara不是指针,应该是(myMessageBoxA*)lpPara这个吧