狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

基于DPAPI+RDP技術(shù)實(shí)現(xiàn)本地打開遠(yuǎn)程程序,并映射到本地機(jī)器桌面上

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

 /// <summary>
 /// 加密數(shù)據(jù)
 /// </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("加密過程中出現(xiàn)異常: " + ex.Message);
         return null;
     }
 }
 /// <summary>
 /// 解密數(shù)據(jù)
 /// </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("解密過程中出現(xiàn)異常: " + ex.Message);
         return null;
     }
 }

 

設(shè)置注冊(cè)表的地方,也是很簡(jiǎn)單的一個(gè)寫死的代碼,供參考

 // 指定注冊(cè)表鍵的路徑
 string registryPath = @"SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"; // 根據(jù)需要修改路徑
 string valueName = "fAllowUnlistedRemotePrograms"; // 注冊(cè)表項(xiàng)名稱
 try
 {
     // 創(chuàng)建或打開指定的注冊(cè)表鍵
     using (RegistryKey key = Registry.LocalMachine.CreateSubKey(registryPath))
     {
         if (key != null)
         {
             // 設(shè)置值為 DWORD32 類型,并賦值為 1
             key.SetValue(valueName, 1, RegistryValueKind.DWord);
             MessageBox.Show("注冊(cè)表鍵已創(chuàng)建并賦值成功。");
         }
         else
         {
             MessageBox.Show("無法創(chuàng)建注冊(cè)表。");
         }
     }
 }
 catch (UnauthorizedAccessException)
 {
     MessageBox.Show("您沒有權(quán)限設(shè)置注冊(cè)表,請(qǐng)以管理員身份運(yùn)行程序。");
 }
 catch (Exception ex)
 {
     MessageBox.Show($"設(shè)置注冊(cè)表發(fā)生錯(cuò)誤: {ex.Message}");
 }

后記:本工具打開的遠(yuǎn)程程序,支持局域網(wǎng)、外網(wǎng),只要你可以通過遠(yuǎn)程桌面訪問的服務(wù)器或者電腦,都可以通過該方式進(jìn)行啟動(dòng)。

?轉(zhuǎn)自https://www.cnblogs.com/weskynet/p/18445584


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