testitok / simpleremoter Goto Github PK
View Code? Open in Web Editor NEWThis project forked from yuanyuanxiang/simpleremoter
基于gh0st的远程控制器:实现了终端管理、进程管理、窗口管理、远程桌面、文件管理、语音管理、视频管理、服务管理、注册表管理等功能,优化全部代码及整理排版,修复内存泄漏缺陷,程序运行稳定。项目代码仅限于学习和交流用途。
This project forked from yuanyuanxiang/simpleremoter
基于gh0st的远程控制器:实现了终端管理、进程管理、窗口管理、远程桌面、文件管理、语音管理、视频管理、服务管理、注册表管理等功能,优化全部代码及整理排版,修复内存泄漏缺陷,程序运行稳定。项目代码仅限于学习和交流用途。
[简介] 基于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和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 修复了若干个问题。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.