mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-21 23:13:08 +08:00
Release v1.1.9
This commit is contained in:
42
ReadMe.md
42
ReadMe.md
@@ -388,6 +388,48 @@ Release v1.1.4
|
||||
* 插件: 添加示例插件项目供参考
|
||||
* 新功能: 为进程管理添加 shellcode 注入功能
|
||||
|
||||
**2025.12.14**
|
||||
|
||||
发布版本 v1.1.9:
|
||||
|
||||
本次更新重点提升客户端稳定性与运行模式、优化远程桌面性能,并新增多项实用功能。
|
||||
|
||||
* 改进: 修改 client/SimpleSCLoader.c
|
||||
* 功能: 在进程管理中支持反黑屏功能
|
||||
* 改进: 为 `SCLoader` 添加调试代码
|
||||
* 功能: 在客户端构建选项中添加 `TinyRun.dll`
|
||||
* 修复: 查看注册表导致主控程序崩溃的问题
|
||||
* 修复: 打开密码生成对话框会修改最大连接数
|
||||
* 功能: 在远程桌面控制中支持录制视频
|
||||
* 功能: 支持客户端以 Windows 服务方式运行
|
||||
* 功能: 为主控程序添加参数设置菜单
|
||||
* 功能: 在远程控制中添加切换屏幕的菜单
|
||||
* 修复: 注册表错误,并使用 [MT] 重新编译 zlib、x264 和 libyuv
|
||||
* 功能: 为程序添加启动进度显示
|
||||
* 改进: 将多线程压缩设置为远程控制的可选项
|
||||
* 改进: 使用 SSE2 提升位图比较速度
|
||||
* 改进: 代码风格调整,并使用优化选项重新编译 zstd
|
||||
* 修复: 客户端死机问题,改进大数据包发送
|
||||
* 改进: 减少 IOCPServer 中 new/delete 内存的频率
|
||||
* 修复: 某些情况下 "std::runtime_error" 导致崩溃
|
||||
* 修复: TestRun (MDLL) 配置不生效的问题
|
||||
* 功能: 支持将 TestRun 构建为 Windows 服务
|
||||
* 改进: 通过异步消息处理提升主控端效率
|
||||
* 改进: 请求以管理员身份运行主控程序
|
||||
* 功能: 为在线主机添加 shellcode 注入菜单
|
||||
* 修复: `Ghost` 以 Windows 服务方式运行失败
|
||||
* 日志: 为 FileUpload 库和服务安装添加日志
|
||||
* 修复: 使用自定义结构体替代 char 缓冲区
|
||||
* 修复: 使用 DXGI 时禁用 SSE2(会导致崩溃)
|
||||
* 修复 (Windows 服务): 移除 AI 产生的冗余代码
|
||||
* 改进: 将客户端以管理员运行改为可选项
|
||||
* 修复: AudioManager 错误,移除 struct dlgInfo
|
||||
* 修复: 注册计划任务失败的问题,并添加日志
|
||||
* 修复: 主控和客户端之间复制文本需要延迟
|
||||
* 改进: 在客户端构建选项中添加 `runasAdmin`
|
||||
* 修复: 客户端离线问题和虚拟桌面打开问题
|
||||
* 改进: 为客户端程序计算唯一 ID
|
||||
|
||||
---
|
||||
|
||||
# 6.其他项目 <a id="6-other-projects"></a>
|
||||
|
||||
42
ReadMe_EN.md
42
ReadMe_EN.md
@@ -405,6 +405,48 @@ and adds a plugin example.
|
||||
* plugin: Add an example plugin project for reference
|
||||
* Feature: Add shellcode injection feature for process management
|
||||
|
||||
**2025.12.14**
|
||||
|
||||
Release v1.1.9
|
||||
|
||||
This update focuses on improving client stability and running modes, optimizing remote desktop performance, and adding several practical features.
|
||||
|
||||
* Improve: Modify client/SimpleSCLoader.c
|
||||
* Feature: Support anti black-screen in process management
|
||||
* Improve: Add debug code for `SCLoader`
|
||||
* Feature: Add `TinyRun.dll` to client building option
|
||||
* fix: Viewing registry causing master program crash
|
||||
* fix: Open password gen dialog will modify max connection
|
||||
* Feature: Support recording video in remote desktop control
|
||||
* Feature: Support client running as windows service
|
||||
* Feature: Add parameters setting menu for master program
|
||||
* Feature: Add menu to switch screen for remote control
|
||||
* fix: Registry error and use [MT] to rebuild zlib, x264 and libyuv
|
||||
* Feature: Add a startup progress display to the program
|
||||
* Improve: Set multi-thread compression as a option for remote control
|
||||
* Improve: Using SSE2 to improve bitmap compare speed
|
||||
* Improve: Code style change and rebuild zstd with optimization options
|
||||
* fix: Client dead issue and improve sending large packet
|
||||
* Improve: Reduce new / delete memory frequency in IOCPServer
|
||||
* fix: "std::runtime_error" causing crashes in some cases
|
||||
* fix: TestRun (MDLL) configuration doesn't take effort
|
||||
* Feature: Support build TestRun as windows service
|
||||
* Improve: Master efficiency by using asynchronous message processing
|
||||
* Improve: Ask for running master with administrator
|
||||
* Feature: Add menu (online host) for injecting shellcode
|
||||
* fix: `Ghost` run as windows service failed
|
||||
* logs: Add log for FileUpload libraries and service installing
|
||||
* fix: Use self-defined struct to replace char buffer
|
||||
* fix: Disable SSE2 (which causes crash) while using DXGI
|
||||
* fix (Windows Service): Remove the shit dropped by AI
|
||||
* Improve: Change running client as admin to an option
|
||||
* fix: AudioManager bug and remove struct dlgInfo
|
||||
* fix: Register schedule task failed issue and add logs
|
||||
* fix: Copy text between master and client need a delay
|
||||
* Improve: Add `runasAdmin` to client building options
|
||||
* fix: Client offline issue and virtual desktop opening issue
|
||||
* Improve: Calculate unique ID for client program
|
||||
|
||||
---
|
||||
|
||||
# 6. Related Projects
|
||||
|
||||
Binary file not shown.
@@ -88,7 +88,7 @@ IDR_WAVE WAVE "Res\\msg.wav"
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,1,8
|
||||
FILEVERSION 1,0,1,9
|
||||
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.1.8"
|
||||
VALUE "FileVersion", "1.0.1.9"
|
||||
VALUE "InternalName", "ServerDll.dll"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2019-2025"
|
||||
VALUE "OriginalFilename", "ServerDll.dll"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -777,7 +777,7 @@ VOID CMy2015RemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName
|
||||
m_CList_Online.SetItemData(i, (DWORD_PTR)ContextObject);
|
||||
}
|
||||
std::string tip = flag ? " (" + v[RES_CLIENT_PUBIP] + ") " : "";
|
||||
ShowMessage("操作成功",strIP + tip.c_str() + "主机上线");
|
||||
ShowMessage("操作成功",strIP + tip.c_str() + "主机上线[" + loc + "]");
|
||||
LeaveCriticalSection(&m_cs);
|
||||
Mprintf("主机[%s]上线: %s\n", v[RES_CLIENT_PUBIP].empty() ? strIP : v[RES_CLIENT_PUBIP].c_str(),
|
||||
std::to_string(id).c_str());
|
||||
@@ -1673,6 +1673,12 @@ void CMy2015RemoteDlg::OnOnlineUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
std::string floatToString(float f) {
|
||||
char buf[32];
|
||||
snprintf(buf, sizeof(buf), "%.2f", f);
|
||||
return std::string(buf);
|
||||
}
|
||||
|
||||
void CMy2015RemoteDlg::OnOnlineDelete()
|
||||
{
|
||||
// TODO: 在此添加命令处理程序代码
|
||||
@@ -1691,9 +1697,13 @@ void CMy2015RemoteDlg::OnOnlineDelete()
|
||||
context* ctx = (context*)m_CList_Online.GetItemData(iItem);
|
||||
m_CList_Online.DeleteItem(iItem);
|
||||
m_HostList.erase(ctx);
|
||||
auto tm = ctx->GetAliveTime();
|
||||
std::string aliveInfo = tm >= 86400 ? floatToString(tm / 86400.f) + " d" :
|
||||
tm >= 3600 ? floatToString(tm / 3600.f) + " h" :
|
||||
tm >= 60 ? floatToString(tm / 60.f) + " m" : floatToString(tm) + " s";
|
||||
ctx->Destroy();
|
||||
strIP+="断开连接";
|
||||
ShowMessage("操作成功",strIP);
|
||||
ShowMessage("操作成功",strIP + "[" + aliveInfo.c_str() + "]");
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
}
|
||||
@@ -2531,7 +2541,11 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
|
||||
auto ctx = (context*)m_CList_Online.GetItemData(i);
|
||||
m_CList_Online.DeleteItem(i);
|
||||
m_HostList.erase(ctx);
|
||||
ShowMessage("操作成功", ip + "主机下线");
|
||||
auto tm = ctx->GetAliveTime();
|
||||
std::string aliveInfo = tm>=86400 ? floatToString(tm / 86400.f) + " d" :
|
||||
tm >= 3600 ? floatToString(tm / 3600.f) + " h" :
|
||||
tm >= 60 ? floatToString(tm / 60.f) + " m" : floatToString(tm) + " s";
|
||||
ShowMessage("操作成功", ip + "主机下线[" + aliveInfo.c_str() + "]");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3718,9 +3732,13 @@ void CMy2015RemoteDlg::OnOnlineUninstall()
|
||||
context* ctx = (context*)m_CList_Online.GetItemData(iItem);
|
||||
m_CList_Online.DeleteItem(iItem);
|
||||
m_HostList.erase(ctx);
|
||||
auto tm = ctx->GetAliveTime();
|
||||
std::string aliveInfo = tm >= 86400 ? floatToString(tm / 86400.f) + " d" :
|
||||
tm >= 3600 ? floatToString(tm / 3600.f) + " h" :
|
||||
tm >= 60 ? floatToString(tm / 60.f) + " m" : floatToString(tm) + " s";
|
||||
ctx->Destroy();
|
||||
strIP += "断开连接";
|
||||
ShowMessage("操作成功", strIP);
|
||||
ShowMessage("操作成功", strIP + "[" + aliveInfo.c_str() + "]");
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ public:
|
||||
virtual int GetServerPort() const = 0;
|
||||
virtual FlagType GetFlagType() const = 0;
|
||||
virtual std::string GetGroupName() const = 0;
|
||||
|
||||
virtual uint64_t GetAliveTime()const = 0;
|
||||
public:
|
||||
virtual ~context() {}
|
||||
virtual void Destroy() {}
|
||||
@@ -381,6 +381,7 @@ public:
|
||||
ikcpcb* kcp = nullptr; // 新增,指向KCP会话
|
||||
std::string GroupName; // 分组名称
|
||||
CLock SendLock; // fix #214
|
||||
time_t OnlineTime; // 上线时间
|
||||
|
||||
// 预分配的解压缩缓冲区,避免频繁内存分配
|
||||
PBYTE DecompressBuffer = nullptr;
|
||||
@@ -481,6 +482,10 @@ public:
|
||||
bLogin = FALSE;
|
||||
m_bProxyConnected = FALSE;
|
||||
server = svr;
|
||||
OnlineTime = time(0);
|
||||
}
|
||||
uint64_t GetAliveTime()const {
|
||||
return time(0) - OnlineTime;
|
||||
}
|
||||
Server* GetServer()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user