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文件,偷个懒自己直接下载了
不过研究的过程很有趣。
第一篇立此为据!