From 00678b2f254ddc698512045317113dace3d89928 Mon Sep 17 00:00:00 2001 From: ljc545w Date: Thu, 17 Mar 2022 15:35:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=83=A8=E5=88=86=E5=B7=B2?= =?UTF-8?q?=E7=9F=A5Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CWeChatRobot/FriendList.cpp | 4 +++- CWeChatRobot/InjertDll.cpp | 2 +- CWeChatRobot/SelfInfo.cpp | 2 +- CWeChatRobot/SendArticle.cpp | 6 +++--- CWeChatRobot/SendCard.cpp | 6 +++--- CWeChatRobot/SendFile.cpp | 2 ++ CWeChatRobot/SendImage.cpp | 2 ++ CWeChatRobot/SendText.cpp | 2 ++ CWeChatRobot/UserInfo.cpp | 4 ++-- CWeChatRobot/pch.cpp | 7 ++++++- DWeChatRobot/FriendList.cpp | 10 +++++----- DWeChatRobot/FriendList.h | 2 +- Release/CWeChatRobot.exe | Bin 65536 -> 65536 bytes Release/DWeChatRobot.dll | Bin 31744 -> 31744 bytes wxRobot.py | 15 +++++++++------ 15 files changed, 40 insertions(+), 24 deletions(-) diff --git a/CWeChatRobot/FriendList.cpp b/CWeChatRobot/FriendList.cpp index 35c2156..86ef4e9 100644 --- a/CWeChatRobot/FriendList.cpp +++ b/CWeChatRobot/FriendList.cpp @@ -95,6 +95,8 @@ void FreeWxFriend(int index) { } std::wstring GetFriendList() { + if (!hProcess) + return L"[]"; DWORD GetFriendListInitAddr = GetWeChatRobotBase() + GetFriendListInitOffset; DWORD GetFriendListRemoteAddr = GetWeChatRobotBase() + GetFriendListRemoteOffset; DWORD GetFriendListFinishAddr = GetWeChatRobotBase() + GetFriendListFinishOffset; @@ -108,7 +110,7 @@ std::wstring GetFriendList() { CloseHandle(hThread); } // 获取保存第一个好友的数据指针的结构体首地址 - hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)GetFriendListRemoteAddr, 0, 0, &dwId); + hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)GetFriendListRemoteAddr, NULL, 0, &dwId); if (hThread) { WaitForSingleObject(hThread, INFINITE); GetExitCodeThread(hThread, &dwHandle); diff --git a/CWeChatRobot/InjertDll.cpp b/CWeChatRobot/InjertDll.cpp index 9eadda8..fe969ae 100644 --- a/CWeChatRobot/InjertDll.cpp +++ b/CWeChatRobot/InjertDll.cpp @@ -36,7 +36,7 @@ bool Injert(DWORD dwPid,wchar_t* workPath) { swprintf_s(dllpath, MAX_PATH, L"%ws%ws%ws", workPath, L"\\", dllname); string name = _com_util::ConvertBSTRToString((BSTR)workPath); if (!isFileExists_stat(name)) { - MessageBoxA(NULL, name.c_str(), "文件不存在", MB_ICONWARNING); + MessageBox(NULL, dllpath, L"文件不存在", MB_ICONWARNING); return 1; } bool status = InjectDll(dwPid, dllpath); diff --git a/CWeChatRobot/SelfInfo.cpp b/CWeChatRobot/SelfInfo.cpp index 87c7597..0e62683 100644 --- a/CWeChatRobot/SelfInfo.cpp +++ b/CWeChatRobot/SelfInfo.cpp @@ -19,7 +19,7 @@ VOID DeleteSelfInfoCache() { std::wstring GetSelfInfo() { if (!hProcess) - return L""; + return L"{}"; if (SelfInfoString.compare(L"")) { return SelfInfoString; } diff --git a/CWeChatRobot/SendArticle.cpp b/CWeChatRobot/SendArticle.cpp index fa7140f..7ff782d 100644 --- a/CWeChatRobot/SendArticle.cpp +++ b/CWeChatRobot/SendArticle.cpp @@ -9,7 +9,7 @@ struct SendArticleStruct { BOOL SendArticle(wchar_t* wxid, wchar_t* title, wchar_t* abstract, wchar_t* url) { if (!hProcess) - return 0; + return 1; DWORD WeChatRobotBase = GetWeChatRobotBase(); DWORD dwId = 0; DWORD dwWriteSize = 0; @@ -24,7 +24,7 @@ BOOL SendArticle(wchar_t* wxid, wchar_t* title, wchar_t* abstract, wchar_t* url) if (!wxidaddr || !titleaddr || !abstractaddr || !urladdr || !paramAndFunc || !WeChatRobotBase) { - return 0; + return 1; } if (wxidaddr) @@ -52,5 +52,5 @@ BOOL SendArticle(wchar_t* wxid, wchar_t* title, wchar_t* abstract, wchar_t* url) VirtualFreeEx(hProcess, abstractaddr, 0, MEM_RELEASE); VirtualFreeEx(hProcess, urladdr, 0, MEM_RELEASE); VirtualFreeEx(hProcess, paramAndFunc, 0, MEM_RELEASE); - return 1; + return 0; } \ No newline at end of file diff --git a/CWeChatRobot/SendCard.cpp b/CWeChatRobot/SendCard.cpp index 3296af2..51db545 100644 --- a/CWeChatRobot/SendCard.cpp +++ b/CWeChatRobot/SendCard.cpp @@ -8,7 +8,7 @@ struct SendCardStruct { BOOL SendCard(wchar_t* receiver, wchar_t* sharedwxid, wchar_t* nickname) { if (!hProcess) - return 0; + return 1; DWORD WeChatRobotBase = GetWeChatRobotBase(); DWORD dwId = 0; DWORD dwWriteSize = 0; @@ -22,7 +22,7 @@ BOOL SendCard(wchar_t* receiver, wchar_t* sharedwxid, wchar_t* nickname) { if (!receiveraddr || !sharedwxidaddr || !nicknameaddr || !paramAndFunc || !WeChatRobotBase) { - return 0; + return 1; } if (receiveraddr) WriteProcessMemory(hProcess, receiveraddr, receiver, wcslen(receiver) * 2 + 2, &dwWriteSize); @@ -45,5 +45,5 @@ BOOL SendCard(wchar_t* receiver, wchar_t* sharedwxid, wchar_t* nickname) { VirtualFreeEx(hProcess, sharedwxidaddr, 0, MEM_RELEASE); VirtualFreeEx(hProcess, nicknameaddr, 0, MEM_RELEASE); VirtualFreeEx(hProcess, paramAndFunc, 0, MEM_RELEASE); - return 1; + return 0; } \ No newline at end of file diff --git a/CWeChatRobot/SendFile.cpp b/CWeChatRobot/SendFile.cpp index e4c13d7..b8719e1 100644 --- a/CWeChatRobot/SendFile.cpp +++ b/CWeChatRobot/SendFile.cpp @@ -6,6 +6,8 @@ struct FileParamStruct { }; int SendFile(wchar_t* wxid, wchar_t* filepath) { + if (!hProcess) + return 1; DWORD WeChatRobotBase = GetWeChatRobotBase(); DWORD dwId = 0; DWORD dwWriteSize = 0; diff --git a/CWeChatRobot/SendImage.cpp b/CWeChatRobot/SendImage.cpp index 9a94d52..9a25f9b 100644 --- a/CWeChatRobot/SendImage.cpp +++ b/CWeChatRobot/SendImage.cpp @@ -6,6 +6,8 @@ struct ImageParamStruct { }; int SendImage(wchar_t* wxid, wchar_t* imagepath) { + if (!hProcess) + return 1; DWORD WeChatRobotBase = GetWeChatRobotBase(); DWORD dwId = 0; DWORD dwWriteSize = 0; diff --git a/CWeChatRobot/SendText.cpp b/CWeChatRobot/SendText.cpp index a9d5b3b..921871c 100644 --- a/CWeChatRobot/SendText.cpp +++ b/CWeChatRobot/SendText.cpp @@ -7,6 +7,8 @@ struct SendTextStruct }; int SendText(wchar_t* wxid, wchar_t* wxmsg) { + if (!hProcess) + return 1; DWORD WeChatRobotBase = GetWeChatRobotBase(); DWORD dwId = 0; DWORD dwWriteSize = 0; diff --git a/CWeChatRobot/UserInfo.cpp b/CWeChatRobot/UserInfo.cpp index 8cad05e..84e9d82 100644 --- a/CWeChatRobot/UserInfo.cpp +++ b/CWeChatRobot/UserInfo.cpp @@ -19,7 +19,7 @@ VOID DeleteUserInfoCache() { std::wstring GetWxUserInfo(wchar_t* wxid) { if (!hProcess) - return L""; + return L"{}"; wstring WString = L""; DWORD GetUserInfoProcAddr = GetWeChatRobotBase() + GetWxUserInfoOffset; LPVOID wxidaddr = VirtualAllocEx(hProcess, NULL, 1, MEM_COMMIT, PAGE_READWRITE); @@ -28,7 +28,7 @@ std::wstring GetWxUserInfo(wchar_t* wxid) { DWORD dwHandle = 0; GetUserInfoStruct userinfo = { 0 }; if (!wxidaddr) - return WString; + return L"{}"; WriteProcessMemory(hProcess, wxidaddr, wxid, wcslen(wxid) * 2 + 2, &dwWriteSize); HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)GetUserInfoProcAddr, wxidaddr, 0, &dwId); if (hThread) { diff --git a/CWeChatRobot/pch.cpp b/CWeChatRobot/pch.cpp index 7833bbe..da45a2d 100644 --- a/CWeChatRobot/pch.cpp +++ b/CWeChatRobot/pch.cpp @@ -127,9 +127,14 @@ DWORD StartRobotService(wchar_t* workPath) { MessageBoxA(NULL, "璇峰厛鍚姩鐩爣绋嬪簭", "鎻愮ず", MB_ICONWARNING); return 1; } - GetProcOffset(workPath); + hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, wxPid); bool status = Injert(wxPid, workPath); + if (status == 1) { + CloseHandle(hProcess); + return status; + } + GetProcOffset(workPath); return status; } diff --git a/DWeChatRobot/FriendList.cpp b/DWeChatRobot/FriendList.cpp index 18615ad..8d680b7 100644 --- a/DWeChatRobot/FriendList.cpp +++ b/DWeChatRobot/FriendList.cpp @@ -27,14 +27,14 @@ int GetFriendListInit() { return WxFriendList.size(); } -DWORD GetFriendListRemote(int index) { - if (WxFriendList.size() <= (unsigned int)index) +DWORD GetFriendListRemote() { + if (WxFriendList.size() == 0) return 0; #ifdef _DEBUG - printf("0x%08X\n", (DWORD)&WxFriendList[index]); - printf("0x%08X\n", (DWORD)&(WxFriendList[index].wxIdAddr)); + printf("0x%08X\n", (DWORD)&WxFriendList[0]); + printf("0x%08X\n", (DWORD)&(WxFriendList[0].wxIdAddr)); #endif - return (DWORD)&WxFriendList[index].wxIdAddr; + return (DWORD)&WxFriendList[0].wxIdAddr; } void GetFriendListFinish() { diff --git a/DWeChatRobot/FriendList.h b/DWeChatRobot/FriendList.h index 49cd8f4..5ab556d 100644 --- a/DWeChatRobot/FriendList.h +++ b/DWeChatRobot/FriendList.h @@ -1,6 +1,6 @@ #pragma once void __stdcall GetFriendList(); -extern "C" __declspec(dllexport) DWORD GetFriendListRemote(int index); +extern "C" __declspec(dllexport) DWORD GetFriendListRemote(); extern "C" __declspec(dllexport) int GetFriendListInit(); extern "C" __declspec(dllexport) void GetFriendListFinish(); \ No newline at end of file diff --git a/Release/CWeChatRobot.exe b/Release/CWeChatRobot.exe index 1973e02c1185622e376c5ab1c82f94b1eb5bc558..2ac25bd42b00d0db68bdf14cab3ac36444b819ce 100644 GIT binary patch delta 11669 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 U>*U_SM%lwlj8fb3&ZW=%2aZ3iZ~y=R delta 11469 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 U^cH%mOwieQNhNC4#XZX#hV^vQkj zYJ8bM#Z-P)08P=RYcsS@wW&slal-uBylnnq{^Dt{4p{fCDAvHfV&Aiq>T=2I$wQT{Yc%YZdJFdd(|)0uhrA)HT8G(o*JQvHCnY+tL@YdYgnJAuhlQ= zPNUff8UGlA%yiQ<$C*BJjk(@D-qY&?v%hDtr_PgWt+cjSXRV9YP3tb#EP)MRscb0A zU^3H~mt`{_o6M%M5;lj;XN%biwuY@^AG57&H#^LJWWTXa))iJJzXpI~JUXNpsX;m< zHAxSoDCmL%;8>`_8L$E_f-B$}*Z>d0R(J{Sl26EI z5WqT~fOBv@o`Q>UEw01w>yDjo+OX~B$W)!=F-VTB^Jpf zIsC~?;kR-wiBtM1Zly%oqC`>`O{O{Y1zJRB(Mr06?xqK66a9gnrsrs1)vczhBUJ!` J9g7ki{{o24B4z*p delta 1757 zcmYjQ3s6->7~XSv2q}0_;KHEkP1FF>vuAhDp7(-MK0>*QsFB`5;u2HZ5Qz9lFC#YL zV3Tx0voi5DJ$=;486C|Bj*}#%CDoXXnPW%=MrB5gMSBsOcIG?(?)QKHfA;@(x3*WP z?G+A)g0JToECB=K3h?*_3-Ket3{J>*$YTx^Rtra+y~3k{?ZkSv3rF3zJPU;A(er`W zdC3_RxjZx}9f0!M@VZC?;E_{pZEa70^4Cg$czD7l&JGRxuY~>jUH>70r*9boxU_$C zuIB3<#V-LdD{3MCp6rbbr}=LbHgxrS8+9izjN}1weHNxA4Cd;j%R8>_}pDQ^@Zs7XWcId z>z$1JDPz?cKn%C6hgY242*j5wfmo3UL@5b~{=0LhG2a{2&$@f_>*7bJM&EF^IWWYNP*?y!;XDAEIBs#IH2S=Wa|&_`@*e6r z@<#XdoOOd6b|!f8lAX@tQeW+Z08CsKT(K;D=~LnS5|8NN_71lKjCPkUKIKW}bblQx zx8Xy|<~F>&Y0mW0tk~KCZ@sgoG|P8lV0C6ddwxKBiQ5Ps)8Vw1rbXpW2jYC^htg5P z=T2-eEz0*W5Fd0hf}=d|Tsb!25PvA;kq?iD}39h-qA>GGqE&!XnoL6`?`~n`( zIZV!59PaaFHA96iCu;fl&^75tDFJ%n2sj32KnNGY66ld*WUo9&4#;Kl3VDsZOQy(1 ztI$sLF6uzt=oX5=K0F>kE!a#p#n{Hokm zhS4;7AI+c|ok9I{6|JRP=q|c1L|uBGenl_SziF~MR?Rg6MzQ&d*voAXr>>IX^9KyaTI@4+G)rMEtc`ui zuCVLu2K$}eW;{tYe;)igM@aWb3DP_%AXP}qr8QEM^t#k8eJv%yG#DBOO;`@s!;Nq= zJPW^q-@%_?FIR1EY!kXD0_6|G9jSWxx->8Q!26 zDKtzkZ3Z53?nJzUXo5Si9{6M zx5;E0BeTd{QpBH28NZXykdew5B}1uFT*XU$G>aC|Qu-8KN!QVh^f+y$7wFgYD(#}9 S)C?7=y6SeVO!PELG5-P!fi}$m diff --git a/wxRobot.py b/wxRobot.py index b1b4705..8795222 100644 --- a/wxRobot.py +++ b/wxRobot.py @@ -49,7 +49,10 @@ class WeChatRobot(): # 鏈塨ug寰呬慨澶嶏紝闇瑕佸垽鏂煇椤逛俊鎭槸鍚︽槸鎸囬拡锛屼慨澶嶅墠涓嶈浣跨敤 def GetSelfInfo(self): myinfo = self.robot.CGetSelfInfo().replace('\n','\\n') - myinfo = ast.literal_eval(myinfo) + try: + myinfo = ast.literal_eval(myinfo) + except SyntaxError: + return {} myinfo['wxBigAvatar'] = myinfo['wxBigAvatar'].replace("/132","/0") self.myinfo = myinfo return self.myinfo @@ -122,13 +125,14 @@ class WeChatRobot(): return ast.literal_eval(userinfo) def test(): - import os,sys + import os # DWeChatRobot.dll path - dllpath = os.path.join(sys.path[0],'Release') + path = os.path.split(os.path.realpath(__file__))[0] + dllpath = os.path.join(path,'Release') # image full path - imgpath = os.path.join(sys.path[0],'test\\娴嬭瘯鍥剧墖.png') + imgpath = os.path.join(path,'test\\娴嬭瘯鍥剧墖.png') # file full path - filepath = os.path.join(sys.path[0],'test\\娴嬭瘯鏂囦欢') + filepath = os.path.join(path,'test\\娴嬭瘯鏂囦欢') wx = WeChatRobot(dllpath) wx.StartService() myinfo = wx.GetSelfInfo() @@ -145,7 +149,6 @@ def test(): session.SendCard(shared.get('wxid'),shared.get('wxNickName')) wx.StopService() - if __name__ == '__main__': test() \ No newline at end of file -- GitLab