bo2kcfgDlg.h
上传用户:jinandeyu
上传日期:2007-01-05
资源大小:620k
文件大小:4k
源码类别:

远程控制编程

开发平台:

WINDOWS

  1. /*  Back Orifice 2000 - Remote Administration Suite
  2.     Copyright (C) 1999, Cult Of The Dead Cow
  3.     This program is free software; you can redistribute it and/or modify
  4.     it under the terms of the GNU General Public License as published by
  5.     the Free Software Foundation; either version 2 of the License, or
  6.     (at your option) any later version.
  7.     This program is distributed in the hope that it will be useful,
  8.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.     GNU General Public License for more details.
  11.     You should have received a copy of the GNU General Public License
  12.     along with this program; if not, write to the Free Software
  13.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  14. The author of this program may be contacted at dildog@l0pht.com. */
  15. // bo2kcfgDlg.h : header file
  16. //
  17. #if !defined(AFX_BO2KCFGDLG_H__BA3A1E08_E042_11D2_ADC4_0000F8084273__INCLUDED_)
  18. #define AFX_BO2KCFGDLG_H__BA3A1E08_E042_11D2_ADC4_0000F8084273__INCLUDED_
  19. #if _MSC_VER > 1000
  20. #pragma once
  21. #endif // _MSC_VER > 1000
  22. /////////////////////////////////////////////////////////////////////////////
  23. // CBo2kcfgDlg dialog
  24. typedef struct {
  25. BYTE *pPluginImage;
  26. DWORD dwPluginLen;
  27. char svFilename[MAX_PATH+1];
  28. char svDescription[256];
  29. WORD wVersionLo;
  30. WORD wVersionHi;
  31. WORD wBOVersionLo;
  32. WORD wBOVersionHi;
  33. } PLUGIN_INFO;
  34. typedef struct {
  35. int nPlugin;
  36. DWORD dwPos;
  37. char VarType; // B, N, S
  38. int nNumLo;
  39. int nNumHi;
  40. int nStrLen;
  41. char svVarValue[256];
  42. char svVarName[256];
  43. char svCategory[256];
  44. } VARIABLE_INFO;
  45. class CBo2kcfgDlg : public CDialog
  46. {
  47. // Construction
  48. public:
  49. void DoWizard(void);
  50. void AddVariables(char *pBuffer, DWORD dwLen, int nPlugin);
  51. void UpdateVariableList(void);
  52. BOOL SaveServer(void);
  53. BOOL InsertPlugin(BYTE *pPlugin, DWORD dwSize);
  54. void CloseServer(void);
  55. BOOL OpenServer(LPCSTR svPath);
  56. BOOL IsValidServer(LPCSTR svPath);
  57. BOOL IsValidPlugin(LPCSTR svPath);
  58. void EnableControls(BOOL bEnable);
  59. CBo2kcfgDlg(CWnd* pParent = NULL); // standard constructor
  60. // Dialog Data
  61. //{{AFX_DATA(CBo2kcfgDlg)
  62. enum { IDD = IDD_BO2KCFG_DIALOG };
  63. // NOTE: the ClassWizard will add data members here
  64. //}}AFX_DATA
  65. // ClassWizard generated virtual function overrides
  66. //{{AFX_VIRTUAL(CBo2kcfgDlg)
  67. protected:
  68. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  69. //}}AFX_VIRTUAL
  70. // Implementation
  71. protected:
  72. HICON m_hLargeIcon;
  73. HICON m_hSmallIcon;
  74. HICON m_hButtWizard;
  75. CImageList m_ImgList;
  76. CArray<PLUGIN_INFO, PLUGIN_INFO> m_arrPluginInfo;
  77. CArray<VARIABLE_INFO, VARIABLE_INFO> m_arrVarInfo;
  78. CString m_strSvrPath;
  79. HANDLE m_hSvrMapping;
  80. void *m_pSvrView;
  81. DWORD m_dwRawLength; // Length of server executable _image_ WITHOUT all the plugins attached
  82. DWORD m_dwRawFileSize; // Size of server file map without all the plugins
  83. // Generated message map functions
  84. //{{AFX_MSG(CBo2kcfgDlg)
  85. virtual BOOL OnInitDialog();
  86. afx_msg void OnPaint();
  87. afx_msg HCURSOR OnQueryDragIcon();
  88. afx_msg void OnOpenserver();
  89. afx_msg void OnCloseserver();
  90. afx_msg void OnInsert();
  91. afx_msg void OnSaveserver();
  92. virtual void OnOK();
  93. virtual void OnCancel();
  94. afx_msg void OnRemove();
  95. afx_msg void OnSelchangedOptionvariables(NMHDR* pNMHDR, LRESULT* pResult);
  96. afx_msg void OnBoolDisabled();
  97. afx_msg void OnBoolEnabled();
  98. afx_msg void OnSetvalue();
  99. afx_msg void OnExit();
  100. afx_msg void OnClose();
  101. afx_msg void OnExtract();
  102. afx_msg void OnWizard();
  103. //}}AFX_MSG
  104. DECLARE_MESSAGE_MAP()
  105. };
  106. //{{AFX_INSERT_LOCATION}}
  107. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  108. #endif // !defined(AFX_BO2KCFGDLG_H__BA3A1E08_E042_11D2_ADC4_0000F8084273__INCLUDED_)