RDP Wrapper Library 之自己搞定rdpwrap.ini更新

RDP Wrapper Library 之自己搞定rdpwrap.ini更新

RDP Wrapper Library支援多使用者Windows版本遠端桌面很爽,但是windows 10 經常更新,導致版本升級無法使用。

具體怎麼更新,https://blog.csdn.net/u010804317/article/details/104011926 文章寫得最全,關於如何取代rdpwrap.ini 如何 更新,

說的也比較詳細明白,但是有些含糊之處,特此補充。

(1) 更新rdpwrap.ini

作者說可以網上搜issue,但是我的經驗是經常搜到也打不開,不知道是網路還是什麼原因。因此還是覺得需要靠自己想辦法。

注意到, https://github.com/asmtron/rdpwrap 據說有大牛寫了自動更新ini 的批處理。

裡面有autoupdate.bat 內容我測試有些bug,但是不想除錯批處理。但是發現批處理里值得注意的是

裡面竟然有ini的源地址

https://raw.githubusercontent.com/saurav-biswas/rdpwrap-1/master/res/rdpwrap.ini

還有其他的如下

set rdpwrap_ini_update_github_1="https://raw.githubusercontent.com/asmtron/rdpwrap/master/res/rdpwrap.ini"
set rdpwrap_ini_update_github_2="https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini"
set rdpwrap_ini_update_github_3="https://raw.githubusercontent.com/affinityv/INI-RDPWRAP/master/rdpwrap.ini"
set rdpwrap_ini_update_github_4="https://raw.githubusercontent.com/DrDrrae/rdpwrap/master/res/rdpwrap.ini"
set rdpwrap_ini_update_github_5="https://raw.githubusercontent.com/saurav-biswas/rdpwrap-1/master/res/rdpwrap.ini"

我們無法直接下載,不確定原因,又因為https 只能使用網域名稱,因此直接使用

https://site.ip138.com/raw.Githubusercontent.com/

搜尋到的IP ,加入windows 的 hosts

直接瀏覽器執行

https://raw.githubusercontent.com/saurav-biswas/rdpwrap-1/master/res/rdpwrap.ini

存入 rdpwrap.ini 就可以了。 我的版本更新到的是10天前windows 更新的版本。算是最新的了。

注意取代時需要停止服務,再重啟。

2)第二種方法,全部自己搞定

前面文章中分析到了遠端桌面,主要是hook了termsrv.dll 所以找到如何搜尋地址的方法

完全可以自己搞定

[10.0.17763.1-SLInit] RDPWrapper能支援的termsrv.dll版本號

bInitialized.x86 =CD798 X86這是針對32位系統的配置

bServerSku.x86 =CD79C

lMaxUserSessions.x86 =CD7A0

bAppServerAllowed.x86 =CD7A8

bRemoteConnAllowed.x86=CD7AC

bMultimonAllowed.x86 =CD7B0

ulMaxDebugSessions.x86=CD7B4

bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0 x64這是針對64位系統的配置

bServerSku.x64 =ECAB4

lMaxUserSessions.x64 =ECAB8

bAppServerAllowed.x64 =ECAC0

bRemoteConnAllowed.x64=ECAC4

bMultimonAllowed.x64 =ECAC8

ulMaxDebugSessions.x64=ECACC

bFUSEnabled.x64 =ECAD0

https://github.com/asmtron/rdpwrap

注意到,rdpwrap-ini-kb.txt

; HOW TO search CDefPolicy::Query function in IDA Pro:
; 1. Search text: CDefPolicy::Query
; 2. All xrefs will point to this function (in x64 version xref sometimes points to subroutine, so you need to go one level up)
; 3. Go to first graph block and find cmp/jz instructions on the bottom of block

; Patch CDefPolicy::Query
; Original
; .text:6F335CD8 cmp edx, [ecx+320h]
; .text:6F335CDE pop esi
; .text:6F335CDF jz loc_6F3426F1
; Changed
; .text:6F335CD8 mov edx, 100h
; .text:6F335CDD mov [ecx+320h], edx
; .text:6F335CE3 pop esi
; .text:6F335CE4 nop
DefPolicyPatch.x86=1
DefPolicyOffset.x86=15CD8
DefPolicyCode.x86=CDefPolicy_Query_edx_ecx

參照這個發現其實可以透過 IDA Pro 自行分析解決。裡面有樣例 就不一一解答。

開啟IDE64

預設就可以開啟。

按照說明搜尋即可,自己就可以編輯了。再也不用麻煩別人了。

注意在反編譯時,注意IDA 自動修改下載pdb 檔案, 不知道是否是版本問題,

PDB: downloading http://msdl.microsoft.com/download/symbols/termsrv.pdb/F5515C5CD4624F8ED1C2CC87D62F7A451/termsrv.pdb => C:Users

下載失敗,認為是因為現在都用https協定,所以失敗。加上https 自行下載 儲存就OK

IDA pro 載入pdb後 可以顯示函式名

實在沒有時間自己反編譯製作INI檔案,偷個懶自己直接下載了

不過研究的過程很有趣。

第一篇立此為據!