This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[简介]

基于gh0st的远程控制器实现了终端管理、进程管理、窗口管理、桌面管理、文件管理、语音管理、视频管理、服务管理、注册表管理等功能。

来源https://github.com/zibility/Remote

日期2019.1.1

[更新日志]

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和zliblz4 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
修复了若干个问题。
Description
A remote control program based on Gh0st: 实现了终端管理、进程管理、窗口管理、远程桌面、文件管理、语音管理、视频管理、服务管理、注册表管理等功能,优化全部代码及整理排版,修复内存泄漏缺陷,程序运行稳定。项目代码仅限于学习和交流用途。
Readme 346 MiB
Languages
C++ 64.2%
C 35.8%