Skip to content

Commit 80aff85

Browse files
committed
Release v1.0.7
1 parent 2b7b699 commit 80aff85

25 files changed

+287
-257
lines changed

2019Remote.sln

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestRun", "client\TestRun_v
1414
EndProject
1515
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServerDll", "client\ClientDll_vs2015.vcxproj", "{BEBAF888-532D-40D3-A8DD-DDAAF69F49AA}"
1616
EndProject
17+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{70702583-26EE-47E0-9847-4D58F9449F4C}"
18+
ProjectSection(SolutionItems) = preProject
19+
history.md = history.md
20+
ReadMe.md = ReadMe.md
21+
使用方法.txt = 使用方法.txt
22+
使用花生壳.txt = 使用花生壳.txt
23+
EndProjectSection
24+
EndProject
1725
Global
1826
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1927
Debug|x64 = Debug|x64

ReadMe.md

Lines changed: 29 additions & 255 deletions
Original file line numberDiff line numberDiff line change
@@ -14,298 +14,58 @@
1414
下面展示主控程序运行界面,所有功能均可用,程序运行稳定。
1515
某些功能要求受控程序以管理员权限运行。
1616

17-
![主界面](./images/Yama.png)
17+
![主界面](./images/Yama.jpg)
1818

1919
主界面以列表形式展示连接到本机的受控程序。
2020
选中某个主机以便进行远程控制。
2121

22-
![终端管理](./images/Console.png)
22+
![终端管理](./images/Console.jpg)
2323

2424
终端管理打开命令行窗口,可以执行远程命令。
2525

26-
![进程管理](./images/Process.png)
26+
![进程管理](./images/Process.jpg)
2727

2828
进程管理显示受控机器上面正在运行的进程,可对进程进行启停操作。
2929

30-
![窗口管理](./images/Window.png)
30+
![窗口管理](./images/Window.jpg)
3131

3232
窗口管理显示受控机器上面打开的窗口或程序,可对其进行操作。
3333

34-
![桌面管理](./images/Remote.png)
34+
![桌面管理](./images/Remote.jpg)
35+
![桌面管理](./images/RemoteSet.jpg)
3536

36-
桌面管理即"远程桌面",控制远程机器。
37+
桌面管理即"远程桌面",控制远程机器。可以通过菜单设置远程桌面的参数:
38+
屏幕截图方法支持GDI或DXGI,图像压缩方法支持灰度图像传输、屏幕差异算法和H264压缩。虚拟桌面尚未开发,但也是能支持的。
3739

38-
![文件管理](./images/FileManage.png)
40+
![文件管理](./images/FileManage.jpg)
3941

4042
文件管理即在本机和受控机器之间传输文件。
4143

42-
![语音管理](./images/Voice.png)
44+
![语音管理](./images/Voice.jpg)
4345

4446
语音管理即监听受控机器的声音,需受控机器有声音输入设备。
4547

46-
![视频管理](./images/Video.png)
48+
![视频管理](./images/Video.jpg)
4749

4850
视频管理即打印受控机器的摄像头,需受控机器有摄像头。
4951

50-
![服务管理](./images/Service.png)
52+
![服务管理](./images/Service.jpg)
5153

5254
服务管理即打开受控机器上面的服务列表。
5355

54-
![注册表管理](./images/Register.png)
56+
![注册表管理](./images/Register.jpg)
5557

5658
注册表管理即打开受控机器上面的注册表。
5759

5860
## 受控程序
59-
![主界面](./images/TestRun.png)
61+
![主界面](./images/TestRun.jpg)
6062

6163
受控程序是Client端,分为2种运行形式("类型"):单个程序 **(1)** ghost.exe和 **(2)** TestRun.exe+ServerDll.dll形式。
6264
(1)单个程序运行时,不依赖其他动态链接库,而第(2)种情况运行时,由EXE程序调用核心动态链接库。
6365

6466
# 更新日志
6567

