Feature: Add encryption option for client building
This commit is contained in:
Binary file not shown.
@@ -2735,15 +2735,20 @@ void CMy2015RemoteDlg::OnListClick(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
CString res[RES_MAX];
|
||||
CString startTime = ctx->GetClientData(ONLINELIST_LOGINTIME);
|
||||
ctx->GetAdditionalData(res);
|
||||
FlagType type = ctx->GetFlagType();
|
||||
static std::map<FlagType, std::string> typMap = {
|
||||
{FLAG_WINOS, "WinOS"}, {FLAG_UNKNOWN, "Unknown"}, {FLAG_SHINE, "Shine"},
|
||||
{FLAG_FUCK, "FUCK"}, {FLAG_HELLO, "Hello"}, {FLAG_HELL, "HELL"},
|
||||
};
|
||||
|
||||
// 拼接内容
|
||||
CString strText;
|
||||
std::string expired = res[RES_EXPIRED_DATE];
|
||||
expired = expired.empty() ? "" : " Expired on " + expired;
|
||||
strText.Format(_T("文件路径: %s%s\r\n系统信息: %s 位 %s 核心 %s GB\r\n启动信息: %s %s\r\n上线信息: %s %d"),
|
||||
strText.Format(_T("文件路径: %s%s\r\n系统信息: %s 位 %s 核心 %s GB\r\n启动信息: %s %s\r\n上线信息: %s %d %s"),
|
||||
res[RES_PROGRAM_BITS].IsEmpty() ? "" : res[RES_PROGRAM_BITS] + " 位 ", res[RES_FILE_PATH],
|
||||
res[RES_SYSTEM_BITS], res[RES_SYSTEM_CPU], res[RES_SYSTEM_MEM], startTime, expired.c_str(),
|
||||
ctx->GetProtocol().c_str(), ctx->GetServerPort());
|
||||
ctx->GetProtocol().c_str(), ctx->GetServerPort(), typMap[type].c_str());
|
||||
|
||||
// 获取鼠标位置
|
||||
CPoint pt;
|
||||
|
||||
@@ -74,12 +74,14 @@ void CBuildDlg::DoDataExchange(CDataExchange* pDX)
|
||||
DDX_Control(pDX, IDC_COMBO_BITS, m_ComboBits);
|
||||
DDX_Control(pDX, IDC_COMBO_RUNTYPE, m_ComboRunType);
|
||||
DDX_Control(pDX, IDC_COMBO_PROTO, m_ComboProto);
|
||||
DDX_Control(pDX, IDC_COMBO_ENCRYPT, m_ComboEncrypt);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CBuildDlg, CDialog)
|
||||
ON_BN_CLICKED(IDOK, &CBuildDlg::OnBnClickedOk)
|
||||
ON_CBN_SELCHANGE(IDC_COMBO_EXE, &CBuildDlg::OnCbnSelchangeComboExe)
|
||||
ON_COMMAND(ID_HELP_PARAMETERS, &CBuildDlg::OnHelpParameters)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -150,6 +152,7 @@ void CBuildDlg::OnBnClickedOk()
|
||||
g_ConnectAddress.SetServer(m_strIP, atoi(m_strPort));
|
||||
g_ConnectAddress.runningType = m_ComboRunType.GetCurSel();
|
||||
g_ConnectAddress.protoType = m_ComboProto.GetCurSel();
|
||||
g_ConnectAddress.iHeaderEnc = m_ComboEncrypt.GetCurSel();
|
||||
|
||||
if (!g_ConnectAddress.IsValid()) {
|
||||
SAFE_DELETE_ARRAY(szBuffer);
|
||||
@@ -264,27 +267,16 @@ BOOL CBuildDlg::OnInitDialog()
|
||||
m_ComboProto.InsertString(PROTO_HTTP, "HTTP");
|
||||
m_ComboProto.SetCurSel(PROTO_TCP);
|
||||
|
||||
m_ComboEncrypt.InsertString(PROTOCOL_SHINE, "Shine");
|
||||
m_ComboEncrypt.InsertString(PROTOCOL_HELL, "HELL");
|
||||
m_ComboEncrypt.SetCurSel(PROTOCOL_SHINE);
|
||||
|
||||
m_OtherItem.ShowWindow(SW_HIDE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
||||
}
|
||||
|
||||
Buffer CBuildDlg::Encrypt(BYTE* buffer, int len, int method) {
|
||||
switch (method)
|
||||
{
|
||||
case 0:// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case 1: // XOR
|
||||
xor_encrypt_decrypt(buffer, len, { 'G', 'H', 'O', 'S', 'T' });
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return Buffer();
|
||||
}
|
||||
|
||||
|
||||
void CBuildDlg::OnCbnSelchangeComboExe()
|
||||
{
|
||||
auto n = m_ComboExe.GetCurSel();
|
||||
@@ -335,3 +327,10 @@ void CBuildDlg::OnCbnSelchangeComboExe()
|
||||
m_OtherItem.ShowWindow(SW_HIDE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CBuildDlg::OnHelpParameters()
|
||||
{
|
||||
CString url = _T("https://github.com/yuanyuanxiang/SimpleRemoter/wiki#<23><><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD>");
|
||||
ShellExecute(NULL, _T("open"), url, NULL, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ public:
|
||||
CString m_strPort;
|
||||
afx_msg void OnBnClickedOk();
|
||||
virtual BOOL OnInitDialog();
|
||||
Buffer Encrypt(BYTE* buffer, int len, int method);
|
||||
CComboBox m_ComboExe;
|
||||
|
||||
afx_msg void OnCbnSelchangeComboExe();
|
||||
@@ -34,4 +33,6 @@ public:
|
||||
CComboBox m_ComboBits;
|
||||
CComboBox m_ComboRunType;
|
||||
CComboBox m_ComboProto;
|
||||
CComboBox m_ComboEncrypt;
|
||||
afx_msg void OnHelpParameters();
|
||||
};
|
||||
|
||||
@@ -293,6 +293,7 @@ public:
|
||||
virtual int GetPort() const = 0;
|
||||
virtual std::string GetProtocol() const = 0;
|
||||
virtual int GetServerPort() const = 0;
|
||||
virtual FlagType GetFlagType() const = 0;
|
||||
|
||||
public:
|
||||
virtual ~context() {}
|
||||
@@ -331,7 +332,7 @@ public:
|
||||
Server* server; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
std::string GetProtocol() const override {
|
||||
return "TCP";
|
||||
return Parser.m_Masker && Parser.m_Masker->GetMaskType() == MaskTypeNone ? "TCP" : "HTTP";
|
||||
}
|
||||
int GetServerPort() const override {
|
||||
return server->GetPort();
|
||||
@@ -410,6 +411,9 @@ public:
|
||||
BYTE GetBYTE(int offset) {
|
||||
return InDeCompressedBuffer.GetBYTE(offset);
|
||||
}
|
||||
virtual FlagType GetFlagType() const override {
|
||||
return Parser.m_nFlagType;
|
||||
}
|
||||
// Write compressed buffer.
|
||||
void WriteBuffer(LPBYTE data, ULONG dataLen, ULONG originLen, int cmd = -1) {
|
||||
if (Parser.IsParsed()) {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user