diff --git a/2019Remote.sln b/2019Remote.sln index 21fbbbc..676a90d 100644 --- a/2019Remote.sln +++ b/2019Remote.sln @@ -14,6 +14,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestRun", "client\TestRun_v EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServerDll", "client\ClientDll_vs2015.vcxproj", "{BEBAF888-532D-40D3-A8DD-DDAAF69F49AA}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{70702583-26EE-47E0-9847-4D58F9449F4C}" + ProjectSection(SolutionItems) = preProject + history.md = history.md + ReadMe.md = ReadMe.md + 使用方法.txt = 使用方法.txt + 使用花生壳.txt = 使用花生壳.txt + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 diff --git a/ReadMe.md b/ReadMe.md index 3fa8220..6b2d2ab 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -14,298 +14,58 @@ 下面展示主控程序运行界面,所有功能均可用,程序运行稳定。 某些功能要求受控程序以管理员权限运行。 -![主界面](./images/Yama.png) +![主界面](./images/Yama.jpg) 主界面以列表形式展示连接到本机的受控程序。 选中某个主机以便进行远程控制。 -![终端管理](./images/Console.png) +![终端管理](./images/Console.jpg) 终端管理打开命令行窗口,可以执行远程命令。 -![进程管理](./images/Process.png) +![进程管理](./images/Process.jpg) 进程管理显示受控机器上面正在运行的进程,可对进程进行启停操作。 -![窗口管理](./images/Window.png) +![窗口管理](./images/Window.jpg) 窗口管理显示受控机器上面打开的窗口或程序,可对其进行操作。 -![桌面管理](./images/Remote.png) +![桌面管理](./images/Remote.jpg) +![桌面管理](./images/RemoteSet.jpg) -桌面管理即"远程桌面",控制远程机器。 +桌面管理即"远程桌面",控制远程机器。可以通过菜单设置远程桌面的参数: +屏幕截图方法支持GDI或DXGI,图像压缩方法支持灰度图像传输、屏幕差异算法和H264压缩。虚拟桌面尚未开发,但也是能支持的。 -![文件管理](./images/FileManage.png) +![文件管理](./images/FileManage.jpg) 文件管理即在本机和受控机器之间传输文件。 -![语音管理](./images/Voice.png) +![语音管理](./images/Voice.jpg) 语音管理即监听受控机器的声音,需受控机器有声音输入设备。 -![视频管理](./images/Video.png) +![视频管理](./images/Video.jpg) 视频管理即打印受控机器的摄像头,需受控机器有摄像头。 -![服务管理](./images/Service.png) +![服务管理](./images/Service.jpg) 服务管理即打开受控机器上面的服务列表。 -![注册表管理](./images/Register.png) +![注册表管理](./images/Register.jpg) 注册表管理即打开受控机器上面的注册表。 ## 受控程序 -![主界面](./images/TestRun.png) +![主界面](./images/TestRun.jpg) 受控程序是Client端,分为2种运行形式("类型"):单个程序 **(1)** ghost.exe和 **(2)** TestRun.exe+ServerDll.dll形式。 (1)单个程序运行时,不依赖其他动态链接库,而第(2)种情况运行时,由EXE程序调用核心动态链接库。 # 更新日志 -2019.1.5 - -1、整理垃圾排版,优化上线下线处理逻辑。 -2、修复部分内存泄漏问题,改善线程处理逻辑。 -3、修复客户端不停断线重连的缺陷。解决部分内存泄漏缺陷。 -4、解决几处缺陷。【遗留问题】文件管理对话框释放资源导致第2次打开崩溃。 - -2019.1.6 - -1、改用EnumDisplaySettings获取屏幕大小,原方法获取屏幕大小不准。 - -2、将FileManagerDlg、InputDlg、FileTransferModeDlg、TrueColorToolBar还原到gh0st最初版本。 - -3、新增项目"ghost",不通过TestRun调用dll,而是直接生成可执行文件。 - -4、修复开启视频,客户端产生的一处内存泄漏缺陷,m_pCapture需要释放。 - -2019.1.7 - -1、ghost单台电脑只允许启动唯一的实例。 - -2、远程桌面反应迟钝,改用每秒传送8帧屏幕,后续有待优化。 - -2019.1.8 - -1、发现传屏的瓶颈在zlib压缩数据,更新zlib到版本V1.2.11,提高传送屏幕速度到每秒10帧。 - -2、ghost的类CBuffer不需要临界区。 - -2019.1.9 - -1、服务端IOCPServer类的工作线程改为计算机核心个数的2倍。 - -2、解决服务端主动退出的内存泄漏问题,泄漏源在OVERLAPPEDPLUS。 - -2019.1.10 - -1、服务端远程控制增加全屏(系统右键菜单)、退出全屏(F11)的功能。 - -2、修复客户端机器屏幕缩放时远程桌面鼠标光标位置不准确的问题。(跟踪光标受影响) - -3、发现服务端需要采用默认英文输入法,才能在远程桌面输入中文(怀疑本地输入法截获消息)。 - -4、添加崩溃时写dump文件的代码。 - -2019.1.11 - -1、修复文件管理对话框多次打开崩溃的问题(【遗留问题】)。 - -2、遗留问题:远程cmd窗口总是将输入命令输出2次、文件对话框的菜单操作可能已失效。 - -2019.1.12 - -1、还原客户端的文件管理模块代码为gh0st的源码3.6版本. - -2、修复上述"cmd窗口总是将输入命令输出2次"遗留问题。 - -3、打开注册表关闭后崩溃,参照按对文件管理窗口的修改进行处理。遗留问题: - 并无内存泄漏,但退出时报"HEAP: Free Heap modified after it was freed"问题。 - -4、退出时睡眠一会,等待服务端清理,发现这样可以避免退出时崩溃的概率。 - -5、发布稍微稳定的版本V1.0.0.1。 - -2019.1.13 - -1、在主对话框清理子窗口的资源(原先在各自的OnClose函数),通过CLOSE_DELETE_DLG控制。 - -2、修正CFileManagerDlg的构造函数调用SHGetFileInfo和FromHandle方法,解决多次打开崩溃。 - -3、更新服务端zlib版本为V1.2.11。(与客户端不同,因inflate_fast 崩溃,没有采用汇编) - -2019.1.15 - -1、修复主控端CTalkDlg的内存泄漏问题,被控端即时消息对话框置于顶层。 - -2、SAFE_DELETE(ContextObject->olps)有崩溃概率。改为主控端退出时先令被控端退出,就没有内存泄漏。 - -3、开关音频时偶有内存泄漏,waveInCallBack线程不能正常退出。 - -2019.1.16 - -1、智能计时宏AUTO_TICK有问题,不应该用无名的局部变量auto_tick。 - -2、采用由Facebook所开发的速度更快的压缩库zstd,提高程序运行效率。 - 参看:https://github.com/facebook/zstd - -2019.1.17 - -1、添加比zstd更快的压缩库(压缩率不如zstd和zlib)lz4 1.8.3,参看 - https://github.com/lz4/lz4 - -2、修复被控端屏幕被缩放显示时远程桌面跟踪鼠标的位置不准的问题。 - -3、修复语音监听的问题,2个事件CAudio修改为非"Manual Reset"。 - -2019.1.18 - -1、整理部分垃圾代码。 - -2、发布V1.0.0.2。 - -2018.1.19 - -1、发现使用lz4压缩库时监控端程序进行远程桌面操作时容易崩溃,原因不明。 - -2、修复内存泄漏缺陷,在throw "Bad Buffer"的情况需要释放申请的内存。 - -2019.1.20 - -1、发现不管是采用zstd还是zlib,主控端在进行桌面控制时均有崩溃的几率(zlib较小)。 - -2、改用zlib压缩解压库。 - -3、完善追踪鼠标时鼠标形态变化时的展现效果。 - -4、当退出远程桌面窗口全屏状态时,不再向远程被控端发送F11。 - -5、发现在有线网络条件下主控端崩溃几率较小。 - -6、禁用主控端输入法,解决使用远程桌面在被控端输入时的麻烦问题。 - -2019.1.21 - -减少远程桌面new缓冲区的频率,将部分从堆上new固定内存的操作改用从栈上分配内存。 - -2019.1.22 - -减少音频视频捕获过程中频繁申请内存。 - -2019.1.25 - -1、修复被控端消息提示对话框在消息换行时显示不完整的问题。 - -2、添加/完善录制远程被控端视频的功能。 - -3、修复语音监听对话框显示已收到数据不更新状态的问题。 - -4、发现"发送本地语音"会导致主控端容易崩溃的问题,现象类似于操作远程桌面时的随机崩溃。 - -5、设置视频监控对话框为可调整大小,为其设置图标。 - -2019.1.26 - -1、发布V1.0.0.3。 - -2、修复Release模式打不开远程视频,或打开视频时画面卡住的问题,问题出在CCaptureVideo GetDIB。 - -2019.2.4 - -清理垃圾注释、整理不良排版,对代码略有改动。 - -遗留问题:文件管理功能无效、主控端随机崩溃。因此有必要将文件管理的功能屏蔽。 - -发布V1.0.0.4。 - -2019.3.24 - -1、将"2015Remote.rc"的一个光标文件"4.cur"的路径由绝对路径改为相对路径。 - -2、新增Release模式编译后控制台运行时不可见,新增TestRun向注册表写入开机自启动项。 - -2019.3.29 - -1、主控端和受控端同时修改LOGIN_INFOR结构,修复了受控端上报的操作系统信息不准确的问题。 - -2、发布V1.0.0.5。 - -注意:此次更新后的主控端需要和受控端匹配使用,否则可能出现问题。 - -2019.4.4 - -ghost项目采用VS2012 xp模式编译,以便支持在XP系统上运行。 - -2019.4.14 - -在2015RemoteDlg.h添加宏CLIENT_EXIT_WITH_SERVER,用于控制ghost是否随Yama退出。 - -2019.4.15 - -明确区分开退出被控端和退出主控端2个消息,只有发送退出被控端消息才会停止Socket客户端。 - -2019.4.19 -1、TestRun读取配置文件改为setting.ini,配置项为 [settings] localIp 和 ghost。 -2、CAudio的线程waveInCallBack在while循环有一处return,已改为break. - -2019.4.20 -TestRun在写入开机自启动项时先提升权限,以防止因权限不足而写注册表失败。 - -2019.4.30 -升级全部项目采用Visual Studio Community 2015编译。 - -2019.5.6 -当TestRun、ClientDemo运行时若未成功加载ServerDll.dll,则给出提示。 -所有项目均采用平台工具集"Visual Studio 2012 - Windows XP (v110_xp)",以支持在XP上运行。 - -2019.5.7 -1、添加对远程IP使用域名时的支持,若IP为域名,先将域名进行解析后再连接。 -2、添加文档“使用花生壳.txt”,介绍了如何使用花生壳软件搭建远程监控系统。 - -2019.5.8 -优化左键点击Yama托盘图标的效果。 - -2019.5.11 -优化远程桌面发送屏幕的功能,可动态调整发送屏幕的速率。 - -2019.8.25 -调整项目设置,解决采用VS2015编译时某些项目不通过的问题。 - -2021.3.14 -修复了若干个问题。 - -2024.9.6 -1.新增"2019Remote.sln"支持使用Visual Studio 2019编译项目。 -2.增加了使用VLD的操作方法,详见"server\2015Remote\stdafx.h"。 -注意:自VS2019开始,不支持XP系统了(微软已经声明这个变更)。如果有需要在XP系统进行监控的需求,推荐使用"2015Remote.sln"。 -如果使用VS2015编译,需将WindowsTargetPlatformVersion修改为8.1,将PlatformToolset修改为v140_xp。 - -2024.12.26 -解决主控程序概率性崩溃的问题,增强主控程序运行的稳定性。本人未进行广泛测试,不保证彻底根治,但稳定性有明显改观。 -fix: client threads number excceeding bug -fix: #19 the CBuffer causing server crash -fix: showing the wrong host quantity in status bar - -2024.12.27 -solve some issues according to code analysis result -reorg: Move commands to common/commands.h -此次提交的重点是将重复代码移动到公共目录,减少代码的冗余。 - -2024.12.28 -1.修改了注册指令内容,新生成的主控程序和被控程序不能和以往的程序混用!! 预留了字段,以便未来之需。 -2.解决客户端接收大数据包的问题! 主控程序增加显示被控端版本信息,以便实现针对老版本在线更新(仅限基于TestRun的服务)的能力。 -在主控程序上面增加了显示被控端启动时间的功能,以便掌握被控端程序的稳定性。 -3.完善生成服务程序的功能。 - -2024.12.29 -增加显示被控程序"类型"的功能:如果被控程序为单个EXE则显示为"EXE",如果被控程序为EXE调用动态库形式,则显示为"DLL". -当前,只有类型为DLL的服务支持在线升级。本次提交借机对前一个更新中的"预留字段"进行了验证。 - -在动态链接库中增加导出函数Run,以便通过rundll32.exe调用动态链接库。这种形式也是支持在线对DLL进行升级的。 - -2024.12.31 -生成服务时增加加密选项,当前支持XOR加密。配合使用解密程序来加载加密后的服务。 +2025年以前的变更记录参看:[history](./history.md) 2025.01.12 修复被控程序关于远程桌面相关可能的2处问题(#28 #29)。增加对主控端列表窗口的排序功能(#26 #27),以便快速定位窗口、服务或进程。 @@ -319,6 +79,16 @@ reorg: Move commands to common/commands.h *KeyboardManager.h、KeyboardManager.cpp、KeyBoardDlg.h、KeyBoardDlg.cpp* +**2025.04.05** + +Release v1.0.7, mainly fix or add new feature: + +- Update third-party libraries and switch zlib to zstd, old version v1.0.6 is compatible; +- Support compile with Win64; +- Fix buges and make the program more stable; +- Improve remote control efficiency and support more bitmap compressing method; +- Some code reorganization. + # 沟通反馈 QQ:962914132 @@ -328,3 +98,7 @@ QQ:962914132 问题报告: [Issues](https://github.com/yuanyuanxiang/SimpleRemoter/issues) 欢迎提交: [Merge requests](https://github.com/yuanyuanxiang/SimpleRemoter/pulls) + +赞助方式 / Sponsor: + +![Sponsor](https://github.com/yuanyuanxiang/yuanyuanxiang/blob/main/images/QR_Codes.jpg) diff --git a/Releases/v1.0.7/ServerDll.dll b/Releases/v1.0.7/ServerDll.dll new file mode 100644 index 0000000..97067df Binary files /dev/null and b/Releases/v1.0.7/ServerDll.dll differ diff --git a/Releases/v1.0.7/TestRun.exe b/Releases/v1.0.7/TestRun.exe new file mode 100644 index 0000000..b393be8 Binary files /dev/null and b/Releases/v1.0.7/TestRun.exe differ diff --git a/Releases/v1.0.7/Yama.exe b/Releases/v1.0.7/Yama.exe new file mode 100644 index 0000000..4a86663 Binary files /dev/null and b/Releases/v1.0.7/Yama.exe differ diff --git a/Releases/v1.0.7/ghost.exe b/Releases/v1.0.7/ghost.exe new file mode 100644 index 0000000..be7fbee Binary files /dev/null and b/Releases/v1.0.7/ghost.exe differ diff --git a/Releases/v1.0.7/x86/ServerDll.dll b/Releases/v1.0.7/x86/ServerDll.dll new file mode 100644 index 0000000..d99cd03 Binary files /dev/null and b/Releases/v1.0.7/x86/ServerDll.dll differ diff --git a/Releases/v1.0.7/x86/TestRun.exe b/Releases/v1.0.7/x86/TestRun.exe new file mode 100644 index 0000000..2f86e3e Binary files /dev/null and b/Releases/v1.0.7/x86/TestRun.exe differ diff --git a/Releases/v1.0.7/x86/Yama.exe b/Releases/v1.0.7/x86/Yama.exe new file mode 100644 index 0000000..b41ac93 Binary files /dev/null and b/Releases/v1.0.7/x86/Yama.exe differ diff --git a/Releases/v1.0.7/x86/ghost.exe b/Releases/v1.0.7/x86/ghost.exe new file mode 100644 index 0000000..f4005db Binary files /dev/null and b/Releases/v1.0.7/x86/ghost.exe differ diff --git a/client/Script.rc b/client/Script.rc index 8a273fe..7f29ab9 100644 --- a/client/Script.rc +++ b/client/Script.rc @@ -88,7 +88,7 @@ IDR_WAVE WAVE "Res\\msg.wav" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,6 + FILEVERSION 1,0,0,7 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -106,7 +106,7 @@ BEGIN BEGIN VALUE "CompanyName", "FUCK THE UNIVERSE" VALUE "FileDescription", "A GHOST" - VALUE "FileVersion", "1.0.0.6" + VALUE "FileVersion", "1.0.0.7" VALUE "InternalName", "ServerDll.dll" VALUE "LegalCopyright", "Copyright (C) 2019-2025" VALUE "OriginalFilename", "ServerDll.dll" diff --git a/history.md b/history.md new file mode 100644 index 0000000..b7a768e --- /dev/null +++ b/history.md @@ -0,0 +1,248 @@ +# ʷ¼ + +ƪĵ¼ĿһЩʷ¼ +This document records the history changes of this project. + +2019.1.5 + +1Ű棬Żߴ߼ +2޸ڴй©⣬̴߳߼ +3޸ͻ˲ͣȱݡڴй©ȱݡ +4ȱݡ⡿ļԻͷԴµ2δ򿪱 + +2019.1.6 + +1EnumDisplaySettingsȡĻСԭȡĻС׼ + +2FileManagerDlgInputDlgFileTransferModeDlgTrueColorToolBarԭgh0st汾 + +3Ŀ"ghost"ͨTestRundllֱɿִļ + +4޸Ƶͻ˲һڴй©ȱݣm_pCaptureҪͷš + +2019.1.7 + +1ghostֻ̨Ψһʵ + +2Զ淴Ӧٶۣÿ봫8֡ĻдŻ + +2019.1.8 + +1ִƿzlibѹݣzlib汾V1.2.11ߴĻٶȵÿ10֡ + +2ghostCBufferҪٽ + +2019.1.9 + +1IOCPServerĹ̸߳Ϊĸ2 + +2˳ڴй©⣬й©ԴOVERLAPPEDPLUS + +2019.1.10 + +1Զ̿ȫϵͳҼ˵˳ȫF11Ĺܡ + +2޸ͻ˻ĻʱԶλò׼ȷ⡣ٹӰ죩 + +3ַҪĬӢ뷨Զģɱ뷨ػϢ + +4ӱʱдdumpļĴ롣 + +2019.1.11 + +1޸ļԻδ򿪱⣨⡿ + +2⣺Զcmdǽ2ΡļԻIJ˵ʧЧ + +2019.1.12 + +1ԭͻ˵ļģΪgh0stԴ3.6汾. + +2޸"cmdǽ2"⡣ + +3עرպհļڵ޸Ľд⣺ + ڴй©˳ʱ"HEAP: Free Heap modified after it was freed"⡣ + +4˳ʱ˯һᣬȴԱ˳ʱĸʡ + +5΢ȶİ汾V1.0.0.1 + +2019.1.13 + +1ԻӴڵԴԭڸԵOnCloseͨCLOSE_DELETE_DLGơ + +2CFileManagerDlgĹ캯SHGetFileInfoFromHandleδ򿪱 + +3·zlib汾ΪV1.2.11ͻ˲ͬinflate_fast ûвûࣩ + +2019.1.15 + +1޸ضCTalkDlgڴй©⣬ض˼ʱϢԻڶ㡣 + +2SAFE_DELETE(ContextObject->olps)бʡΪض˳ʱض˳ûڴй© + +3Ƶʱżڴй©waveInCallBack̲߳˳ + +2019.1.16 + +1ܼʱAUTO_TICK⣬Ӧľֲauto_tick + +2Facebookٶȸѹzstd߳Чʡ + οhttps://github.com/facebook/zstd + +2019.1.17 + +1ӱzstdѹ⣨ѹʲzstdzliblz4 1.8.3ο + https://github.com/lz4/lz4 + +2޸ضĻʾʱԶλò׼⡣ + +3޸⣬2¼CAudio޸Ϊ"Manual Reset" + +2019.1.18 + +1롣 + +2V1.0.0.2 + +2018.1.19 + +1ʹlz4ѹʱض˳Զʱױԭ + +2޸ڴй©ȱݣthrow "Bad Buffer"Ҫͷڴ档 + +2019.1.20 + +1ֲDzzstdzlibضڽʱбļʣzlibС + +2zlibѹѹ⡣ + +3׷ʱ̬仯ʱչЧ + +4˳Զ洰ȫ״̬ʱԶ̱ض˷F11 + +5ض˱ʽС + +6ض뷨ʹԶڱضʱ鷳⡣ + +2019.1.21 + +ԶnewƵʣִӶnew̶ڴIJôջϷڴ档 + +2019.1.22 + +ƵƵƵڴ档 + +2019.1.25 + +1޸ضϢʾԻϢʱʾ⡣ + +2/¼Զ̱ضƵĹܡ + +3޸Իʾյݲ״̬⡣ + +4"ͱ"ᵼضױ⣬ڲԶʱ + +5ƵضԻΪɵСΪͼꡣ + +2019.1.26 + +1V1.0.0.3 + +2޸Releaseģʽ򲻿ԶƵƵʱ濨ס⣬CCaptureVideo GetDIB + +2019.2.4 + +ע͡Ű棬ԴиĶ + +⣺ļЧضбҪļĹΡ + +V1.0.0.4 + +2019.3.24 + +1"2015Remote.rc"һļ"4.cur"·ɾ·Ϊ· + +2Releaseģʽ̨ʱɼTestRunעд뿪 + +2019.3.29 + +1ض˺ܿضͬʱ޸LOGIN_INFORṹ޸ܿضϱIJϵͳϢ׼ȷ⡣ + +2V1.0.0.5 + +ע⣺˴θºضҪܿضƥʹãܳ⡣ + +2019.4.4 + +ghostĿVS2012 xpģʽ룬Ա֧XPϵͳС + +2019.4.14 + +2015RemoteDlg.hӺCLIENT_EXIT_WITH_SERVERڿghostǷYama˳ + +2019.4.15 + +ȷֿ˳ض˺˳ض2Ϣֻз˳ضϢŻֹͣSocketͻˡ + +2019.4.19 +1TestRunȡļΪsetting.iniΪ [settings] localIp ghost +2CAudio߳waveInCallBackwhileѭһreturnѸΪbreak. + +2019.4.20 +TestRunд뿪ʱȨޣԷֹȨ޲дעʧܡ + +2019.4.30 +ȫĿVisual Studio Community 2015롣 + +2019.5.6 +TestRunClientDemoʱδɹServerDll.dllʾ +Ŀƽ̨߼"Visual Studio 2012 - Windows XP (v110_xp)"֧XPС + +2019.5.7 +1ӶԶIPʹʱ֧֣IPΪȽнӡ +2ĵʹû.txtʹûԶ̼ϵͳ + +2019.5.8 +ŻYamaͼЧ + +2019.5.11 +ŻԶ淢ĻĹܣɶ̬Ļʡ + +2019.8.25 +ĿãVS2015ʱijЩĿͨ⡣ + +2021.3.14 +޸ɸ⡣ + +2024.9.6 +1."2019Remote.sln"֧ʹVisual Studio 2019Ŀ +2.ʹVLDIJ"server\2015Remote\stdafx.h" +ע⣺VS2019ʼ֧XPϵͳˣ΢ѾҪXPϵͳмصƼʹ"2015Remote.sln" +ʹVS2015룬轫WindowsTargetPlatformVersion޸Ϊ8.1PlatformToolset޸Ϊv140_xp + +2024.12.26 +سԱ⣬ǿسеȶԡδй㷺ԣ֤׸ΣȶԸĹۡ +fix: client threads number excceeding bug +fix: #19 the CBuffer causing server crash +fix: showing the wrong host quantity in status bar + +2024.12.27 +solve some issues according to code analysis result +reorg: Move commands to common/commands.h +˴ύصǽظƶĿ¼ٴࡣ + +2024.12.28 +1.޸עָݣɵسͱسܺij!! ԤֶΣԱδ֮衣 +2.ͻ˽մݰ! سʾض˰汾ϢԱʵϰ汾߸(޻TestRunķ) +سʾضʱĹܣԱձض˳ȶԡ +3.ɷĹܡ + +2024.12.29 +ʾس""ĹܣسΪEXEʾΪ"EXE"سΪEXEö̬ʽʾΪ"DLL". +ǰֻΪDLLķ֧ύǰһе"Ԥֶ"֤ + +ڶ̬ӿӵRunԱͨrundll32.exeö̬ӿ⡣ʽҲ֧߶DLLġ + +2024.12.31 +ɷʱӼѡǰ֧XORܡʹýܳؼܺķ diff --git a/images/Console.png b/images/Console.jpg similarity index 100% rename from images/Console.png rename to images/Console.jpg diff --git a/images/FileManage.png b/images/FileManage.jpg similarity index 100% rename from images/FileManage.png rename to images/FileManage.jpg diff --git a/images/Process.png b/images/Process.jpg similarity index 100% rename from images/Process.png rename to images/Process.jpg diff --git a/images/Register.png b/images/Register.jpg similarity index 100% rename from images/Register.png rename to images/Register.jpg diff --git a/images/Remote.png b/images/Remote.jpg similarity index 100% rename from images/Remote.png rename to images/Remote.jpg diff --git a/images/RemoteSet.jpg b/images/RemoteSet.jpg new file mode 100644 index 0000000..e1408d7 Binary files /dev/null and b/images/RemoteSet.jpg differ diff --git a/images/Service.png b/images/Service.jpg similarity index 100% rename from images/Service.png rename to images/Service.jpg diff --git a/images/TestRun.png b/images/TestRun.jpg similarity index 100% rename from images/TestRun.png rename to images/TestRun.jpg diff --git a/images/Video.png b/images/Video.jpg similarity index 100% rename from images/Video.png rename to images/Video.jpg diff --git a/images/Voice.png b/images/Voice.jpg similarity index 100% rename from images/Voice.png rename to images/Voice.jpg diff --git a/images/Window.png b/images/Window.jpg similarity index 100% rename from images/Window.png rename to images/Window.jpg diff --git a/images/Yama.png b/images/Yama.jpg similarity index 100% rename from images/Yama.png rename to images/Yama.jpg diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 8ae4419..7628f01 100644 Binary files a/server/2015Remote/2015Remote.rc and b/server/2015Remote/2015Remote.rc differ