66-
2019.1.5
67-
68-
1、整理垃圾排版,优化上线下线处理逻辑。
69-
2、修复部分内存泄漏问题,改善线程处理逻辑。
70-
3、修复客户端不停断线重连的缺陷。解决部分内存泄漏缺陷。
71-
4、解决几处缺陷。【遗留问题】文件管理对话框释放资源导致第2次打开崩溃。
72-
73-
2019.1.6
74-
75-
1、改用EnumDisplaySettings获取屏幕大小,原方法获取屏幕大小不准。
76-
77-
2、将FileManagerDlg、InputDlg、FileTransferModeDlg、TrueColorToolBar还原到gh0st最初版本。
78-
79-
3、新增项目"ghost",不通过TestRun调用dll,而是直接生成可执行文件。
80-
81-
4、修复开启视频,客户端产生的一处内存泄漏缺陷,m_pCapture需要释放。
82-
83-
2019.1.7
84-
85-
1、ghost单台电脑只允许启动唯一的实例。
86-
87-
2、远程桌面反应迟钝,改用每秒传送8帧屏幕,后续有待优化。
88-
89-
2019.1.8
90-
91-
1、发现传屏的瓶颈在zlib压缩数据,更新zlib到版本V1.2.11,提高传送屏幕速度到每秒10帧。
92-
93-
2、ghost的类CBuffer不需要临界区。
94-
95-
2019.1.9
96-
97-
1、服务端IOCPServer类的工作线程改为计算机核心个数的2倍。
98-
99-
2、解决服务端主动退出的内存泄漏问题,泄漏源在OVERLAPPEDPLUS。
100-
101-
2019.1.10
102-
103-
1、服务端远程控制增加全屏(系统右键菜单)、退出全屏(F11)的功能。
104-
105-
2、修复客户端机器屏幕缩放时远程桌面鼠标光标位置不准确的问题。(跟踪光标受影响)
106-
107-
3、发现服务端需要采用默认英文输入法,才能在远程桌面输入中文(怀疑本地输入法截获消息)。
108-
109-
4、添加崩溃时写dump文件的代码。
110-
111-
2019.1.11
112-
113-
1、修复文件管理对话框多次打开崩溃的问题(【遗留问题】)。
114-
115-
2、遗留问题:远程cmd窗口总是将输入命令输出2次、文件对话框的菜单操作可能已失效。
116-
117-
2019.1.12
118-
119-
1、还原客户端的文件管理模块代码为gh0st的源码3.6版本.
120-
121-
2、修复上述"cmd窗口总是将输入命令输出2次"遗留问题。
122-
123-
3、打开注册表关闭后崩溃,参照按对文件管理窗口的修改进行处理。遗留问题:
124-
并无内存泄漏,但退出时报"HEAP: Free Heap modified after it was freed"问题。
125-
126-
4、退出时睡眠一会,等待服务端清理,发现这样可以避免退出时崩溃的概率。
127-
128-
5、发布稍微稳定的版本V1.0.0.1。
129-
130-
2019.1.13
131-
132-
1、在主对话框清理子窗口的资源(原先在各自的OnClose函数),通过CLOSE_DELETE_DLG控制。
133-
134-
2、修正CFileManagerDlg的构造函数调用SHGetFileInfo和FromHandle方法,解决多次打开崩溃。
135-
136-
3、更新服务端zlib版本为V1.2.11。(与客户端不同,因inflate_fast 崩溃,没有采用汇编)
137-
138-
2019.1.15
139-
140-
1、修复主控端CTalkDlg的内存泄漏问题,被控端即时消息对话框置于顶层。
141-
142-
2、SAFE_DELETE(ContextObject->olps)有崩溃概率。改为主控端退出时先令被控端退出,就没有内存泄漏。
143-
144-
3、开关音频时偶有内存泄漏,waveInCallBack线程不能正常退出。
145-
146-
2019.1.16
147-
148-
1、智能计时宏AUTO_TICK有问题,不应该用无名的局部变量auto_tick。
149-
150-
2、采用由Facebook所开发的速度更快的压缩库zstd,提高程序运行效率。
151-
参看:https://github.com/facebook/zstd
152-
153-
2019.1.17
154-
155-
1、添加比zstd更快的压缩库(压缩率不如zstd和zlib)lz4 1.8.3,参看
156-
https://github.com/lz4/lz4
157-
158-
2、修复被控端屏幕被缩放显示时远程桌面跟踪鼠标的位置不准的问题。
159-
160-
3、修复语音监听的问题,2个事件CAudio修改为非"Manual Reset"。
161-
162-
2019.1.18
163-
164-
1、整理部分垃圾代码。
165-
166-
2、发布V1.0.0.2。
167-
168-
2018.1.19
169-
170-
1、发现使用lz4压缩库时监控端程序进行远程桌面操作时容易崩溃,原因不明。
171-
172-
2、修复内存泄漏缺陷,在throw "Bad Buffer"的情况需要释放申请的内存。
173-
174-
2019.1.20
175-
176-
1、发现不管是采用zstd还是zlib,主控端在进行桌面控制时均有崩溃的几率(zlib较小)。
177-
178-
2、改用zlib压缩解压库。
179-
180-
3、完善追踪鼠标时鼠标形态变化时的展现效果。
181-
182-
4、当退出远程桌面窗口全屏状态时,不再向远程被控端发送F11。
183-
184-
5、发现在有线网络条件下主控端崩溃几率较小。
185-
186-
6、禁用主控端输入法,解决使用远程桌面在被控端输入时的麻烦问题。
187-
188-
2019.1.21
189-
190-
减少远程桌面new缓冲区的频率,将部分从堆上new固定内存的操作改用从栈上分配内存。
191-
192-
2019.1.22
193-
194-
减少音频视频捕获过程中频繁申请内存。
195-
196-
2019.1.25
197-
198-
1、修复被控端消息提示对话框在消息换行时显示不完整的问题。
199-
200-
2、添加/完善录制远程被控端视频的功能。
201-
202-
3、修复语音监听对话框显示已收到数据不更新状态的问题。
203-
204-
4、发现"发送本地语音"会导致主控端容易崩溃的问题,现象类似于操作远程桌面时的随机崩溃。
205-
206-
5、设置视频监控对话框为可调整大小,为其设置图标。
207-
208-
2019.1.26
209-
210-
1、发布V1.0.0.3。
211-
212-
2、修复Release模式打不开远程视频,或打开视频时画面卡住的问题,问题出在CCaptureVideo GetDIB。
213-
214-
2019.2.4
215-
216-
清理垃圾注释、整理不良排版,对代码略有改动。
217-
218-
遗留问题:文件管理功能无效、主控端随机崩溃。因此有必要将文件管理的功能屏蔽。
219-
220-
发布V1.0.0.4。
221-
222-
2019.3.24
223-
224-
1、将"2015Remote.rc"的一个光标文件"4.cur"的路径由绝对路径改为相对路径。
225-
226-
2、新增Release模式编译后控制台运行时不可见,新增TestRun向注册表写入开机自启动项。
227-
228-
2019.3.29
229-
230-
1、主控端和受控端同时修改LOGIN_INFOR结构,修复了受控端上报的操作系统信息不准确的问题。
231-
232-
2、发布V1.0.0.5。
233-
234-
注意:此次更新后的主控端需要和受控端匹配使用,否则可能出现问题。
235-
236-
2019.4.4
237-
238-
ghost项目采用VS2012 xp模式编译,以便支持在XP系统上运行。
239-
240-
2019.4.14
241-
242-
在2015RemoteDlg.h添加宏CLIENT_EXIT_WITH_SERVER,用于控制ghost是否随Yama退出。
243-
244-
2019.4.15
245-
246-
明确区分开退出被控端和退出主控端2个消息,只有发送退出被控端消息才会停止Socket客户端。
247-
248-
2019.4.19
249-
1、TestRun读取配置文件改为setting.ini,配置项为 [settings] localIp 和 ghost。
250-
2、CAudio的线程waveInCallBack在while循环有一处return,已改为break.
251-
252-
2019.4.20
253-
TestRun在写入开机自启动项时先提升权限,以防止因权限不足而写注册表失败。
254-
255-
2019.4.30
256-
升级全部项目采用Visual Studio Community 2015编译。
257-
258-
2019.5.6
259-
当TestRun、ClientDemo运行时若未成功加载ServerDll.dll,则给出提示。
260-
所有项目均采用平台工具集"Visual Studio 2012 - Windows XP (v110_xp)",以支持在XP上运行。
261-
262-
2019.5.7
263-
1、添加对远程IP使用域名时的支持,若IP为域名,先将域名进行解析后再连接。
264-
2、添加文档“使用花生壳.txt”,介绍了如何使用花生壳软件搭建远程监控系统。
265-
266-
2019.5.8
267-
优化左键点击Yama托盘图标的效果。
268-
269-
2019.5.11
270-
优化远程桌面发送屏幕的功能,可动态调整发送屏幕的速率。
271-
272-
2019.8.25
273-
调整项目设置,解决采用VS2015编译时某些项目不通过的问题。
274-
275-
2021.3.14
276-
修复了若干个问题。
277-
278-
2024.9.6
279-
1.新增"2019Remote.sln"支持使用Visual Studio 2019编译项目。
280-
2.增加了使用VLD的操作方法,详见"server\2015Remote\stdafx.h"。
281-
注意:自VS2019开始,不支持XP系统了(微软已经声明这个变更)。如果有需要在XP系统进行监控的需求,推荐使用"2015Remote.sln"。
282-
如果使用VS2015编译,需将WindowsTargetPlatformVersion修改为8.1,将PlatformToolset修改为v140_xp。
283-
284-
2024.12.26
285-
解决主控程序概率性崩溃的问题,增强主控程序运行的稳定性。本人未进行广泛测试,不保证彻底根治,但稳定性有明显改观。
286-
fix: client threads number excceeding bug
287-
fix: #19 the CBuffer causing server crash
288-
fix: showing the wrong host quantity in status bar
289-
290-
2024.12.27
291-
solve some issues according to code analysis result
292-
reorg: Move commands to common/commands.h
293-
此次提交的重点是将重复代码移动到公共目录,减少代码的冗余。
294-
295-
2024.12.28
296-
1.修改了注册指令内容,新生成的主控程序和被控程序不能和以往的程序混用!! 预留了字段,以便未来之需。
297-
2.解决客户端接收大数据包的问题! 主控程序增加显示被控端版本信息,以便实现针对老版本在线更新(仅限基于TestRun的服务)的能力。
298-
在主控程序上面增加了显示被控端启动时间的功能,以便掌握被控端程序的稳定性。
299-
3.完善生成服务程序的功能。
300-
301-
2024.12.29
302-
增加显示被控程序"类型"的功能:如果被控程序为单个EXE则显示为"EXE",如果被控程序为EXE调用动态库形式,则显示为"DLL".
303-
当前,只有类型为DLL的服务支持在线升级。本次提交借机对前一个更新中的"预留字段"进行了验证。
304-
305-
在动态链接库中增加导出函数Run,以便通过rundll32.exe调用动态链接库。这种形式也是支持在线对DLL进行升级的。
306-
307-
2024.12.31
308-
生成服务时增加加密选项,当前支持XOR加密。配合使用解密程序来加载加密后的服务。
68+
2025年以前的变更记录参看:[history](./history.md)
30969

