fix: Passing CONNECT_ADDRESS pointer to plugins

This commit is contained in:
yuanyuanxiang
2025-06-07 04:42:29 +08:00
parent 7e7db73358
commit 15e03bd18a
5 changed files with 86 additions and 20 deletions

View File

@@ -124,7 +124,7 @@ protected:
return memcmp(m_szPacketFlag, szPacketFlag, m_nCompareLen) == 0 ? PR{ m_nFlagLen } : PR{ PARSER_FAILED };
}
// More version may be added in the future.
const char version0[] = "Shine", version1[] = "<<FUCK>>", version2[] = "Hello?";
const char version0[] = "Shine", version1[] = "<<FUCK>>", version2[] = "Hello?", version3[] = "HELL";
if (memcmp(version0, szPacketFlag, sizeof(version0) - 1) == 0) {
memcpy(m_szPacketFlag, version0, sizeof(version0) - 1);
m_nCompareLen = strlen(m_szPacketFlag);
@@ -150,6 +150,14 @@ protected:
compressMethod = COMPRESS_NONE;
m_Encoder = new Encoder();
}
else if (memcmp(version3, szPacketFlag, sizeof(version3) - 1) == 0) {
memcpy(m_szPacketFlag, version3, sizeof(version3) - 1);
m_nCompareLen = strlen(m_szPacketFlag);
m_nFlagLen = 8;
m_nHeaderLen = m_nFlagLen + 8;
m_bParsed = TRUE;
m_Encoder = new Encoder();
}
else {
return PR{ PARSER_FAILED };
}

View File

@@ -18,11 +18,6 @@ typedef struct ItemData
}
}ItemData;
enum
{
COMMAND_WINDOW_CLOSE, //<2F>رմ<D8B1><D5B4><EFBFBD>
COMMAND_WINDOW_TEST, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
IMPLEMENT_DYNAMIC(CSystemDlg, CDialog)
CSystemDlg::CSystemDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
@@ -370,7 +365,7 @@ void CSystemDlg::OnWlistClose()
{
ZeroMemory(lpMsgBuf,20);
lpMsgBuf[0]=COMMAND_WINDOW_CLOSE; //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD>ͷ
lpMsgBuf[0]=CMD_WINDOW_CLOSE; //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD>ͷ
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
DWORD hwnd = data->ID; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>һͬ<D2BB><CDAC><EFBFBD><EFBFBD> 4 djfkdfj dkfjf 4
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD)); //1 4
@@ -390,7 +385,7 @@ void CSystemDlg::OnWlistHide()
if (nItem>=0)
{
ZeroMemory(lpMsgBuf,20);
lpMsgBuf[0]=COMMAND_WINDOW_TEST; //<2F><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
lpMsgBuf[0]=CMD_WINDOW_TEST; //<2F><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
DWORD hwnd = data->ID; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>һͬ<D2BB><CDAC><EFBFBD><EFBFBD>
pListCtrl->SetItemText(nItem,2,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //ע<><D7A2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>б<EFBFBD><D0B1>е<EFBFBD><D0B5><EFBFBD>ʾ״̬Ϊ"<22><><EFBFBD><EFBFBD>"
@@ -413,7 +408,7 @@ void CSystemDlg::OnWlistRecover()
if (nItem>=0)
{
ZeroMemory(lpMsgBuf,20);
lpMsgBuf[0]=COMMAND_WINDOW_TEST;
lpMsgBuf[0]=CMD_WINDOW_TEST;
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
DWORD hwnd = data->ID;
pListCtrl->SetItemText(nItem,2,"<EFBFBD><EFBFBD>ʾ");
@@ -435,7 +430,7 @@ void CSystemDlg::OnWlistMax()
if (nItem>=0)
{
ZeroMemory(lpMsgBuf,20);
lpMsgBuf[0]=COMMAND_WINDOW_TEST;
lpMsgBuf[0]=CMD_WINDOW_TEST;
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
DWORD hwnd = data->ID;
pListCtrl->SetItemText(nItem,2,"<EFBFBD><EFBFBD>ʾ");
@@ -457,7 +452,7 @@ void CSystemDlg::OnWlistMin()
if (nItem>=0)
{
ZeroMemory(lpMsgBuf,20);
lpMsgBuf[0]=COMMAND_WINDOW_TEST;
lpMsgBuf[0]=CMD_WINDOW_TEST;
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
DWORD hwnd = data->ID;
pListCtrl->SetItemText(nItem,2,"<EFBFBD><EFBFBD>ʾ");