企业微信目前已经实现了大部分功能,运行稳定,比如:发各种消息,
接收各种消息,外部群内部群管理,下载文件,加好友,朋友圈等等功能,c++开发,稳定支持c#,易语言,python,php,java,c++等各种开发语言调用,持续稳定更新。
部分c++代码:
HANDLE DuplicateHandleEx(DWORD pid, HANDLE h, DWORD flags)
{
HANDLE hHandle = NULL;
HANDLE hProc =
OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
if(hProc)
{
if(!DuplicateHandle(hProc,
(HANDLE)h,GetCurrentProcess(),
&hHandle,0,FALSE, /*DUPLICATE_SAME_ACCESS*/flags))
{
hHandle=NULL;
}
}
CloseHandle(hProc);
returnhHandle;
}
BOOL InjectDll(char* dllPath)
{
//获取微信Pid
DWORD dwPid =
ProcessNameFindPID(WECHAT_PROCESS_NAME);
if(dwPid == 0)
{
MessageBoxA(NULL, "没有找到微信进程 请先启动微信", "错误", 0);
return FALSE;
}
//检测dll是否已经注入
if(CheckIsInject(dwPid))
{
//打开进程
HANDLE hProcess =
OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
if (hProcess == NULL)
{
MessageBoxA(NULL, "进程打开失败", "错误", 0);
return FALSE;
}
//在微信进程中申请内存
LPVOID pAddress =
VirtualAllocEx(hProcess, NULL, MAX_PATH, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (pAddress == NULL)
{
MessageBoxA(NULL, "内存分配失败", "错误", 0);
return FALSE;
}
//写入dll路径到微信进程
if(WriteProcessMemory(hProcess, pAddress, dllPath, MAX_PATH, NULL) == 0)
{
MessageBoxA(NULL, "路径写入失败", "错误", 0);
return FALSE;
}
//获取LoadLibraryA函数地址
FARPROC pLoadLibraryAddress
= GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
if(pLoadLibraryAddress == NULL)
{
MessageBoxA(NULL, "获取LoadLibraryA函数地址失败", "错误", 0);
return FALSE;
}
//远程线程注入dll
HANDLE hRemoteThread =
CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pLoadLibraryAddress, pAddress, 0, NULL);
if (hRemoteThread == NULL)
{
MessageBoxA(NULL, "远程线程注入失败", "错误", 0);
return FALSE;
}
CloseHandle(hRemoteThread);
CloseHandle(hProcess);
}
else
{
MessageBoxA(NULL, "dll已经注入,请勿重复注入", "提示", 0);
return FALSE;
}
return TRUE;
}
欢迎技术交流:
HWND Qq[]=“2645542961”;
wchar_ttempbuff[0x1f45];