31070
2025.01.12
31171
修复被控程序关于远程桌面相关可能的2处问题(#28 #29)。增加对主控端列表窗口的排序功能(#26 #27),以便快速定位窗口、服务或进程。
@@ -319,6 +79,16 @@ reorg: Move commands to common/commands.h
31979

32080
*KeyboardManager.h、KeyboardManager.cpp、KeyBoardDlg.h、KeyBoardDlg.cpp*
32181

82+
**2025.04.05**
83+
84+
Release v1.0.7, mainly fix or add new feature:
85+
86+
- Update third-party libraries and switch zlib to zstd, old version v1.0.6 is compatible;
87+
- Support compile with Win64;
88+
- Fix buges and make the program more stable;
89+
- Improve remote control efficiency and support more bitmap compressing method;
90+
- Some code reorganization.
91+
32292
# 沟通反馈
32393

32494
QQ:962914132
@@ -328,3 +98,7 @@ QQ:962914132
32898
问题报告: [Issues](https://github.com/yuanyuanxiang/SimpleRemoter/issues)
32999

330100
欢迎提交: [Merge requests](https://github.com/yuanyuanxiang/SimpleRemoter/pulls)
101+
102+
赞助方式 / Sponsor:
103+
104+
![Sponsor](https://github.com/yuanyuanxiang/yuanyuanxiang/blob/main/images/QR_Codes.jpg)

Releases/v1.0.7/ServerDll.dll

911 KB
Binary file not shown.

Releases/v1.0.7/TestRun.exe

105 KB
Binary file not shown.

Releases/v1.0.7/Yama.exe

1.18 MB
Binary file not shown.

Releases/v1.0.7/ghost.exe

908 KB
Binary file not shown.

Releases/v1.0.7/x86/ServerDll.dll

792 KB
Binary file not shown.

Releases/v1.0.7/x86/TestRun.exe

87 KB
Binary file not shown.

Releases/v1.0.7/x86/Yama.exe

4.92 MB
Binary file not shown.

Releases/v1.0.7/x86/ghost.exe

789 KB
Binary file not shown.

0 commit comments

Comments
 (0)