摘要:简单记录一下windows下freerdp的编译过程。

劝退警告

如果要在windows下使用NTLM直接登录rdp,就放弃使用freerdp吧。这个软件有bug,老老实实用mimikatz吧。 本人才疏学浅,不能够直接把依赖的全部dll打包成一个exe,需要连同dll一块复制。

如果需要直接使用,可以去官方界面freerdp-nightly-windows直接下载编译好的wfreerdp.exe

环境准备

Visual Studio 2019 下载地址:Visual Studio 2019
Cmake 2.30.2 下载地址: cmake-3.30.2-windows-x86_64.msi
Win64OpenSSL-3_3_1 下载地址:Win64OpenSSL-3_3_1.exe
Libusb-1.0.24 下载地址:libusb-1.0.24.7z
Zlib131 下载地址:zlib131.zip
Ffmpeg-7.0.2-full_build-shared 下载地址:ffmpeg-release-full-shared.7z
SDL2_ttf-devel-2.22.0-VC 下载地址:SDL2_ttf-devel-2.22.0-VC.zip
SDL2-devel-2.30.6-VC 下载地址:SDL2-devel-2.30.6-VC.zip

Visual Studio 2019配置如下:

记一次不完整的freerdp编译(1).png

上面的软件如果需要安装直接无脑下一步安装即可。安装完后按照下图配置环境变量:

记一次不完整的freerdp编译(2).png

编译过程

编译zlib

打开Cmake,配置路径

记一次不完整的freerdp编译(3).png

其次,点击 Configure 按钮,然后 Optioal platform for generator选择 x64

记一次不完整的freerdp编译(4).png

最后点击 Generate 按钮,可以在下面的提示框中看到生成工程文件成功了。然后点击 Open Project 按钮。会自动打开Visual Studio 2019。

记一次不完整的freerdp编译(5).png

首先右键选择 INSTALL 文件夹,然后选择 "设为启动项目"。

记一次不完整的freerdp编译(6).png

然后检查下配置管理器是不是Release x64,没问题直接生成就行。

记一次不完整的freerdp编译(7).png

编译freerdp

首先从github下载源码 freerdp 3.7.0

打开Cmake,配置路径

记一次不完整的freerdp编译(8).png

其次,点击 Configure 按钮,然后 Optioal platform for generator选择 x64:

记一次不完整的freerdp编译(9).png

然后配置刚刚下载的Libusb-1.0.24路径

记一次不完整的freerdp编译(10).png

然后去掉不需要的FFmpeg 模块,不然会报错。搜索WITH_FFMPEG,去掉 Value 的勾选。WITH_SWSCALE、WITH_AAD也都去掉。
去掉后再点击Configure按钮。

记一次不完整的freerdp编译(11).png

最后点击 Generate 进行生成,然后点击 Open Project 打开工程文件。

记一次不完整的freerdp编译(12).png

然后右键选择 wfreerdp 文件夹,然后选择 "设为启动项目"。然后生成即可。

记一次不完整的freerdp编译(13).png

使用

freerdp的软件开发者也是个奇葩,在命令行直接运行不会有任何输出。

记一次不完整的freerdp编译(14).png

必须使用>将结果重定向到文件,在文件里看输出,mmp.

记一次不完整的freerdp编译(15).png

远程桌面到其他主机的命令如下

wfreerdp /v:目标机ip:目标机ip远程端口号 /u:用户名 /p:密码

资源

这是我自己编译的freerdp。做个纪念......
freerdp.zip

参考

FreeRDP在Windows上编译详细过程
FreeRDP在windows上的编译和使用

文章目录