diff --git a/spy/add_chatroom_member.cpp b/spy/add_chatroom_member.cpp index c6df4dc..2341cc3 100644 --- a/spy/add_chatroom_member.cpp +++ b/spy/add_chatroom_member.cpp @@ -11,12 +11,6 @@ using namespace std; extern WxCalls_t g_WxCalls; extern DWORD g_WeChatWinDllAddr; -typedef struct MemberList { - DWORD start; - DWORD end1; - DWORD end2; -} MemberList_t; - int AddChatroomMember(string roomid, string wxids) { if (roomid.empty() || wxids.empty()) { @@ -29,23 +23,23 @@ int AddChatroomMember(string roomid, string wxids) DWORD addRoomMemberCall2 = g_WeChatWinDllAddr + g_WxCalls.arm.call2; DWORD addRoomMemberCall3 = g_WeChatWinDllAddr + g_WxCalls.arm.call3; - TextStruct_t txtRoomid = { 0 }; - wstring wsRoomid = String2Wstring(roomid); - txtRoomid.text = (wchar_t *)wsRoomid.c_str(); - txtRoomid.size = wsRoomid.size(); - txtRoomid.capacity = wsRoomid.capacity(); + WxString_t txtRoomid = { 0 }; + wstring wsRoomid = String2Wstring(roomid); + txtRoomid.text = (wchar_t *)wsRoomid.c_str(); + txtRoomid.size = wsRoomid.size(); + txtRoomid.capacity = wsRoomid.capacity(); vector vMembers; - vector vTxtMembers; + vector vTxtMembers; wstringstream wss(String2Wstring(wxids)); while (wss.good()) { wstring wstr; getline(wss, wstr, L','); vMembers.push_back(wstr); - TextStruct_t txtMember = { 0 }; - txtMember.text = (wchar_t *)vMembers.back().c_str(); - txtMember.size = vMembers.back().size(); - txtMember.capacity = vMembers.back().capacity(); + WxString_t txtMember = { 0 }; + txtMember.text = (wchar_t *)vMembers.back().c_str(); + txtMember.size = vMembers.back().size(); + txtMember.capacity = vMembers.back().capacity(); vTxtMembers.push_back(txtMember); } diff --git a/spy/send_msg.cpp b/spy/send_msg.cpp index 8cd9e2c..95319a5 100644 --- a/spy/send_msg.cpp +++ b/spy/send_msg.cpp @@ -10,19 +10,11 @@ extern HANDLE g_hEvent; extern WxCalls_t g_WxCalls; extern DWORD g_WeChatWinDllAddr; -typedef struct AtList { - DWORD start; - DWORD end1; - DWORD end2; -} AtList_t; - void SendTextMessage(string wxid, string msg, string atWxids) { - char buffer[0x3B0] = { 0 }; - AtList_t atList = { 0 }; - TextStruct_t txtMsg = { 0 }; - TextStruct_t txtWxid = { 0 }; - TextStruct_t *tsArray = NULL; + char buffer[0x3B0] = { 0 }; + WxString_t txtMsg = { 0 }; + WxString_t txtWxid = { 0 }; // 发送消息Call地址 = 微信基址 + 偏移 DWORD sendCallAddress = g_WeChatWinDllAddr + g_WxCalls.sendTextMsg; @@ -38,7 +30,7 @@ void SendTextMessage(string wxid, string msg, string atWxids) txtWxid.size = wsWxid.size(); txtWxid.capacity = wsWxid.capacity(); - vector vTxtAtWxids; + vector vTxtAtWxids; if (!atWxids.empty()) { vector vAtWxids; wstringstream wss(String2Wstring(atWxids)); @@ -46,10 +38,10 @@ void SendTextMessage(string wxid, string msg, string atWxids) wstring wstr; getline(wss, wstr, L','); vAtWxids.push_back(wstr); - TextStruct_t txtAtWxid = { 0 }; - txtAtWxid.text = (wchar_t *)vAtWxids.back().c_str(); - txtAtWxid.size = vAtWxids.back().size(); - txtAtWxid.capacity = vAtWxids.back().capacity(); + WxString_t txtAtWxid = { 0 }; + txtAtWxid.text = (wchar_t *)vAtWxids.back().c_str(); + txtAtWxid.size = vAtWxids.back().size(); + txtAtWxid.capacity = vAtWxids.back().capacity(); vTxtAtWxids.push_back(txtAtWxid); } } @@ -73,11 +65,11 @@ void SendImageMessage(string wxid, string path) if (g_WeChatWinDllAddr == 0) { return; } - DWORD tmpEAX = 0; - char buf1[0x48] = { 0 }; - char buf2[0x3B0] = { 0 }; - TextStruct_t imgWxid = { 0 }; - TextStruct_t imgPath = { 0 }; + DWORD tmpEAX = 0; + char buf1[0x48] = { 0 }; + char buf2[0x3B0] = { 0 }; + WxString_t imgWxid = { 0 }; + WxString_t imgPath = { 0 }; wstring wsWxid = String2Wstring(wxid); wstring wspath = String2Wstring(path); @@ -121,11 +113,11 @@ void SendFileMessage(string wxid, string path) if (g_WeChatWinDllAddr == 0) { return; } - DWORD tmpEAX = 0; - char buffer[0x3B0] = { 0 }; - TextStruct_t fileWxid = { 0 }; - TextStruct_t filePath = { 0 }; - TextStruct_t nullbuffer = { 0 }; + DWORD tmpEAX = 0; + char buffer[0x3B0] = { 0 }; + WxString_t fileWxid = { 0 }; + WxString_t filePath = { 0 }; + WxString_t nullbuffer = { 0 }; wstring wsWxid = String2Wstring(wxid); wstring wspath = String2Wstring(path); diff --git a/spy/spy_types.h b/spy/spy_types.h index cfd6989..0330dc3 100644 --- a/spy/spy_types.h +++ b/spy/spy_types.h @@ -72,9 +72,9 @@ typedef struct WxCalls { RoomMember_t arm; // 添加群成员 } WxCalls_t; -typedef struct TextStruct { +typedef struct WxString { wchar_t *text; DWORD size; DWORD capacity; char fill[8]; -} TextStruct_t; +} WxString_t;