【寫在前面】
先來談談什麼是「遠端桌面」?
遠端桌面協定(英語:Remote Desktop Protocol,縮寫:RDP)是一個多通道(multi-channel)的協定,讓使用者(用戶端或稱「本機電腦」)連上提供微軟終端機服務的電腦(伺服器端或稱「遠端電腦」)。大部份的Windows都有用戶端所需軟體。其他作業系統也有這些用戶端軟體,例如Linux、FreeBSD、Mac OS X。伺服端電腦方面,則聽取送到TCP 3389埠的資料。原文出處:遠端桌面協定 - 維基百科
白話一點就是只要有網路的地方就可以連線回去你的電腦,而傳送回來的電腦畫面看起來以及操作起來就好像你真的是在電腦前面操作,畫面順暢沒有延遲這一點就很重要!微軟在 RDP 這方面的確擁有黑科技啊啊啊!
不過話說回來,一般家庭用戶一輩子應該也是用不到這功能(或者使用次數十根手指頭就數得出來),比較常見的應用是在於企業環境(Enterprise),因為企業環境的使用者數量多,而且員工不一定常在辦公座位上,這時在其他辦公區域想要操作自己平時在用的電腦時,就必須要用上遠端桌面(mstsc.exe)。
而微軟(Microsoft)為了區分產品等級和授權,在 Server 版本以上開放的遠端桌面連線數量都是 2 個以上(其實預設也是只有一個,不過可以靠「本機群組原則編輯器」來將「限制遠端桌面服務的使用者只能使用一個遠端桌面服務工作階段」給停用),至於 Client 版本一次就只限定一個遠端桌面 Session(單人多工),無法達成多人同時遠端桌面連線(多人多工),所以就要想辦法破解遠端桌面連線數量了。
破解方法 Google 資料就一堆,常見的就是 Windows XP 以及 Windows 7 專用破解檔,關鍵字就是「UniversalTermsrvPatch_20090425」,文末筆者也提供載點供下載使用。
因為筆者在駐點公司的備用電腦是 Windows 7 作業系統,但是已經好多年沒重灌導致越跑越慢,某天心一橫就把他給打掉重練全新安裝升級至 Windows 8.1 Pro,此時問題就來了,竟然找不到給 Win8.1 用的遠端桌面連線數量破解檔,難道系統太新也是一種錯誤?
無奈沒有別人修改好的破解檔,所以只好自己手動修改,也才有這篇文章出現。
其實這類破解方法只是換湯不換藥,只要把負責遠端桌面連線的「termsrv.dll」給抓出來修改就好。
Windows 8.1 自 RTM 發布以來「termsrv.dll」的版本已經更新過 3 次:
- 2013 年 RTM :6.3.9600.16384 (1,032,704 位元組)
- 2014 年 7 月: 6.3.9600.17095 (1,018,880 位元組)
- 2014 年 11 月:6.3.9600.17415 (1,114,624 位元組)
所以在修改之前,我們先到「C:\Windows\System32」底下把「termsrv.dll」給找出來,看一下他的「內容」→「詳細資料」,如下圖所示:
注意:本文修改範例以 Microsoft Windows 8.1 Professional with Update3 64 位元之「6.3.9600.17415」版本為基準,其餘版本修改方法一樣只是機碼不同,這部分筆者將列於文末。
然後先把「termsrv.dll」給複製到桌面以方便修改,接著我們就要使用十六進制編輯軟體,這邊就推薦使用免費的「HxD1.7.7.0」來完成任務!
使用 HxD1.7.7.0 把剛剛放在桌面的「termsrv.dll」點選「開啟」來進行編輯。
先「Ctrl + F」搜尋一下原始機碼,確認完再來做修改。
- 39 81 3C 06 00 00 0F 84 D3 1E 02 00
接著點選「搜尋」→「取代」,資料類型請選擇「十六進位制」,搜尋方向為「全部」。
請將原始機碼
- 39 81 3C 06 00 00 0F 84 D3 1E 02 00
取代成
- B8 00 01 00 00 89 81 38 06 00 00 90
再搜尋一次確認機碼已變更,要記得點選「儲存」後離開。
把修改過的「termsrv.dll」檔案給複製到「C:\Windows\System32」底下取代原本檔案,不過我相信你一定覆蓋不過去!
這時你心裡一定不禁納悶:
「WTF!我本身就是 Administrator,在我的世界裡沒有存取被拒這四個字啊!這台電腦的權限就我最大我最屌!怎麼會沒有權限存取呢???操!」
檢視一下他的安全性內容,原來是「TrustedInstaller」的權限在搞鬼,他竟然凌駕在 Administrator 之上耶!阿不就好棒棒???
簡單說就是鑒於過去很多電腦被感染病毒,或者是重要系統檔案遭竄改刪除,主要原因就是這些惡意程式取得了最高權限的帳號密碼,才能對電腦恣意的發動攻擊,所以從 Windows Vista 開始 TrustedInstaller 就誕生了,他是一個 Windows 的 Services,服務名稱為「Windows Modules Installer」,他的工作是模擬一個虛擬的權限,對於重要的系統檔,不管是 System 或 Administrator 帳號,只賦予讀取的功能,而完整的控制功能,則交給「TrustedInstaller」這個虛擬帳號。
既然只是權限問題,我們只要取得不就好了!
首先在桌面上新增一個「文字文件」,打開編輯將以下內容複製貼上後存檔成「TrustedInstaller權限.reg」,記得將副檔名由「.txt」改為「.reg」,然後再執行這個登錄檔即可。
Windows Registry Editor Version 5.00
@="取得權限:TrustedInstaller"
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="取得權限:TrustedInstaller"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /dy && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /dy && icacls \"%1\" /grant administrators:F /t"
這時候你將「C:\Windows\System32」底下的「termsrv.dll」檔案給他按下右鍵,點選名為「取得權限:TrustedInstaller」的功能,然後再丟一次檔案你就會發現可以取代原有檔案囉!灑花~
以上步驟都成功後,就可以去測試多人遠端桌面連線有沒有可以正常執行。筆者應該不用示範了吧…
【其他版本機碼】
◆Windows 8.1 RTM (64bit) - 2013.08
6.3.9600.16384 (1,032,704 位元組)
請將原始機碼
- 8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
取代成
- B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90
◆Windows 8.1 Update (64bit) - 2014.07
6.3.9600.17095 (1,018,880 位元組)
請將原始機碼
- 39 81 3C 06 00 00 0F 84 9E 31 05 00
取代成
- B8 00 01 00 00 89 81 38 06 00 00 90
◆Windows 8.1 Update3 (64bit) - 2014.11
6.3.9600.17415 (1,114,624 位元組)
請將原始機碼
- 39 81 3C 06 00 00 0F 84 D3 1E 02 00
取代成
- B8 00 01 00 00 89 81 38 06 00 00 90
【寫在後面】
好的,算你有耐心看到這邊,跟你說一個秘密,其實上面看不懂沒關係,筆者已經把修改好的「termsrv.dll」檔案上傳至雲端硬碟,你只要點選適當的連結下載替換原檔就可以了喔!別打我啊啊啊~
【免責聲明】
1. 本人提供的所有資源均是在網上搜集。任何涉及商業盈利目的均不得使用,否則產生的一切後果將由您自己承擔!
2. 僅供個人測試無販售行為及獲得任何利益!
3. 凡交流會員請於下載後24小時以內將檔案刪除!
4. 滿意者請購買正版並尊重智慧財產權!
5. 如作為其它用途,皆與作者無關!
【下載連結】
◤ HxD1.7.7.0:MEGA
◤ WinXP、Vista、7:UniversalTermsrvPatch_20090425
◤ TrustedInstaller:TrustedInstaller權限.reg
* 解壓密碼:kuang1984tw.pixnet.net/blog
留言列表