欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

基于DPAPI+RDP技術實現本地打開遠程程序,并映射到本地機器桌面上

freeflydom
2024年10月11日 8:44 本文熱度 591
本教程使用工具所使用的環境說明:
啟動器開發工具:VS2022
啟動器所用客戶端技術:.NET 8 + WPF
啟動器其他技術:DPAPI
啟動器發布的可執行程序,系統要求:Windows 7以及以上,X64
如果需要本程序,可以在網盤獲取。網盤地址:
通過網盤分享的文件:RemoteShadowApp.7z 鏈接: https://pan.baidu.com/s/1QPstE5-1zPK-qOp8GQ90ew?pwd=6666 提取碼: 6666
 
接下來是該工具的具體使用教程。
先對遠程服務器上面的注冊表進行設置。路徑如下:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
如下圖所示,目前里面沒啥東西。
 
可以通過當前工具進行設置,在服務器上面打開RemoteShadowApp程序,然后點擊設置注冊表,即可看到注冊表被自動創建成功了。這樣可以直接快速設置注冊表。
當然,如果不想在服務器上面運行,也可以手動自己設置一下。自己創建一個注冊表,創建DWORD鍵值對,名稱是 fAllowUnlistedRemotePrograms 對應的值設為1。如果覺得麻煩,那就用我上面的工具直接設置,效果也是一樣的。
 
 
在本機機器上面,就可以通過遠程訪問目標服務器的程序了。操作如下:
例如我要打開遠程桌面上的Notepad++程序
我需要獲取服務器的IP、登陸的用戶名、密碼、以及NotePad++的啟動程序的絕對路徑,例如如下圖所示。我沒做記住信息功能,所以大家也可以自己創建一個記事本之類的,存儲你的遠程程序信息,方便粘貼進去填寫。都輸入完畢以后,點擊 【打開遠程程序】 按鈕
 
注意事項:如果遠程服務器有360等軟件,可能會限制你的權限,例如一直卡在這個界面
 
此刻你需要點開 顯示詳細信息,可以看到有一個登陸按鈕,點擊登陸即可。這個只有部分遠程服務器會出現,如果本機沒有一些限制設置或者安全軟件,這一步不會出現。僅在有出現這個現象的時候才需要這樣操作。
打開的遠程的notepad++程序,效果如圖所示。
接著我們打開遠程服務器,看下現象。具體如圖所示效果。
 
支持打開多個遠程程序,例如,我現在打開一個以前自己寫的控制臺程序服務,地址如下
在剛才的程序里面,更改啟動的路徑為上面的控制臺服務路徑,然后啟動??梢钥吹絾映晒α恕2⑶液蜕弦粋€notepad程序可以共存。
同樣,服務器上面也并不存在控制臺程序的頁面,但是存在進程??刂婆_程序也是占用服務器資源,而不會占用本地資源。
如果當前沒啥需要,就可以退出啟動器,退出啟動器對已經打開的遠程程序沒有任何影響。啟動器只是用來提供遠程程序作用,沒有其他功能。
 
啟動器核心功能,主要是DPAPI加密功能。DPAPI(數據保護應用程序編程接口)是微軟提供的一個用于幫助保護數據安全的API,它可以簡化在Windows平臺上的數據加密過程。DPAPI 提供了一個系統級別的加密服務,其特點是不需要應用程序自行處理加密密鑰的存儲和保護。DPAPI主要用于保護敏感信息,如密碼、密鑰和其他個人或系統數據。
如下所示代碼,我在Wesky.Net.Opentools開源項目上也有集成該功能。此處我在本程序內直接使用來加密。必須加密以后的密碼,才能被遠程服務器識別。
 
下面是DPAPI具體的加密和解密過程:

 /// <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}");
 }

后記:本工具打開的遠程程序,支持局域網、外網,只要你可以通過遠程桌面訪問的服務器或者電腦,都可以通過該方式進行啟動。

?轉自https://www.cnblogs.com/weskynet/p/18445584


該文章在 2024/10/11 8:44:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved