0x01 工具介绍
一个远程桌面软件,用 Rust 编写。开箱即用,无需配置。您可以完全控制您的数据,无需担心安全性。您可以使用我们的集合点/中继服务器,设置您自己的集合点/中继服务器,或编写您自己的集合点/中继服务器。
下载地址在末尾
0x02 功能简介
文件结构
libs/hbb_common:视频编解码器、配置、tcp/udp 包装器、protobuf、用于文件传输的 fs 函数以及一些其他实用函数库/废料:屏幕截图
libs/enigo:平台特定的键盘/鼠标控制
libs/clipboard:Windows、Linux、macOS 的文件复制和粘贴实现。
src/ui:过时的 Sciter UI(已弃用)
src/server:音频/剪贴板/输入/视频服务和网络连接
src/client.rs : 启动对等连接
src/rendezvous_mediator.rs :与rustdesk-server通信,等待远程直接(TCP 打孔)或中继连接
src/platform : 平台特定代码
flutter:适用于桌面和移动设备的 Flutter 代码
flutter/web/js:Flutter Web 客户端的 JavaScript
依赖关系
桌面版本使用 Flutter 或 Sciter(已弃用)作为 GUI,本教程仅适用于 Sciter,因为它更容易上手且更友好。查看我们用于构建 Flutter 版本的CI 。
请自行下载Sciter动态库。
窗户| Linux | 苹果系统
截图
0x03更新介绍
变更日志
win、linux 删除桌面壁纸#5990
双屏双窗口支持#5945 #6064
将 Android 上的日志写入外部存储以供审核#6076
修复#6071、#6093、#6071、#6091、#6002、#6181、#6232、#6495、#6557 、 # 6453、#616、 #6603 、#6617、#5986
修复 Wayland:#5193、#6116、#6675、#6628
改进自动重新连接,#6125
在 id 输入框中添加自动完成功能,#6040
添加av1记录,#6084(这里引入了一点向后兼容性破坏,<1.2.4无法记录>=1.2.4)
selinux 提示#6128
每行/列表视图单个对等#6165
手动添加虚拟显示,#6199
4:4:4 真彩#6229
移动 uri #6266
Android 支持物理键盘#6097
连接到其他自主机或公共服务器上的设备#6198
更多卡巴斯基合规性#6303和#6333
新的隐私模式 2 #6406和增强模式 1 #6470
安卓唤醒锁,#6515
添加键盘输入源 2 作为后备,#6561
Wayland 的剪贴板共享,#6586
交换左右鼠标,#910
适用于 Windows 的新零复制模式硬件编解码器#6778
2FA #3212
添加 mac Retina 显示屏支持:#6980
0x04 使用介绍
如何在 Linux 上构建
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
openSUSE Tumbleweed
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
Build
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
使用 Docker 进行构建
首先克隆存储库并构建 Docker 容器:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
然后,每次需要构建应用程序时,运行以下命令:
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
请注意,第一次构建可能需要更长的时间才能缓存依赖项,后续构建会更快。此外,如果您需要为构建命令指定不同的参数,您可以在命令末尾的位置执行此操作<OPTIONAL-ARGS>。例如,如果您想构建优化的发行版本,您可以运行上面的命令,然后运行--release. 生成的可执行文件将在系统上的目标文件夹中可用,并且可以使用以下命令运行:
target/debug/rustdesk
或者,如果您正在运行发布可执行文件:
target/release/rustdesk
请确保您从 RustDesk 存储库的根目录运行这些命令,否则应用程序可能无法找到所需的资源。另请注意,此方法当前不支持其他货物子命令,例如install或run,因为它们将在容器而不是主机内安装或运行程序。
0x05下载:
https://github.com/rustdesk/rustdesk/releases
原文始发于微信公众号(渗透安全HackTwo):一个开源的远程桌面软件TeamViewer/向日葵/Todesk的替代品-工具分享
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论