基于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 ...
随机推荐
- docker redis集群实验
集群redis 分片+高可用+负载均衡 master + slave{1..5} 一个挂了另一个顶上 通过脚本创建6个redis配置文件 [root@docker ~]# for port in $( ...
- appium python 点击坐标 tap
appium python 点击坐标 tap 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击, ...
- ddddocr验证码图片识别YYDS
纯数字 数字+字母 python代码: import ddddocr def main(imgpath): # imgpath='E:\yam_0.png' ocr = ddddocr.DdddOcr ...
- 2024年 智能机器人元年 —— 国内的智能机器人(humanoid)公司当下最大的压力(最为急迫的任务)是什么?
可以说,2024年是人形机器人的元年.我国在去年年底将发展智能机器人立为了第一线的重要科技发展方向,并计划在2024年.2025年建立出完整的产业链条,并培育出几家成熟的行业领先的智能机器人公司.而我 ...
- XXL-JOB系统化图文教程
1.背景 大纲 调度任务在系统中中经常用到, 比如 定时发送营销短信 定时检查订单状态 等等..... 总之我们经常会用到定时任务 官方文档:https://www.xuxueli.com/xxl-j ...
- [COCI 2023/2024 #3] Slučajna Cesta 题解
前言 期望套期望,很有意思.来一发考场首 A,近 \(\Theta(n)\) 的算法. 题目链接:洛谷. 题意简述 一棵树,每条边随机设有方向.对于所有 \(i\),从 \(i\) 开始随机游走,直到 ...
- Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSON Schema呢? 在数据交换领域,JSON Schema 以其强大的标准化能力,为定义和规范 JSON 数据的结构与规则提供 ...
- 突破单点瓶颈、挑战海量离线任务,Apache Dolphinscheduler在生鲜电商领域的落地实践
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 精彩回顾 近期,食行生鲜的数据平台工程师单葛尧在社区线上 ...
- [原创] 域格CLM920模组使用pppd专网拨号
域格CLM920模组使用pppd专网拨号 参考资料 参照<9X07 模块LINUX集成用户手册版本_V1.60>的第四章节使用pppd拨号上网 编写chat脚本chat-script 要点 ...
- Win32 拆分窗口
前两天学习了MFC的拆分窗口,今天来学习Win32 SDK下如何拆分窗口. win32是没有像MFC那样直接有函数方法拆分窗口,只能自己处理了. 1.在WM_CREATE消息中创建两个控件,TreeV ...