diff --git a/CWeChatRobot/SelfInfo.cpp b/CWeChatRobot/SelfInfo.cpp new file mode 100644 index 0000000000000000000000000000000000000000..87c75976d004af97709fac4340bdddbde7760f1b --- /dev/null +++ b/CWeChatRobot/SelfInfo.cpp @@ -0,0 +1,50 @@ +#include "pch.h" + +struct GetSelfInfoStruct { + DWORD message; + DWORD length; +}; + +VOID DeleteSelfInfoCache() { + if (!hProcess) + return; + DWORD dwId = 0; + DWORD DeleteSelfInfoCacheProcAddr = GetWeChatRobotBase() + DeleteSelfInfoCacheOffset; + HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)DeleteSelfInfoCacheProcAddr, NULL, 0, &dwId); + if (hThread) { + WaitForSingleObject(hThread, INFINITE); + CloseHandle(hThread); + } +} + +std::wstring GetSelfInfo() { + if (!hProcess) + return L""; + if (SelfInfoString.compare(L"")) { + return SelfInfoString; + } + DWORD GetSelfInfoProcAddr = GetWeChatRobotBase() + GetSelfInfoOffset; + DWORD dwWriteSize = 0; + DWORD dwId = 0; + DWORD dwHandle = 0; + GetSelfInfoStruct selfinfo = { 0 }; + HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)GetSelfInfoProcAddr, NULL, 0, &dwId); + if (hThread) { + WaitForSingleObject(hThread, INFINITE); + GetExitCodeThread(hThread, &dwHandle); + CloseHandle(hThread); + } + if (dwHandle) + ReadProcessMemory(hProcess, (LPCVOID)dwHandle, &selfinfo, sizeof(GetSelfInfoStruct), &dwWriteSize); + if (selfinfo.length) { + wchar_t* wmessage = new wchar_t[selfinfo.length + 1]; + ZeroMemory(wmessage, (selfinfo.length + 1) * 2); + ReadProcessMemory(hProcess, (LPCVOID)selfinfo.message, wmessage, selfinfo.length * 2, &dwWriteSize); + SelfInfoString += wmessage; + delete[] wmessage; + wmessage = NULL; + } + + DeleteSelfInfoCache(); + return SelfInfoString; +} \ No newline at end of file diff --git a/CWeChatRobot/SelfInfo.h b/CWeChatRobot/SelfInfo.h new file mode 100644 index 0000000000000000000000000000000000000000..01c9d1c8ea3b0814d36a5ea025b65e433fed4ddf --- /dev/null +++ b/CWeChatRobot/SelfInfo.h @@ -0,0 +1,5 @@ +#pragma once +#include +#include +using namespace std; +std::wstring GetSelfInfo(); \ No newline at end of file diff --git a/CWeChatRobot/UserInfo.cpp b/CWeChatRobot/UserInfo.cpp index a510e6d79fed467208ab01021e093429f98005dc..8cad05ec76233101fb7caf51262b9e609155334a 100644 --- a/CWeChatRobot/UserInfo.cpp +++ b/CWeChatRobot/UserInfo.cpp @@ -5,7 +5,21 @@ struct GetUserInfoStruct { DWORD length; }; +VOID DeleteUserInfoCache() { + if (!hProcess) + return; + DWORD dwId = 0; + DWORD DeleteUserInfoCacheProcAddr = GetWeChatRobotBase() + DeleteUserInfoCacheOffset; + HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)DeleteUserInfoCacheProcAddr, NULL, 0, &dwId); + if (hThread) { + WaitForSingleObject(hThread, INFINITE); + CloseHandle(hThread); + } +} + std::wstring GetWxUserInfo(wchar_t* wxid) { + if (!hProcess) + return L""; wstring WString = L""; DWORD GetUserInfoProcAddr = GetWeChatRobotBase() + GetWxUserInfoOffset; LPVOID wxidaddr = VirtualAllocEx(hProcess, NULL, 1, MEM_COMMIT, PAGE_READWRITE); @@ -35,5 +49,7 @@ std::wstring GetWxUserInfo(wchar_t* wxid) { } VirtualFreeEx(hProcess, wxidaddr, 0, MEM_RELEASE); + DeleteUserInfoCache(); return WString; -} \ No newline at end of file +} + diff --git a/CWeChatRobot/WeChatRobot.cpp b/CWeChatRobot/WeChatRobot.cpp index 9e52d753dfe6a35a75e133a6128a9b5d1cacfff5..efc2e0ea31f7ee8650c397c30ee2db22264b18a7 100644 --- a/CWeChatRobot/WeChatRobot.cpp +++ b/CWeChatRobot/WeChatRobot.cpp @@ -69,4 +69,13 @@ STDMETHODIMP CWeChatRobot::CGetWxUserInfo(BSTR wxid,BSTR* __result) { string smessage = _com_util::ConvertBSTRToString((BSTR)(GetWxUserInfo(wxid).c_str())); *__result = _com_util::ConvertStringToBSTR(smessage.c_str()); return S_OK; +} + +/* +* 参数1:预返回的值,调用时无需提供 +*/ +STDMETHODIMP CWeChatRobot::CGetSelfInfo(BSTR* __result) { + string smessage = _com_util::ConvertBSTRToString((BSTR)(GetSelfInfo().c_str())); + *__result = _com_util::ConvertStringToBSTR(smessage.c_str()); + return S_OK; } \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobot.h b/CWeChatRobot/WeChatRobot.h index d51c6602803325431569900bd704b3a6f63d4817..9d11cabac2b47a2358591f28d35e284e9fff410f 100644 --- a/CWeChatRobot/WeChatRobot.h +++ b/CWeChatRobot/WeChatRobot.h @@ -58,6 +58,7 @@ public: STDMETHODIMP CSendFile(BSTR wxid, BSTR filepath, int* __result); STDMETHODIMP CGetFriendList(BSTR* __result); STDMETHODIMP CGetWxUserInfo(BSTR wxid, BSTR* __result); + STDMETHODIMP CGetSelfInfo(BSTR* __result); }; OBJECT_ENTRY_AUTO(__uuidof(WeChatRobot), CWeChatRobot) diff --git a/CWeChatRobot/WeChatRobotCOM.idl b/CWeChatRobot/WeChatRobotCOM.idl index 7a5c6777f03ca43e3647805708b9162f73a88b09..eebcb447cdb7a2f4b6927c0b16e57961b4f2d884 100644 --- a/CWeChatRobot/WeChatRobotCOM.idl +++ b/CWeChatRobot/WeChatRobotCOM.idl @@ -23,6 +23,7 @@ interface IWeChatRobot : IDispatch [id(5)] HRESULT CSendFile([in] BSTR wxid, [in] BSTR filepath, [out, retval] int* __result); [id(6)] HRESULT CGetFriendList([out, retval] BSTR* __result); [id(7)] HRESULT CGetWxUserInfo([in] BSTR wxid, [out, retval] BSTR* __result); + [id(8)] HRESULT CGetSelfInfo([out, retval] BSTR* __result); }; [ uuid(721abb35-141a-4aa2-94f2-762e2833fa6c), diff --git a/CWeChatRobot/WeChatRobotCOM.vcxproj b/CWeChatRobot/WeChatRobotCOM.vcxproj index 06ff668ade1902be01b84be141c7d00cee43008e..ae0704205da4687154ccb934c2f4b7b464695691 100644 --- a/CWeChatRobot/WeChatRobotCOM.vcxproj +++ b/CWeChatRobot/WeChatRobotCOM.vcxproj @@ -217,6 +217,7 @@ + @@ -235,6 +236,7 @@ Create Create + diff --git a/CWeChatRobot/WeChatRobotCOM.vcxproj.filters b/CWeChatRobot/WeChatRobotCOM.vcxproj.filters index 50687b8608fa2156ae0868b80623212d9c6466e2..0aa07d8976d6df6457e830ce22b68d100fc038d9 100644 --- a/CWeChatRobot/WeChatRobotCOM.vcxproj.filters +++ b/CWeChatRobot/WeChatRobotCOM.vcxproj.filters @@ -41,6 +41,9 @@ {cdd9e8b4-4576-499c-b20e-60e05911f6d6} + + {82fef7e4-e819-4cb2-9087-40ae1f426e73} + @@ -85,6 +88,9 @@ 好友相关\好友信息 + + 个人信息 + @@ -120,6 +126,9 @@ 好友相关\好友信息 + + 个人信息 + diff --git a/CWeChatRobot/WeChatRobotCOM_i.h b/CWeChatRobot/WeChatRobotCOM_i.h index d327934ca8f7b96eea0a8aaee2b684a9705bbfaf..4dcb9cd52473fd917f182a7f1d83de7f4e6f6dcf 100644 --- a/CWeChatRobot/WeChatRobotCOM_i.h +++ b/CWeChatRobot/WeChatRobotCOM_i.h @@ -117,6 +117,9 @@ EXTERN_C const IID IID_IWeChatRobot; /* [in] */ BSTR wxid, /* [retval][out] */ BSTR *__result) = 0; + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetSelfInfo( + /* [retval][out] */ BSTR *__result) = 0; + }; @@ -211,6 +214,10 @@ EXTERN_C const IID IID_IWeChatRobot; /* [in] */ BSTR wxid, /* [retval][out] */ BSTR *__result); + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetSelfInfo )( + IWeChatRobot * This, + /* [retval][out] */ BSTR *__result); + END_INTERFACE } IWeChatRobotVtbl; @@ -268,6 +275,9 @@ EXTERN_C const IID IID_IWeChatRobot; #define IWeChatRobot_CGetWxUserInfo(This,wxid,__result) \ ( (This)->lpVtbl -> CGetWxUserInfo(This,wxid,__result) ) +#define IWeChatRobot_CGetSelfInfo(This,__result) \ + ( (This)->lpVtbl -> CGetSelfInfo(This,__result) ) + #endif /* COBJMACROS */ diff --git a/CWeChatRobot/WeChatRobotCOM_p.c b/CWeChatRobot/WeChatRobotCOM_p.c index 51fef3ff38a5b2e9e168434ac23bc327961ce2bf..9021cfe5b4dd552fd85b35bdeb769060db877d3c 100644 --- a/CWeChatRobot/WeChatRobotCOM_p.c +++ b/CWeChatRobot/WeChatRobotCOM_p.c @@ -49,7 +49,7 @@ #include "WeChatRobotCOM_i.h" #define TYPE_FORMAT_STRING_SIZE 71 -#define PROC_FORMAT_STRING_SIZE 301 +#define PROC_FORMAT_STRING_SIZE 337 #define EXPR_FORMAT_STRING_SIZE 1 #define TRANSMIT_AS_TABLE_SIZE 0 #define WIRE_MARSHAL_TABLE_SIZE 1 @@ -370,6 +370,36 @@ static const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFor /* 298 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ + /* Procedure CGetSelfInfo */ + +/* 300 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 302 */ NdrFcLong( 0x0 ), /* 0 */ +/* 306 */ NdrFcShort( 0xe ), /* 14 */ +/* 308 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 310 */ NdrFcShort( 0x0 ), /* 0 */ +/* 312 */ NdrFcShort( 0x8 ), /* 8 */ +/* 314 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 316 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 318 */ NdrFcShort( 0x1 ), /* 1 */ +/* 320 */ NdrFcShort( 0x0 ), /* 0 */ +/* 322 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 324 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 326 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 328 */ NdrFcShort( 0x3c ), /* Type Offset=60 */ + + /* Return value */ + +/* 330 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 332 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 334 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + 0x0 } }; @@ -470,7 +500,8 @@ static const unsigned short IWeChatRobot_FormatStringOffsetTable[] = 126, 174, 222, - 258 + 258, + 300 }; static const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo = @@ -494,7 +525,7 @@ static const MIDL_SERVER_INFO IWeChatRobot_ServerInfo = 0, 0, 0}; -CINTERFACE_PROXY_VTABLE(14) _IWeChatRobotProxyVtbl = +CINTERFACE_PROXY_VTABLE(15) _IWeChatRobotProxyVtbl = { &IWeChatRobot_ProxyInfo, &IID_IWeChatRobot, @@ -511,7 +542,8 @@ CINTERFACE_PROXY_VTABLE(14) _IWeChatRobotProxyVtbl = (void *) (INT_PTR) -1 /* IWeChatRobot::CSendImage */ , (void *) (INT_PTR) -1 /* IWeChatRobot::CSendFile */ , (void *) (INT_PTR) -1 /* IWeChatRobot::CGetFriendList */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetWxUserInfo */ + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetWxUserInfo */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetSelfInfo */ }; @@ -527,6 +559,7 @@ static const PRPC_STUB_FUNCTION IWeChatRobot_table[] = NdrStubCall2, NdrStubCall2, NdrStubCall2, + NdrStubCall2, NdrStubCall2 }; @@ -534,7 +567,7 @@ CInterfaceStubVtbl _IWeChatRobotStubVtbl = { &IID_IWeChatRobot, &IWeChatRobot_ServerInfo, - 14, + 15, &IWeChatRobot_table[-3], CStdStubBuffer_DELEGATING_METHODS }; diff --git a/CWeChatRobot/pch.cpp b/CWeChatRobot/pch.cpp index 2f7e4379164167b5e9ba7bc2040e8fdfa74935ba..c9ec7259604082f9405040e4c9bd3d17cefcf1db 100644 --- a/CWeChatRobot/pch.cpp +++ b/CWeChatRobot/pch.cpp @@ -6,10 +6,17 @@ DWORD SendImageOffset = 0x0; DWORD SendTextOffset = 0x0; DWORD SendFileOffset = 0x0; + DWORD GetFriendListInitOffset = 0x0; DWORD GetFriendListRemoteOffset = 0x0; DWORD GetFriendListFinishOffset = 0x0; + DWORD GetWxUserInfoOffset = 0x0; +DWORD DeleteUserInfoCacheOffset = 0x0; + +DWORD GetSelfInfoOffset = 0x0; +DWORD DeleteSelfInfoCacheOffset = 0x0; +wstring SelfInfoString = L""; HANDLE hProcess = NULL; @@ -77,15 +84,20 @@ void GetProcOffset(wchar_t* workPath) { DWORD GetFriendListInitProcAddr = (DWORD)GetProcAddress(hd, GetFriendListInit); GetFriendListInitOffset = GetFriendListInitProcAddr - WeChatBase; - DWORD GetFriendListRemoteProcAddr = (DWORD)GetProcAddress(hd, GetFriendListRemote); GetFriendListRemoteOffset = GetFriendListRemoteProcAddr - WeChatBase; - DWORD GetFriendListFinishProcAddr = (DWORD)GetProcAddress(hd, GetFriendListFinish); GetFriendListFinishOffset = GetFriendListFinishProcAddr - WeChatBase; DWORD GetWxUserInfoProcAddr = (DWORD)GetProcAddress(hd, GetWxUserInfoRemote); GetWxUserInfoOffset = GetWxUserInfoProcAddr - WeChatBase; + DWORD DeleteUserInfoCacheProcAddr = (DWORD)GetProcAddress(hd, DeleteUserInfoCacheRemote); + DeleteUserInfoCacheOffset = DeleteUserInfoCacheProcAddr - WeChatBase; + + DWORD GetSelfInfoProcAddr = (DWORD)GetProcAddress(hd, GetSelfInfoRemote); + GetSelfInfoOffset = GetSelfInfoProcAddr - WeChatBase; + DWORD DeleteSelfInfoCacheProcAddr = (DWORD)GetProcAddress(hd, DeleteSelfInfoCacheRemote); + DeleteSelfInfoCacheOffset = DeleteSelfInfoCacheProcAddr - WeChatBase; FreeLibrary(hd); delete[] dllpath; @@ -120,6 +132,7 @@ DWORD StopRobotService() { return 1; DWORD wxPid = GetWeChatPid(); RemoveDll(wxPid); + ZeroMemory((wchar_t*)SelfInfoString.c_str(), SelfInfoString.length() * 2 + 2); CloseHandle(hProcess); return 0; } \ No newline at end of file diff --git a/CWeChatRobot/robotdata.h b/CWeChatRobot/robotdata.h index 3cd8b3d26b716bd6397d0bf84513b260b0b7f3e1..c0e59934442aed11038d232a85459e4a3eafdeec 100644 --- a/CWeChatRobot/robotdata.h +++ b/CWeChatRobot/robotdata.h @@ -5,6 +5,7 @@ #include "SendFile.h" #include "FriendList.h" #include "UserInfo.h" +#include "SelfInfo.h" extern HANDLE hProcess; extern DWORD SendImageOffset; @@ -16,6 +17,11 @@ extern DWORD GetFriendListRemoteOffset; extern DWORD GetFriendListFinishOffset; extern DWORD GetWxUserInfoOffset; +extern DWORD DeleteUserInfoCacheOffset; + +extern DWORD GetSelfInfoOffset; +extern DWORD DeleteSelfInfoCacheOffset; +extern wstring SelfInfoString; #define dllname L"DWeChatRobot.dll" @@ -27,4 +33,8 @@ extern DWORD GetWxUserInfoOffset; #define GetFriendListRemote "GetFriendListRemote" #define GetFriendListFinish "GetFriendListFinish" -#define GetWxUserInfoRemote "GetWxUserInfoRemote" \ No newline at end of file +#define GetWxUserInfoRemote "GetWxUserInfoRemote" +#define DeleteUserInfoCacheRemote "DeleteUserInfoCacheRemote" + +#define GetSelfInfoRemote "GetSelfInfoRemote" +#define DeleteSelfInfoCacheRemote "DeleteSelfInfoCacheRemote" \ No newline at end of file diff --git a/DWeChatRobot/DWeChatRobot.vcxproj b/DWeChatRobot/DWeChatRobot.vcxproj index 96b67a2f8488118dae2567cefb95048267b5ee4d..3dcbff817d1ece9e463f0a906127cd903fe7ed17 100644 --- a/DWeChatRobot/DWeChatRobot.vcxproj +++ b/DWeChatRobot/DWeChatRobot.vcxproj @@ -156,6 +156,8 @@ + + @@ -171,6 +173,8 @@ Create + + diff --git a/DWeChatRobot/DWeChatRobot.vcxproj.filters b/DWeChatRobot/DWeChatRobot.vcxproj.filters index c4cb5380d98bcb116f29fb4f58c337d7295f09eb..db060d2d5945fc0191336896a9d29e4913f00e2b 100644 --- a/DWeChatRobot/DWeChatRobot.vcxproj.filters +++ b/DWeChatRobot/DWeChatRobot.vcxproj.filters @@ -40,6 +40,12 @@ {564cc9ef-a939-4bfd-a420-a08b3072d198} + + {722c02ee-dda5-4a6a-9443-f1ed3c112709} + + + {edd6e39f-235b-4db5-aea1-ec2c8d0072c5} + @@ -66,6 +72,12 @@ 好友相关\好友信息 + + 个人信息 + + + 发送消息\发送文章 + @@ -95,5 +107,11 @@ 好友相关\好友信息 + + 个人信息 + + + 发送消息\发送文章 + \ No newline at end of file diff --git a/DWeChatRobot/SelfInfo.cpp b/DWeChatRobot/SelfInfo.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1e10596deecad2eaaff34fafcd3c10610db6a411 --- /dev/null +++ b/DWeChatRobot/SelfInfo.cpp @@ -0,0 +1,70 @@ +#include "pch.h" +#include + +wstring selfinfo = L""; + +struct SelfInfoStruct { + DWORD message; + DWORD length; +} ret; + +DWORD GetSelfInfoRemote() { + DWORD WeChatWinBase = GetWeChatWinBase(); + vector SelfInfoAddr = { + *(DWORD*)(WeChatWinBase + 0x21DC9C4), + WeChatWinBase + 0x21DCBB8, + *(DWORD*)(WeChatWinBase + 0x21DCA3C), + *(DWORD*)(WeChatWinBase + 0x21DCB74), + *(DWORD*)(WeChatWinBase + 0x21DCD34), + *(DWORD*)(WeChatWinBase + 0x21DCD1C), + WeChatWinBase + 0x21DCC30, + WeChatWinBase + 0x21DCB44, + WeChatWinBase + 0x21DCB5C, + WeChatWinBase + 0x21DCA70 + }; + + vector SelfInfoKey = { + L"\"wxId\"", + L"\"wxNumber\"", + L"\"wxNickName\"", + L"\"wxSignature\"", + L"\"wxBigAvatar\"", + L"\"wxSmallAvatar\"", + L"\"wxNation\"", + L"\"wxProvince\"", + L"\"wxCity\"", + L"\"PhoneNumber\"" + }; + + selfinfo = selfinfo + L"{"; + for (unsigned int i = 0; i < SelfInfoAddr.size(); i++) { + selfinfo = selfinfo + SelfInfoKey[i] + L":"; + selfinfo = selfinfo + L"\""; + char* temp = (*((DWORD*)SelfInfoAddr[i]) != 0) ? (char*)SelfInfoAddr[i] : (char*)"null"; + wchar_t* wtemp = new wchar_t[strlen(temp) + 1]; + MultiByteToWideChar(CP_UTF8, MB_COMPOSITE, temp, -1, wtemp, strlen(temp) + 1); + selfinfo = selfinfo + wtemp; + selfinfo = selfinfo + L"\""; + if(i!= SelfInfoAddr.size() - 1) + selfinfo = selfinfo + L","; + delete[] wtemp; + wtemp = NULL; + } + selfinfo = selfinfo + L"}"; + ret.message = (DWORD)selfinfo.c_str(); + ret.length = selfinfo.length(); +#ifdef _DEBUG + wcout.imbue(locale("chs")); + wcout << selfinfo << endl; + DeleteSelfInfoCacheRemote(); +#endif + return (DWORD)&ret; +} + +VOID DeleteSelfInfoCacheRemote() { + if (ret.length) { + ZeroMemory((wchar_t*)ret.message, ret.length*2 + 2); + ret.length = 0; + selfinfo = L""; + } +} \ No newline at end of file diff --git a/DWeChatRobot/SelfInfo.h b/DWeChatRobot/SelfInfo.h new file mode 100644 index 0000000000000000000000000000000000000000..910ba8ebbd484c653e8001e73ab9f3a1b0e03971 --- /dev/null +++ b/DWeChatRobot/SelfInfo.h @@ -0,0 +1,6 @@ +#pragma once +#include +#include +using namespace std; +extern "C" __declspec(dllexport) DWORD GetSelfInfoRemote(); +extern "C" __declspec(dllexport) VOID DeleteSelfInfoCacheRemote(); \ No newline at end of file diff --git a/DWeChatRobot/SendArticle.cpp b/DWeChatRobot/SendArticle.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4da9cb2020449d5eb98e6c8bc21fe2b886073d58 --- /dev/null +++ b/DWeChatRobot/SendArticle.cpp @@ -0,0 +1,91 @@ +#include "pch.h" + +struct SendArticleStruct { + DWORD title; + DWORD abstract; + DWORD wxid; + DWORD url; +}; + +struct WxSendXmlStruct +{ + wchar_t* buffer; + DWORD length; + DWORD maxLength; + DWORD fill1; + DWORD fill2; + char nullbuffer[0x3C] = { 0 }; + + WxSendXmlStruct(wchar_t* pStr) { + buffer = pStr; + length = wcslen(pStr); + maxLength = wcslen(pStr) * 2; + fill1 = 0x0; + fill2 = 0x0; + } +}; + +struct WxSenderStruct +{ + wchar_t* buffer; + DWORD length; + DWORD maxLength; + DWORD fill1; + DWORD fill2; + char nullbuffer[0x64] = { 0 }; + + WxSenderStruct(wchar_t* pStr) { + buffer = pStr; + length = wcslen(pStr); + maxLength = wcslen(pStr) * 2; + fill1 = 0x0; + fill2 = 0x0; + } +}; + +BOOL SendArticle(wchar_t* wxid,wchar_t* title, wchar_t* abstract, wchar_t* url) { + DWORD WeChatWinBase = GetWeChatWinBase(); + DWORD SendArticleCall = WeChatWinBase + 0x03297840 - 0x02F20000; + char* sselfwxid = (char*)(*(DWORD*)(WeChatWinBase + 0x21DC9C4)); + wchar_t* wselfwxid = new wchar_t[strlen(sselfwxid) + 1]; + MultiByteToWideChar(CP_ACP, MB_COMPOSITE, sselfwxid, -1, wselfwxid, strlen(sselfwxid) + 1); + + wchar_t* xmlbuffer = new wchar_t[0x2000]; + ZeroMemory(xmlbuffer, 0x2000 * 2); + swprintf_s(xmlbuffer,0x2000, (wchar_t*)L"\n %ws\n 0\n \n \n %ws\n %ws\n view\n 5\n 0\n \n %ws\n \n \n \n \n \n \n \n \n \n \n \n \n \n 0\n \n \n \n \n \n \n \n \n \n 0\n \n \n \n \n 1\n Window wechat\n \n", + wselfwxid,title,abstract,url); + DWORD sendtype = 0x5; + WxSenderStruct pSender(wselfwxid); + char nullbuffer[0x1C] = { 0 }; + char imgbuffer[0x3C] = { 0 }; + WxSendXmlStruct pXml(xmlbuffer); + WxSenderStruct pReceiver(wxid); + char buffer[0xF70] = { 0 }; + DWORD isSuccess = 0x0; + __asm { + pushad; + pushfd; + mov eax, [sendtype]; + push eax; + lea eax, nullbuffer; + lea edx, pSender; + push eax; + lea eax, imgbuffer; + push eax; + lea eax, pXml; + push eax; + lea edi, pReceiver; + push edi; + lea ecx, buffer; + call SendArticleCall; + add esp, 0x14; + mov isSuccess, eax; + popfd; + popad; + } + delete[] xmlbuffer; + xmlbuffer = NULL; + delete[] wselfwxid; + wselfwxid = NULL; + return isSuccess; +} \ No newline at end of file diff --git a/DWeChatRobot/SendArticle.h b/DWeChatRobot/SendArticle.h new file mode 100644 index 0000000000000000000000000000000000000000..30ef9490e6d5d0f0aac9b1df4d84be0a7c969522 --- /dev/null +++ b/DWeChatRobot/SendArticle.h @@ -0,0 +1,3 @@ +#pragma once +#include +BOOL SendArticle(wchar_t* wxid, wchar_t* title, wchar_t* abstract, wchar_t* url); \ No newline at end of file diff --git a/DWeChatRobot/UserInfo.cpp b/DWeChatRobot/UserInfo.cpp index 8d6adf2e987840911e21225175a55ae583d43ae7..525053e651fe7bf2d2e3242620ac9a5fb885158a 100644 --- a/DWeChatRobot/UserInfo.cpp +++ b/DWeChatRobot/UserInfo.cpp @@ -3,9 +3,12 @@ #include #include -#define GetUserInfoCall1Offset 0x645BD9A0 - 0x64530000 -#define GetUserInfoCall2Offset 0x64C08420 - 0x64530000 -#define GetUserInfoCall3Offset 0x64914260 - 0x64530000 +#define GetUserInfoCall1Offset 0x5F917490 - 0x5F230000 +#define GetUserInfoCall2Offset 0x5F2BD9A0 - 0x5F230000 +#define GetUserInfoCall3Offset 0x5F619F70 - 0x5F230000 + +#define DeleteCacheCall1Offset 0x56C349A0 - 0x56B80000 +#define DeleteCacheCall2Offset 0x56D983B0 - 0x56B80000 struct GetUserInfoStruct { DWORD message; @@ -15,19 +18,19 @@ struct GetUserInfoStruct { wstring wUserInfo = L""; GetUserInfoStruct ret = { 0 }; -struct GetDetailUserInfoStruct { +struct GetDetailUserInfoParamStruct { WxString* pWxString; DWORD ptr1 = 0; DWORD ptr2 = 0; char fill[0x18] = { 0 }; - GetDetailUserInfoStruct(WxString* pWxString) { + GetDetailUserInfoParamStruct(WxString* pWxString) { this->pWxString = pWxString; ptr1 = DWORD(pWxString) + sizeof(WxString); ptr2 = DWORD(pWxString) + sizeof(WxString); } }; -struct UserInfoBaseStruct { +struct UserInfoBaseParamStruct { DWORD data; DWORD endbuffer1; DWORD endbuffer2; @@ -82,7 +85,7 @@ DWORD GetWxUserInfoRemote(LPVOID lparamter) { wchar_t* userwxid = (wchar_t*)lparamter; DWORD address = 0; - if (!GetUserDetailInfoByWxId(userwxid, address)) { + if (!GetUserInfoByWxId(userwxid, address)) { return 0; } ret.message = (DWORD)wUserInfo.c_str(); @@ -90,29 +93,36 @@ DWORD GetWxUserInfoRemote(LPVOID lparamter) { return (DWORD)&ret; } +VOID DeleteUserInfoCacheRemote() { + if (ret.length) { + ZeroMemory((wchar_t*)ret.message, ret.length * 2 + 2); + ret.length = 0; + wUserInfo = L""; + } +} -BOOL GetUserDetailInfoByWxId(wchar_t* wxid,DWORD &address) { +BOOL GetUserInfoByWxId(wchar_t* wxid,DWORD &address) { DWORD WeChatWinBase = GetWeChatWinBase(); - DWORD GetUserDetailInfoCall1 = WeChatWinBase + 0x5F917490 - 0x5F230000; - DWORD GetUserDetailInfoCall2 = WeChatWinBase + 0x5F2BD9A0 - 0x5F230000; - DWORD GetUserDetailInfoCall3 = WeChatWinBase + 0x5F619F70 - 0x5F230000; + DWORD GetUserDetailInfoCall1 = WeChatWinBase + GetUserInfoCall1Offset; + DWORD GetUserDetailInfoCall2 = WeChatWinBase + GetUserInfoCall2Offset; + DWORD GetUserDetailInfoCall3 = WeChatWinBase + GetUserInfoCall3Offset; - DWORD DeleteCacheCall1 = WeChatWinBase + 0x56C349A0 - 0x56B80000; - DWORD DeleteCacheCall2 = WeChatWinBase + 0x56D983B0 - 0x56B80000; + DWORD DeleteCacheCall1 = WeChatWinBase + DeleteCacheCall1Offset; + DWORD DeleteCacheCall2 = WeChatWinBase + DeleteCacheCall2Offset; WxString* pWxid = new WxString; pWxid->buffer = wxid; pWxid->length = wcslen(wxid); pWxid->maxLength = wcslen(wxid) * 2; - UserInfoBaseStruct temp = { 0 }; - UserInfoBaseStruct userinfo = { 0 }; - GetDetailUserInfoStruct pUser(pWxid); + UserInfoBaseParamStruct temp = { 0 }; + UserInfoBaseParamStruct userinfo = { 0 }; + GetDetailUserInfoParamStruct pUser(pWxid); DWORD isSuccess = 0; __asm { pushad; pushfd; - mov eax, 0x7; + // mov eax, 0x7; lea ecx, pUser; lea edx, temp; call GetUserDetailInfoCall1; @@ -130,6 +140,7 @@ BOOL GetUserDetailInfoByWxId(wchar_t* wxid,DWORD &address) { address = userinfo.data; if(isSuccess != 0) WxUserInfo(address); + // ͷڴ __asm { pushad; pushfd; @@ -145,11 +156,12 @@ BOOL GetUserDetailInfoByWxId(wchar_t* wxid,DWORD &address) { return (isSuccess != 0); } -BOOL GetWxUserInfoByWxid(wchar_t* wxid, DWORD& address) { +// һѯϢĵط +BOOL GetWxUserInfoByWxid2(wchar_t* wxid, DWORD& address) { DWORD WeChatWinBase = GetWeChatWinBase(); - DWORD WxUserDataCall1 = WeChatWinBase + GetUserInfoCall1Offset; - DWORD WxUserDataCall2 = WeChatWinBase + GetUserInfoCall2Offset; - DWORD WxUserDataCall3 = WeChatWinBase + GetUserInfoCall3Offset; + DWORD WxUserDataCall1 = WeChatWinBase + 0x645BD9A0 - 0x64530000; + DWORD WxUserDataCall2 = WeChatWinBase + 0x64C08420 - 0x64530000; + DWORD WxUserDataCall3 = WeChatWinBase + 0x64914260 - 0x64530000; char buffer[0xF90] = { 0 }; WxBaseStruct pWxid(wxid); DWORD r_ebx = 0; diff --git a/DWeChatRobot/UserInfo.h b/DWeChatRobot/UserInfo.h index 098b46d085778b19f9220d38ea09a898321cf213..cbb6a5cc700108628b1b92f5fa909c4f543595fd 100644 --- a/DWeChatRobot/UserInfo.h +++ b/DWeChatRobot/UserInfo.h @@ -1,5 +1,6 @@ #pragma once #include -BOOL GetWxUserInfoByWxid(wchar_t* wxid, DWORD& address); -BOOL GetUserDetailInfoByWxId(wchar_t* wxid, DWORD& address); -extern "C" __declspec(dllexport) DWORD GetWxUserInfoRemote(LPVOID lparamter); \ No newline at end of file +BOOL GetWxUserInfoByWxid2(wchar_t* wxid, DWORD& address); +BOOL GetUserInfoByWxId(wchar_t* wxid, DWORD& address); +extern "C" __declspec(dllexport) DWORD GetWxUserInfoRemote(LPVOID lparamter); +extern "C" __declspec(dllexport) VOID DeleteUserInfoCacheRemote(); \ No newline at end of file diff --git a/DWeChatRobot/dllmain.cpp b/DWeChatRobot/dllmain.cpp index db25ebb2866cb479d0c3d0fdc2111d2d21e75b68..33580e46222e819ac20ac3b44f6737140469c8e6 100644 --- a/DWeChatRobot/dllmain.cpp +++ b/DWeChatRobot/dllmain.cpp @@ -23,12 +23,10 @@ BOOL APIENTRY DllMain( HMODULE hModule, printf("SendFile 0x%08X\n", (DWORD)SendFile); printf("GetFriendList 0x%08X\n", (DWORD)GetFriendList); printf("HookExtractExpression 0x%08X\n", (DWORD)HookExtractExpression); - printf("GetWxUserInfoByWxid 0x%08X\n", (DWORD)GetWxUserInfoByWxid); - printf("GetUserDetailInfoByWxId 0x%08X\n", (DWORD)GetUserDetailInfoByWxId); - printf("GetWxUserInfoRemote 0x%08X\n", (DWORD)GetWxUserInfoRemote); + printf("GetUserInfoByWxId 0x%08X\n", (DWORD)GetUserInfoByWxId); + printf("SendArticle 0x%08X\n", (DWORD)SendArticle); system("pause"); - wchar_t* wxid = (wchar_t*)L"wxid_ltedgfwcw7yu22"; - GetWxUserInfoRemote(wxid); + SendArticle((WCHAR*)L"filehelper",(WCHAR*)L"这是标题",(WCHAR*)L"这是摘要",(WCHAR*)L"https://www.ljczero.top/article/2022/3/13/133.html"); #endif break; } diff --git a/DWeChatRobot/pch.h b/DWeChatRobot/pch.h index 11a18109eb1686c897c1db468228e946cbf228f8..c316760fb968994e05418f3370c50c556ff6337f 100644 --- a/DWeChatRobot/pch.h +++ b/DWeChatRobot/pch.h @@ -14,9 +14,11 @@ #include "SendImage.h" #include "SendText.h" #include "SendFile.h" +#include "SendArticle.h" #include "FriendList.h" #include "SaveGif.h" #include "UserInfo.h" +#include "SelfInfo.h" #endif //PCH_H using namespace std; diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.Build.CppClean.log b/DWeChatRobot/x64/Debug/DWeChatRobot.Build.CppClean.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.log b/DWeChatRobot/x64/Debug/DWeChatRobot.log new file mode 100644 index 0000000000000000000000000000000000000000..ad77ce6952b8c6ab6c5188642dc334936356dda0 --- /dev/null +++ b/DWeChatRobot/x64/Debug/DWeChatRobot.log @@ -0,0 +1,597 @@ + pch.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\pch.h(35,1): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.h(36,1): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(20,52): warning C4311: “类型强制转换”: 从“HMODULE”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(20,52): warning C4302: “类型强制转换”: 从“HMODULE”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(41,48): warning C4311: “类型强制转换”: 从“LPVOID”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(41,48): warning C4302: “类型强制转换”: 从“LPVOID”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(47,38): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(48,62): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(51,29): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“void *” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(54,38): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(60,38): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(61,63): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\pch.cpp(62,38): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID” + dllmain.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(19,65): warning C4311: “类型强制转换”: 从“HMODULE”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(19,65): warning C4302: “类型强制转换”: 从“HMODULE”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(21,54): warning C4311: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(21,54): warning C4302: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(22,52): warning C4311: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(22,52): warning C4302: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(23,52): warning C4311: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(23,52): warning C4302: “类型强制转换”: 从“void (__cdecl *)(wchar_t *,wchar_t *)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(24,62): warning C4311: “类型强制转换”: 从“void (__cdecl *)(void)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(24,62): warning C4302: “类型强制转换”: 从“void (__cdecl *)(void)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(25,78): warning C4311: “类型强制转换”: 从“void (__cdecl *)(void)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(25,78): warning C4302: “类型强制转换”: 从“void (__cdecl *)(void)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(26,74): warning C4311: “类型强制转换”: 从“BOOL (__cdecl *)(wchar_t *,DWORD &)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(26,74): warning C4302: “类型强制转换”: 从“BOOL (__cdecl *)(wchar_t *,DWORD &)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(27,82): warning C4311: “类型强制转换”: 从“BOOL (__cdecl *)(wchar_t *,DWORD &)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(27,82): warning C4302: “类型强制转换”: 从“BOOL (__cdecl *)(wchar_t *,DWORD &)”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(28,74): warning C4311: “类型强制转换”: 从“DWORD (__cdecl *)(LPVOID)”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\dllmain.cpp(28,74): warning C4302: “类型强制转换”: 从“DWORD (__cdecl *)(LPVOID)”到“DWORD”截断 + FriendList.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(27,28): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(34,48): warning C4311: “类型强制转换”: 从“_Ty *”到“DWORD”的指针截断 + with + [ + _Ty=WxFriendStructW + ] +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(34,48): warning C4302: “类型强制转换”: 从“_Ty *”到“DWORD”截断 + with + [ + _Ty=WxFriendStructW + ] +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(35,59): warning C4311: “类型强制转换”: 从“DWORD *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(35,59): warning C4302: “类型强制转换”: 从“DWORD *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(37,45): warning C4311: “类型强制转换”: 从“DWORD *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(37,45): warning C4302: “类型强制转换”: 从“DWORD *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(52,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(53,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(54,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(55,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(56,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(57,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(58,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(58,7): error C2146: 语法错误: 缺少“;”(在标识符“LeftTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(58,21): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(59,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(59,7): error C2146: 语法错误: 缺少“;”(在标识符“LeftTreeHead”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(59,21): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(60,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(61,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(61,7): error C2146: 语法错误: 缺少“;”(在标识符“RightTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(61,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(62,3): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(71,3): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(72,4): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(73,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(74,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(74,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(74,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(74,13): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(75,4): error C2065: “add”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(75,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(75,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(76,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(76,8): error C2146: 语法错误: 缺少“;”(在标识符“wxIdAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(76,18): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(77,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(77,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(77,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(77,13): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(78,4): error C2065: “add”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(78,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(78,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(79,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(79,8): error C2146: 语法错误: 缺少“;”(在标识符“wxNumberAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(79,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(80,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(80,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(80,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(80,13): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(81,4): error C2065: “add”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(81,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(81,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(82,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(82,8): error C2146: 语法错误: 缺少“;”(在标识符“wxNickNameAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(82,24): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(83,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(83,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(83,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(83,13): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(84,4): error C2065: “add”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(84,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(84,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(85,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(85,8): error C2146: 语法错误: 缺少“;”(在标识符“wxRemarkAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(85,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(86,24): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(87,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(87,8): error C2146: 语法错误: 缺少“;”(在标识符“LeftTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\FriendList.cpp(87,20): fatal error C1003: 错误计数超过 100;正在停止编译 + SaveGif.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(27,18): error C2485: “naked”: 无法识别的扩展特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(29,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(31,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(32,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(32,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(32,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(33,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(33,8): error C2146: 语法错误: 缺少“;”(在标识符“OutputExpression”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(33,8): warning C4551: 缺少参数列表的函数调用 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(34,3): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(35,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(35,8): error C2146: 语法错误: 缺少“;”(在标识符“NextCallAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(37,3): error C2065: “jmp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(37,7): error C2146: 语法错误: 缺少“;”(在标识符“dwReternAddress”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(58,22): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(92,36): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPCVOID” +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(100,55): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“DWORD *” +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(102,46): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“DWORD *” +D:\C++\ComWeChatRobot\DWeChatRobot\SaveGif.cpp(108,35): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“void *” + SendFile.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(23,1): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(24,1): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(30,31): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(30,57): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(49,45): warning C4311: “类型强制转换”: 从“wchar_t *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(49,45): warning C4302: “类型强制转换”: 从“wchar_t *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(53,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(54,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(55,3): error C2065: “pushfd”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(56,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(56,7): error C2146: 语法错误: 缺少“;”(在标识符“esi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(56,7): error C2065: “esi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(57,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(57,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(58,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(58,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(59,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(59,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(60,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(60,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(61,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(61,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(62,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(62,8): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(63,3): error C2065: “sub”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(63,7): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(63,7): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(64,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(64,7): error C2146: 语法错误: 缺少“;”(在标识符“edi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(64,7): error C2065: “edi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(64,12): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,17): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,23): error C2337: “edi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(65,28): error C2059: 语法错误:“,” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,17): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,23): error C2337: “edi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,27): error C2143: 语法错误: 缺少“]”(在“+”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(66,27): error C2059: 语法错误:“+” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,17): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,23): error C2337: “edi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,27): error C2143: 语法错误: 缺少“]”(在“+”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(67,27): error C2059: 语法错误:“+” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,17): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,23): error C2337: “edi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,27): error C2143: 语法错误: 缺少“]”(在“+”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(68,27): error C2059: 语法错误:“+” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,17): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,23): error C2337: “edi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,27): error C2143: 语法错误: 缺少“]”(在“+”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(69,27): error C2059: 语法错误:“+” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(71,3): error C2065: “sub”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(71,7): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(71,7): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,22): error C2146: 语法错误: 缺少“;”(在标识符“ds”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,28): error C2337: “esi”: 未找到特性 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,32): error C2143: 语法错误: 缺少“]”(在“+”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(72,32): error C2059: 语法错误:“+” +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(73,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(73,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(73,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(73,12): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(74,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(74,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(74,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(75,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(75,8): error C2146: 语法错误: 缺少“;”(在标识符“WxSendFileCall1”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(77,3): error C2065: “sub”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(77,7): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(77,7): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(78,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(78,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(78,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(78,12): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(79,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(79,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(79,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(79,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendFile.cpp(79,17): fatal error C1003: 错误计数超过 100;正在停止编译 + SendImage.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(40,32): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(40,59): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(52,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(53,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(54,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(54,8): error C2146: 语法错误: 缺少“;”(在标识符“WxSendImageCall1”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(55,3): error C2065: “sub”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(55,7): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(55,7): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,7): error C2146: 语法错误: 缺少“;”(在标识符“dword”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,7): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,13): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,13): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,17): error C2065: “ebp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(56,30): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(57,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(57,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(57,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(57,12): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(58,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(58,7): error C2146: 语法错误: 缺少“;”(在标识符“edi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(58,7): error C2065: “edi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(59,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(59,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(59,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(60,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(60,8): error C2146: 语法错误: 缺少“;”(在标识符“WxSendImageCall2”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(61,22): error C2065: “ebp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(62,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(62,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(62,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(63,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(63,8): error C2146: 语法错误: 缺少“;”(在标识符“edi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(63,8): error C2065: “edi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(64,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(64,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(64,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(65,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(65,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(65,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(66,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(66,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(66,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(67,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(67,8): error C2146: 语法错误: 缺少“;”(在标识符“WxSendImageCall3”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendImage.cpp(68,3): error C2065: “popad”: 未声明的标识符 + SendText.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(26,39): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(27,43): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“WCHAR *” +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(41,5): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(42,9): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(42,13): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(42,13): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(43,9): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(43,14): error C2143: 语法错误: 缺少“;”(在“常数”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(44,9): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(44,14): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(44,14): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(45,9): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(45,13): error C2146: 语法错误: 缺少“;”(在标识符“edi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(45,13): error C2065: “edi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(46,9): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(46,14): error C2146: 语法错误: 缺少“;”(在标识符“edi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(46,14): error C2065: “edi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(47,9): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(47,13): error C2146: 语法错误: 缺少“;”(在标识符“edx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(47,13): error C2065: “edx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(48,9): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(48,13): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(48,13): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(49,9): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(49,14): error C2146: 语法错误: 缺少“;”(在标识符“callAddress”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(50,9): error C2065: “add”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(50,13): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\SendText.cpp(50,13): error C2065: “esp”: 未声明的标识符 + showFriendList.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(15,1): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID *” +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(17,1): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID *” +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(21,1): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID *” +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(25,1): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID *” +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(39,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(40,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(41,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(42,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(43,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(44,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(45,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(45,7): error C2146: 语法错误: 缺少“;”(在标识符“LeftTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(45,21): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,12): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,18): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,18): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(46,22): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(47,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(47,7): error C2146: 语法错误: 缺少“;”(在标识符“RightTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(47,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(48,3): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(58,3): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(59,4): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(60,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(61,23): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(62,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(62,8): error C2146: 语法错误: 缺少“;”(在标识符“wxIdAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(62,18): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(63,23): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(64,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(64,8): error C2146: 语法错误: 缺少“;”(在标识符“wxNumberAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(64,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(65,23): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(66,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(66,8): error C2146: 语法错误: 缺少“;”(在标识符“wxNickNameAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(66,24): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(67,23): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(68,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(68,8): error C2146: 语法错误: 缺少“;”(在标识符“wxRemarkAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(68,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,13): error C2065: “dword”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,19): error C2146: 语法错误: 缺少“;”(在标识符“ptr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,19): error C2065: “ptr”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(69,23): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(70,4): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(70,8): error C2146: 语法错误: 缺少“;”(在标识符“LeftTreeAddr”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(70,22): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(71,4): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\showFriendList.cpp(73,6): warning C4312: “类型强制转换”: 从“DWORD”转换到更大的“LPVOID *” + UserInfo.cpp +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(25,1): warning C4311: “”: 从“WxString *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(25,1): warning C4302: “”: 从“WxString *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(26,1): warning C4311: “”: 从“WxString *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(26,1): warning C4302: “”: 从“WxString *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(67,44): warning C4312: “类型强制转换”: 从“_Ty”转换到更大的“DWORD *” + with + [ + _Ty=DWORD + ] +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(67,86): warning C4312: “类型强制转换”: 从“_Ty”转换到更大的“LPVOID *” + with + [ + _Ty=DWORD + ] +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(88,40): warning C4311: “类型强制转换”: 从“const _Elem *”到“DWORD”的指针截断 + with + [ + _Elem=wchar_t + ] +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(88,40): warning C4302: “类型强制转换”: 从“const _Elem *”到“DWORD”截断 + with + [ + _Elem=wchar_t + ] +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(90,20): warning C4311: “类型强制转换”: 从“GetUserInfoStruct *”到“DWORD”的指针截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(90,20): warning C4302: “类型强制转换”: 从“GetUserInfoStruct *”到“DWORD”截断 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(104,30): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(105,37): warning C4267: “=”: 从“size_t”转换到“DWORD”,可能丢失数据 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(112,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(113,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(114,3): error C2065: “pushfd”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(116,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(116,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(116,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(117,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(117,7): error C2146: 语法错误: 缺少“;”(在标识符“edx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(117,7): error C2065: “edx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(118,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(118,8): error C2146: 语法错误: 缺少“;”(在标识符“GetUserDetailInfoCall1”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(119,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(119,8): error C2146: 语法错误: 缺少“;”(在标识符“GetUserDetailInfoCall2”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(120,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(120,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(120,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(121,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(121,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(121,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(122,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(122,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(122,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(123,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(123,8): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(123,8): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(124,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(124,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(124,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(124,12): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(125,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(125,8): error C2146: 语法错误: 缺少“;”(在标识符“GetUserDetailInfoCall3”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(126,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(126,7): error C2146: 语法错误: 缺少“;”(在标识符“isSuccess”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(126,18): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(127,3): error C2065: “popfd”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(128,3): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(133,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(134,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(135,3): error C2065: “pushfd”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(136,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(136,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(136,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(137,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(137,8): error C2146: 语法错误: 缺少“;”(在标识符“DeleteCacheCall1”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(138,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(138,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(138,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(139,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(139,8): error C2146: 语法错误: 缺少“;”(在标识符“DeleteCacheCall2”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(140,3): error C2065: “popfd”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(141,3): error C2065: “popad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(157,2): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(159,3): error C2065: “pushad”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(160,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(160,8): error C2146: 语法错误: 缺少“;”(在标识符“WxUserDataCall1”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(161,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(161,7): error C2146: 语法错误: 缺少“;”(在标识符“ebx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(161,7): error C2065: “ebx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(162,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(162,7): error C2146: 语法错误: 缺少“;”(在标识符“esi”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(162,7): error C2065: “esi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(162,12): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(163,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(163,8): error C2146: 语法错误: 缺少“;”(在标识符“ebx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(163,8): error C2065: “ebx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(164,3): error C2065: “sub”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(164,7): error C2146: 语法错误: 缺少“;”(在标识符“esp”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(164,7): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(165,3): error C2065: “lea”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(165,7): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(165,7): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(166,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(166,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(166,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(166,12): error C2065: “esp”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(167,3): error C2065: “push”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(167,8): error C2146: 语法错误: 缺少“;”(在标识符“eax”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(167,8): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(168,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(168,8): error C2146: 语法错误: 缺少“;”(在标识符“WxUserDataCall2”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(169,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(169,7): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(169,7): error C2065: “ecx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(169,12): error C2065: “esi”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(170,3): error C2065: “call”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(170,8): error C2146: 语法错误: 缺少“;”(在标识符“WxUserDataCall3”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(171,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(171,7): error C2146: 语法错误: 缺少“;”(在标识符“r_ebx”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(171,14): error C2065: “ebx”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(172,3): error C2065: “mov”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(172,7): error C2146: 语法错误: 缺少“;”(在标识符“isSuccess”的前面) +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(172,18): error C2065: “eax”: 未声明的标识符 +D:\C++\ComWeChatRobot\DWeChatRobot\UserInfo.cpp(173,3): error C2065: “popad”: 未声明的标识符 + 正在生成代码... diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.pch b/DWeChatRobot/x64/Debug/DWeChatRobot.pch new file mode 100644 index 0000000000000000000000000000000000000000..2538f8296cc2dd0553be7757aab3cee61424ef63 Binary files /dev/null and b/DWeChatRobot/x64/Debug/DWeChatRobot.pch differ diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.command.1.tlog b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.command.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..700fae7103847d2cd2544e3943147e9a1ab62913 Binary files /dev/null and b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.command.1.tlog differ diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.read.1.tlog b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..bfc877cc7aecbef51326623bba09720c4d23f500 Binary files /dev/null and b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.read.1.tlog differ diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.write.1.tlog b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..2415b013b2a547be4f1df73a30390f9e6e9868e8 Binary files /dev/null and b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/CL.write.1.tlog differ diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/DWeChatRobot.lastbuildstate b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/DWeChatRobot.lastbuildstate new file mode 100644 index 0000000000000000000000000000000000000000..c23d2532f88c2536be65c4c74489498b07363bac --- /dev/null +++ b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/DWeChatRobot.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0: +Debug|x64|D:\C++\ComWeChatRobot\| diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/unsuccessfulbuild b/DWeChatRobot/x64/Debug/DWeChatRobot.tlog/unsuccessfulbuild new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/DWeChatRobot/x64/Debug/DWeChatRobot.vcxproj.FileListAbsolute.txt b/DWeChatRobot/x64/Debug/DWeChatRobot.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/DWeChatRobot/x64/Debug/dllmain.obj b/DWeChatRobot/x64/Debug/dllmain.obj new file mode 100644 index 0000000000000000000000000000000000000000..5ba22a9419e7ac31c3ce6d5ead5db5d45b816be0 Binary files /dev/null and b/DWeChatRobot/x64/Debug/dllmain.obj differ diff --git a/DWeChatRobot/x64/Debug/pch.obj b/DWeChatRobot/x64/Debug/pch.obj new file mode 100644 index 0000000000000000000000000000000000000000..f9f0f846c8df1c1cf06c4777067fc92c77d6de98 Binary files /dev/null and b/DWeChatRobot/x64/Debug/pch.obj differ diff --git a/DWeChatRobot/x64/Debug/vc142.idb b/DWeChatRobot/x64/Debug/vc142.idb new file mode 100644 index 0000000000000000000000000000000000000000..f9c6ec5b870b3528363294c8a6c2946833c7819e Binary files /dev/null and b/DWeChatRobot/x64/Debug/vc142.idb differ diff --git a/DWeChatRobot/x64/Debug/vc142.pdb b/DWeChatRobot/x64/Debug/vc142.pdb new file mode 100644 index 0000000000000000000000000000000000000000..698c6349b516dccccd9de9f224ef14ffba8136ba Binary files /dev/null and b/DWeChatRobot/x64/Debug/vc142.pdb differ diff --git a/Release/CWeChatRobot.exe b/Release/CWeChatRobot.exe index 628335666e9764ee07d25f8de8b96b86bc7c9450..1ef23246623a198446d53c8b751d08b82eb15172 100644 Binary files a/Release/CWeChatRobot.exe and b/Release/CWeChatRobot.exe differ diff --git a/Release/DWeChatRobot.dll b/Release/DWeChatRobot.dll index 1096dc81a28a64affc7f9d723836497ee23aaecc..c96508b1c9560551a3384772c7da1e9b14def0fd 100644 Binary files a/Release/DWeChatRobot.dll and b/Release/DWeChatRobot.dll differ diff --git a/wxRobot.py b/wxRobot.py index f8f9a026adb6ef95c3a240d567512cd5802afabf..71bee9cbc8735c48a146a207ed538bc8950cef13 100644 --- a/wxRobot.py +++ b/wxRobot.py @@ -34,9 +34,19 @@ class WeChatRobot(): self.robot = comtypes.client.CreateObject("WeChatRobot.CWeChatRobot") self.dllpath = dllpath self.AddressBook = [] + self.myinfo = {} def StartService(self): - return self.robot.CStartRobotService(self.dllpath) + status = self.robot.CStartRobotService(self.dllpath) + if status == 0: + self.myinfo = self.GetSelfInfo() + return status + + def GetSelfInfo(self): + myinfo = self.robot.CGetSelfInfo().replace('\n','\\n') + myinfo = ast.literal_eval(myinfo) + myinfo['wxBigAvatar'] = myinfo['wxBigAvatar'].replace("/132","/0") + return myinfo def StopService(self): return self.robot.CStopRobotService() @@ -101,33 +111,34 @@ class WeChatRobot(): def GetChatSession(self,wxid): return ChatSession(self.robot, wxid) - def GetWxDetailUserInfo(self,wxid): - return self.robot.CGetWxUserInfo(wxid) - - -if __name__ == '__main__': - # DWeChatRobot.dll path - dllpath = r'D:\VS2019C++\MyWeChatRobot\Release' + def GetWxUserInfo(self,wxid): + userinfo = self.robot.CGetWxUserInfo(wxid).replace('\n','\\n') + return ast.literal_eval(userinfo) + +def test(): # image full path imgpath = r"C:\Users\Administrator\Desktop\快捷\wechat\测试图片.jpg" # file full path filepath = r"C:\Users\Administrator\Desktop\快捷\wechat\MyWeChatRobot.zip" # mp4 full path mp4path = r"C:\Users\Administrator\Desktop\快捷\wechat\wxsend.mp4" - - wx = WeChatRobot(dllpath) - wx.StartService() - me = wx.GetFriendByWxNickName("文件传送助手") session = wx.GetChatSession(me.get('wxid')) - print(me.get('wxid')) - session.SendText('来自python的消息') - a = wx.GetWxDetailUserInfo(me.get('wxid')) - print(a) session.SendImage(imgpath) session.SendFile(filepath) session.SendMp4(mp4path) + +if __name__ == '__main__': + # DWeChatRobot.dll path + dllpath = r'D:\C++\ComWeChatRobot\Release' + + wx = WeChatRobot(dllpath) + wx.StartService() + wxid = wx.GetFriendByWxNickName("传说中的勇者").get('wxid') + print(wx.myinfo) + print(wx.GetWxUserInfo(wxid)) + wx.StopService() \ No newline at end of file