有没有开源的 RDP 远程桌面控制程序,比如 LookMyPC

2020-09-27 14:40:53 +08:00
 s609926202
LookMyPC 有一个好处是有 SDK 开发包,不过登录需要经过他们自己的服务器,也就是需要付费,10 台机器就得 10000 大洋,太贵了。

还有没有类似的可开发的开源的远程控制软件可以使用?谢谢。
2184 次点击
所在节点    问与答
8 条回复
gstqc
2020-09-27 14:44:24 +08:00
kangsheng9527
2020-09-27 16:52:38 +08:00
其实这些 RDP 编写难度不大, ,,(以前有个人吓唬我以为好难,现在一看还算简单)
客户端普通简单界面
5 万元帮你写一份简单的,完全属于你版权的 RDP,远端是 windows 。。。

原理好简单,截图对比更新相应变化,加入适当加密。。。

如果同时兼容 linux 端请加 8 万,总计 13 万。
客户端服务器同时兼容 windows 、linux 。

再加上 mac osx 端再加 10 万。。。
s609926202
2020-09-27 16:54:12 +08:00
@kangsheng9527 这个得会 c#或者 c++语言吧、
kangsheng9527
2020-09-27 17:12:23 +08:00
不需要,能截图的语言都可以例如 python 、java 、go 、c 、c++、c#、nodejs 等等。。。
截图然后对比上一张图的变化,有变化的地方就加密传回到客户端,客户端更新变化的地方,所以非常节省流量的,能做到跟 windows 的 rdp 一样的效果。。。
1 年经验就可以做到。
但是要做安全类产品就需要摸熟全套。。。全方位的业务掌握及底层、后门、硬件等问题
angryfish
2020-09-27 17:55:56 +08:00
@kangsheng9527 看到您的思路,我觉得确实不难了。话说,画面变化对比怎么做的?
kangsheng9527
2020-09-27 23:35:34 +08:00
@angryfish 服务端,就是放在服务器上的那端负责定时间隔截图例如每 0.1 秒截图一次。

每张截图都是固定大小的,只要屏幕色彩位数不变,像素不变情况下。。。

如:
protobuf 定义结构如下,
message BytesMessage{
repeated bytes screenBytes = 1; //原始截图数据,第一次带全数据,第二次开始这里为空,节省带宽
map<int, uint32> screenChangedMapIntByes = 2;//protobuf3 没有 uint8,uint8 足够表示,客户端那边转为 uint8 刷入到指定变化位置。用于记录截图那些出现了变化,如果只有第 10 、23[]byte 出现变化那么 screenChangedMapIntByes[9]=uint32(screenBytes[9]),screenChangedMapIntByes[22]=uint32(screenBytes[22])
}
//以上设计相对于截图然后将没有变化的位置全部置 0 传输中,在屏幕变化少于一半的情况下是优势的,但是当屏幕变化较大可以采用没变化位置置 0 传输让客户端自己对比上一张截图数据实现更新。。。
//还能压缩一下再传送,这个自己代码中测试。。。

根本不需要其他第三方库或者 sdk 之类。。。完全自己完成所有。。。
s609926202
2020-09-28 09:12:35 +08:00
@kangsheng9527 市面上的远控大多是截图对比这个原理吗?我想着是利用微软自带的 RDP,在 RDP 的基础上集成他们的软件。。。
kangsheng9527
2020-09-29 13:20:54 +08:00
‘大多’如何实现的不知道,不懂你后半句话意思

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX