先贴一下DLL源码。
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
{
AfxMessageBox("DLL成功注入");
ProcessStart();
break;
}
/////////////////////////////////////////////////////////////////
void ProcessStart()
{
WSADATA WsaData;
if(WSAStartup(MAKEWORD(2,2),&WsaData)!=0)
{
return;
}
//HANDLE hmutex=CreateMutex(NULL,false,NULL);
//WaitForSingleObject(hmutex,INFINITE);
AfxMessageBox("开始创建线程");
HANDLE starthd=NULL;
starthd=CreateThread(NULL,NULL,StartMyService,NULL,NULL,NULL);
if(starthd==NULL)
{
AfxMessageBox("创建线程失败");
}
////////////////////////////////////////////////////////////////////////////////////////
DWORD WINAPI StartMyService(LPVOID lpvoid)
{
//读取配置;
AfxMessageBox("进入线程回调函数");
HANDLE th=NULL;
bool value=true;
SOCKET sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,(char *)value,sizeof(value));
SOCKADDR_IN addr_in={0};
addr_in.sin_addr.S_un.S_addr=inet_addr(ServerIp);
addr_in.sin_port=htons(ServerPort);
addr_in.sin_family=AF_INET;
这是DLL部分源码,,已经弹出提示,“DLL注入成功”,“开始创建线程”,,没有提示“线程创建失败”,但是也没有进入线程回调函数,,没搞懂为什么,,
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)