基于DPAPI+RDP技术实现本地打开远程程序,并映射到本地机器桌面上
链接: https://pan.baidu.com/s/1QPstE5-1zPK-qOp8GQ90ew?pwd=6666 提取码: 6666






























/// <summary>
/// 加密数据
/// </summary>
/// <param name="dataToEncrypt"></param>
/// <returns></returns>
public static string EncryptData(string dataToEncrypt)
{
try
{
byte[] secret = Encoding.Unicode.GetBytes(dataToEncrypt);
byte[] encryptedSecret = ProtectedData.Protect(secret, additionalEntropy, DataProtectionScope.LocalMachine);
string res = string.Empty;
foreach (byte b in encryptedSecret)
{
res += b.ToString("X2");
}
return res; }
catch (Exception ex)
{
Console.WriteLine("加密过程中出现异常: " + ex.Message);
return null;
}
} /// <summary>
/// 解密数据
/// </summary>
/// <param name="dataToDecrypt"></param>
/// <returns></returns>
public static string DecryptData(string hexEncryptedData)
{
try
{
byte[] dataToDecrypt = ConvertHexStringToByteArray(hexEncryptedData);
byte[] decryptedData = ProtectedData.Unprotect(dataToDecrypt, null, DataProtectionScope.LocalMachine);
return Encoding.Default.GetString(decryptedData);
}
catch (Exception ex)
{
Console.WriteLine("解密过程中出现异常: " + ex.Message);
return null;
}
}
// 指定注册表键的路径
string registryPath = @"SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"; // 根据需要修改路径
string valueName = "fAllowUnlistedRemotePrograms"; // 注册表项名称 try
{
// 创建或打开指定的注册表键
using (RegistryKey key = Registry.LocalMachine.CreateSubKey(registryPath))
{
if (key != null)
{
// 设置值为 DWORD32 类型,并赋值为 1
key.SetValue(valueName, 1, RegistryValueKind.DWord);
MessageBox.Show("注册表键已创建并赋值成功。");
}
else
{
MessageBox.Show("无法创建注册表。");
}
}
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("您没有权限设置注册表,请以管理员身份运行程序。");
}
catch (Exception ex)
{
MessageBox.Show($"设置注册表发生错误: {ex.Message}");
}
后记:本工具打开的远程程序,支持局域网、外网,只要你可以通过远程桌面访问的服务器或者电脑,都可以通过该方式进行启动。
如果以上内容对你有帮助,欢迎点赞、在看、转发和留言。感谢大家的支持。也欢迎关注公众号:【Dotnet Dancer】
基于DPAPI+RDP技术实现本地打开远程程序,并映射到本地机器桌面上的更多相关文章
- C#通过rdp账密直接打开远程桌面
		思路是首先新建一个vbs脚本,再创建一个bat脚本,再创建rdp文件,运行顺序是vbs->bat->rdp.rdp文件里面包含远程电脑的账密和其它信息,这样就可以不用再输入账密,而在程序里 ... 
- 〖Linux〗使用ssh登录远程主机,并在本地打开远程图形界面
		1. 修改/etc/ssh/sshd_config文件,设置允许TCP转发和X11转发 AllowTcpForwarding yes X11Forwarding yes 2. 登录无图形远程主机,并允 ... 
- git删除本地及远程分支
		1. 删除本地分支: git branch -d branchName 2. 删除远程分支: // 方法一:将删除的本地分支推到远程(要删除的远程分支在本地有映射) git push origin : ... 
- emacs使用本地emacs server模式打开远程文件
		使用emacs的用户都知道,一般要打开远程机器上的文件要使用TrampMode模式,调用方式例如以下: C-x C-f /remotehost:filename RET (or /method:use ... 
- 基于CORBA/WEB技术构建三层体系结构的应用
		1 问题提出 在应用系统开发过程中,CLIENT/SERVER体系结构得到了广泛的应用 .其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端.但CL ... 
- Intel产品AMT本地及远程提权漏洞(CVE-2017-5689)复现 【转载自freebuf.com】
		零.绪论: 1.鸣谢freebuf的文章,主要是学习这个漏洞,文章地址: Intel产品AMT本地及远程提权漏洞(CVE-2017-5689)复现 2.在shadon上找了多个该漏洞尝试复现失败(评论 ... 
- 本地Windows远程桌面连接阿里云Ubuntu服务器
		本地Windows远程桌面连接阿里云Ubuntu 16.04服务器: 1.目的:希望通过本地的Windows远程桌面连接到阿里云的Ubuntu服务器,通过远程桌面图形界面的方式操作服务器. 2.条件: ... 
- iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权
		iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ... 
- iOS 打开本地 其他应用程序(URL Types)
		iOS 打开本地其他应用程序(URL Types) /*前言废话:Xcode是神奇的,是我所见到的编译器中最为神奇的,如:它可以同时运行两个甚至更多Project到我们模拟器上,可以同时使用一个模拟器 ... 
- Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site
		Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ... 
随机推荐
- vue页面加载慢,chunk-vendors.js文件太大
			今天拉取合并了同事的代码后页面加载速度变得非常慢,经过排查发现是因为加载的chunk-vendors.js太大 58m 28s就很离谱 经过同事指导加上百度终于找到解决办法,配置compression ... 
- 灵巧手 —— 智能仿生手 —— 人形机器人(humanoid)
			产品主页: https://www.brainco.cn/#/product/brain-robotics 国内销售的一款产品,美国华人生产的,灵巧度非常高的一款仿生手产品. 
- Dolphinscheduler不重启加载Oracle驱动
			转载自刘茫茫看山 问题背景 某天我们的租户反馈数据库连接缺少必要的驱动,我们通过日志查看确实是缺少部分数据库的驱动,因为DolphinScheduler默认只带了Oracle和MySQL的驱动,并且需 ... 
- 后端开发学习敏捷需求-->干系人分析与识别
			干系人分析与识别 5W1H 干系人分析与识别 1. 干系人是什么 直接或者间接影响专题,以及被专题影响的人和组织,用户也是属于干系人,是产品直接或者间接的使用者 又叫利益相关者,指积极参与专题或者在专 ... 
- VideoGeneration
			Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets 主要贡献:设计了一套数据清洗策略来清洗大 ... 
- LeetCode216.组合总和lll
			4.组合总和lll(LeetCode216) 题目叙述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 .该列 ... 
- 代码随想录Day15
			110.平衡二叉树 (优先掌握递归) 给定一个二叉树,判断它是否是 平衡二叉树 平衡二叉树 是指该树所有节点的左右子树的深度相差不超过 1. 示例 1: 输入:root = [3,9,20,null, ... 
- 微服务全链路跟踪:jaeger增加tag参数
			微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ... 
- [天线原理及设计>基本原理] 3. 辐射方向图或天线方向图
			<Antenna_Theory_Analysis_and_Design_3rd_Constantine_A._Balanis.pdf> 3. 辐射方向图或天线方向图 天线辐射方向图或天线方 ... 
- esp32挂esphome
			esp32挂esphome 使用docker创建容器 docker run -d --name='esphome' \ --restart=always \ -p 6052:6052 \ -e TZ= ... 
