版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、rdp協(xié)議詳細(xì)解析(一)rdp協(xié)議詳細(xì)解析一 前言二 概述三 同絡(luò)層次四 各連接模塊說(shuō)明五 各功能模塊說(shuō)明六 rdpwin結(jié)構(gòu)、數(shù)據(jù)流說(shuō)明七 總結(jié)一、前言windows從nt開(kāi)始提供終端服務(wù),它是微軟買(mǎi)來(lái)的網(wǎng)絡(luò)協(xié)議技術(shù)(citrix),服務(wù)器端要安裝、配置,客戶(hù)端要連接程序。終端服務(wù)使任何一臺(tái)有權(quán)限的終端機(jī),用已知的賬號(hào)登錄服務(wù)器,可以使用賬號(hào)內(nèi)的資源,包括軟件,硬件資源;同時(shí),在協(xié)議升級(jí)后,客戶(hù)端連接后可以使用本地的資源,包括本地打印機(jī)、聲音本地回放,本地磁盤(pán)資源和本地硬件接口。所有的計(jì)算都在服務(wù)器端進(jìn)行,客戶(hù)端只需要處理網(wǎng)絡(luò)連接、接收數(shù)據(jù)、界面顯示和設(shè)備數(shù)據(jù)輸出。目前,關(guān)于rdp服務(wù)的li
2、nux客戶(hù)端程序有winconnect,linrdp,rdesktop,前兩個(gè)沒(méi)有源碼,但redsktop已經(jīng)由原來(lái)的個(gè)人開(kāi)發(fā)后公開(kāi)代碼演變成現(xiàn)在的項(xiàng)目組開(kāi)發(fā)。由于項(xiàng)目的跨平臺(tái)開(kāi)發(fā)需要,我們?cè)陂_(kāi)始時(shí)進(jìn)行過(guò)單獨(dú)的協(xié)議破解工作,破解后,我們的程序在原來(lái)的rdp4.0基礎(chǔ)上擴(kuò)展到5.1,實(shí)現(xiàn)了16位顏色,聲音本地回放, 映射本地打印機(jī)。對(duì)于當(dāng)前的終端機(jī),這些功能完全滿(mǎn)足需要,因此其他功能暫不便破解實(shí)現(xiàn)。為防患rdp協(xié)議的升級(jí)而影響我們破解而得的終端程序的功能性,需要對(duì)rdp協(xié)議的變化進(jìn)行跟蹤,對(duì)et-rdesktop進(jìn)行優(yōu)化、完善。鑒于當(dāng)前的工作安排,將跟蹤redsktop項(xiàng)目的進(jìn)展,以提煉功能為我
3、所用和完善現(xiàn)有程序。二、概述1 版本功能說(shuō)明:rdp協(xié)議在終端服務(wù)推出后已有四個(gè)版本,4.0、5.0、5.1、5.2。一般來(lái)說(shuō),版本是根據(jù)windows的版本確定的。從客戶(hù)端的角度來(lái)說(shuō),5.x版本間提供的功能差別不是很大,相對(duì)于4.0版本,它提供了用戶(hù)帶密碼直接登錄、客戶(hù)端驅(qū)動(dòng)器資源映射、客戶(hù)端音頻回放、最高24位色顯示和符合fips加密級(jí)別連接。另外,從4.0協(xié)議開(kāi)始變提供的客戶(hù)羰功能有:高、中、低三種數(shù)據(jù)加密級(jí)別,客戶(hù)端自定義初始登錄環(huán)境,客戶(hù)端打印機(jī)映射,客戶(hù)端lpt端口映射,客戶(hù)端com端口映射,剪貼板映射,客戶(hù)登錄的個(gè)性化設(shè)置(包括鍵盤(pán)、顯示界面大小等)。2、協(xié)議層次說(shuō)明: 通過(guò)破解
4、研究,我們掌握了rdp協(xié)議的基本層次結(jié)構(gòu)?;旧希瑀dp協(xié)議的每一層次上都標(biāo)示出其層內(nèi)的數(shù)據(jù)長(zhǎng)度值。 對(duì)于層次劃分,主要是指rdp協(xié)議網(wǎng)絡(luò)功能數(shù)據(jù)傳送時(shí)通常都包含的各層次,而對(duì)于各層次內(nèi)所實(shí)現(xiàn)的單層次連接等功能將做為單獨(dú)的模塊來(lái)進(jìn)行闡述。 網(wǎng)絡(luò)連接層:rdp協(xié)議建立在tcp/ip協(xié)議之上,由于傳輸?shù)臄?shù)據(jù)量比較大,因此在協(xié)議的底層首先定義一層網(wǎng)絡(luò)連接層。它定義了一個(gè)完事的rdp數(shù)據(jù)邏輯包,以避免由于網(wǎng)絡(luò)包長(zhǎng)度過(guò)長(zhǎng)而被分割使數(shù)據(jù)丟失。 iso數(shù)據(jù)層:在網(wǎng)絡(luò)連接層之上是iso數(shù)據(jù)層,它表示rdp數(shù)據(jù)的正常連接通信。 虛擬通道層:在iso數(shù)據(jù)層之上,rdp協(xié)議定義一個(gè)虛擬通道層,用以拆分標(biāo)示不同虛擬通
5、道的數(shù)據(jù),加快客戶(hù)端處理速度,節(jié)省占用網(wǎng)絡(luò)接口的時(shí)間。 加密解密層:在虛擬通道層之上,rdp定義一個(gè)數(shù)據(jù)加密解密層。此層用于對(duì)所有的功能數(shù)據(jù)進(jìn)行加密、解密處理。 功能數(shù)據(jù)層:在加密解密層之上是功能數(shù)據(jù),畫(huà)面信息,本地資源轉(zhuǎn)換,聲音數(shù)據(jù),打印數(shù)據(jù)等所有的功能數(shù)據(jù)信息都在此層進(jìn)行處理。另外,根據(jù)數(shù)據(jù)類(lèi)型的不同,這些數(shù)據(jù)都有各自不同層次的分割,他們的內(nèi)部層次結(jié)構(gòu)將在各個(gè)功能模塊中進(jìn)行闡述。3 其它說(shuō)明: 本協(xié)議解析中所提到的各層次結(jié)構(gòu)都是指rdp功能數(shù)據(jù)正常傳送時(shí)的各底層結(jié)構(gòu),在功能數(shù)據(jù)傳送前的各層次的建立連接過(guò)程及其結(jié)構(gòu)、實(shí)現(xiàn)都?xì)w于模塊實(shí)現(xiàn)來(lái)進(jìn)行說(shuō)明。 對(duì)于服務(wù)器端的各種設(shè)置以及個(gè)版本間的內(nèi)部實(shí)現(xiàn)
6、差異請(qǐng)看rdp幫助文檔,以及rdpwin開(kāi)發(fā)文檔。4 連接過(guò)程說(shuō)明: 1) 客戶(hù)端連接服務(wù)器 2) iso數(shù)據(jù)層建立連接 3) 發(fā)送初始協(xié)議相關(guān)信息,接收加密、解密密鑰 4) 虛擬通道申請(qǐng) 5) 加密形式發(fā)送客戶(hù)端系統(tǒng)信息,同時(shí)驗(yàn)證加密協(xié)議 6) 平臺(tái)軟件證書(shū)驗(yàn)證 7) 各功能建立連接,各功能數(shù)據(jù)傳輸,功能實(shí)現(xiàn)三、網(wǎng)絡(luò)層次:1 網(wǎng)絡(luò)連接層:在rdp協(xié)議網(wǎng)絡(luò)實(shí)現(xiàn)連接中,本層的數(shù)據(jù)格式是固定的。內(nèi)容協(xié)議版本號(hào)保留此邏輯包長(zhǎng)度字節(jié)數(shù)112值當(dāng)前版本皆是30邏輯長(zhǎng)度,從版本號(hào)開(kāi)始到本包結(jié)束2 iso數(shù)據(jù)層:在rdp功能數(shù)據(jù)網(wǎng)絡(luò)傳輸中,本層的數(shù)據(jù)格式是固定的。內(nèi)容單層數(shù)據(jù)長(zhǎng)度iso包類(lèi)型標(biāo)志字節(jié)數(shù)111
7、值2,從下字節(jié)開(kāi)始計(jì)算0xf0,表示數(shù)據(jù)0x803 虛擬通道層: 虛擬通道層用于在正常的網(wǎng)絡(luò)連接數(shù)據(jù)之上,中個(gè)虛擬通道的功能數(shù)據(jù)。此層次的連接另見(jiàn)初始連接模塊與通道申請(qǐng)模塊,在此只說(shuō)明正常數(shù)據(jù)連接時(shí)的層次結(jié)構(gòu)。 1) 結(jié)構(gòu)信息:內(nèi)容類(lèi)型虛擬通道個(gè)數(shù)虛擬通道號(hào)標(biāo)志字節(jié)數(shù)1221值0x64/0x680x00010x03eb至0x03ee0x70/0xf0 2) 類(lèi)型說(shuō)明: 0x64:客戶(hù)端發(fā)送數(shù)據(jù)0x68:客戶(hù)端接收數(shù)據(jù) 3) 用戶(hù)號(hào)說(shuō)明: 本次連接的用戶(hù)號(hào),服務(wù)器發(fā)送的是0x0001;客戶(hù)端所發(fā)送的值是初始連接時(shí)請(qǐng)示通道后服務(wù)器同意開(kāi)通的虛擬個(gè)數(shù)。 4) 虛擬通道號(hào)說(shuō)明: 虛擬通道號(hào)是本層次以上
8、所發(fā)送的功能數(shù)據(jù)所在的虛擬通道號(hào),其由初始連接通道申請(qǐng)建立時(shí)確定。 5) 標(biāo)志說(shuō)明: 客戶(hù)端發(fā)送的標(biāo)志為0x70;服務(wù)器端發(fā)送的標(biāo)志,當(dāng)功能數(shù)據(jù)是圖像是(由通道號(hào)識(shí)別),其值為0x70,當(dāng)功能數(shù)據(jù)是其它數(shù)據(jù)時(shí),其值為0xf0。4 加密解密層:加密解密層用于對(duì)網(wǎng)絡(luò)連接中所發(fā)送、接收的數(shù)據(jù)進(jìn)行加密、解密。為保證數(shù)據(jù)和系統(tǒng)的安全性,對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行加密傳輸是比較常用且必然的,rdp協(xié)議在此層對(duì)實(shí)際的功能數(shù)據(jù)進(jìn)行加密。1) 結(jié)構(gòu)信息:內(nèi)容單層及層上數(shù)據(jù)總長(zhǎng)度加密標(biāo)志未知標(biāo)志數(shù)字簽名字節(jié)數(shù)1-2228值從下字節(jié)開(kāi)始計(jì)算0x08000x1000/0x0203順序取得2) 總長(zhǎng)度說(shuō)明: 若長(zhǎng)度大于0x7f,則
9、長(zhǎng)度以?xún)勺止?jié)表示,并按位與0x8000。這是由于版本升級(jí)贊成的格式不統(tǒng)一,長(zhǎng)度不定,當(dāng)前版本認(rèn)為長(zhǎng)度值不大于0x0fff(4095)因此只用長(zhǎng)度值并按位與0x8000實(shí)現(xiàn)版本兼容,在版本升級(jí)后會(huì)以0x8x表示長(zhǎng)度值的字節(jié)數(shù),其中8表示非1字節(jié),x表示具體的字節(jié)個(gè)數(shù)。3) 加密標(biāo)志說(shuō)明: rdp協(xié)議要求在正常的功能連接實(shí)現(xiàn)之前,首先licence認(rèn)證,其標(biāo)志為0x8xxx,且其后數(shù)據(jù)不同于正常功能數(shù)據(jù)傳輸式的加密層格式,可以視licence認(rèn)證為加密解密層的建立連接過(guò)程。另外功能數(shù)據(jù)的加密、解密的密鑰是在初始連接時(shí)獲得的,而加密解密功能的實(shí)現(xiàn)由加密、解密模塊闡述。4) 未知標(biāo)志說(shuō)明: 服務(wù)器端發(fā)
10、送過(guò)來(lái)的未知數(shù)據(jù)有兩種,目前不知其意,客戶(hù)端在發(fā)送數(shù)據(jù)時(shí)將其置為0x0000值。5) 數(shù)字簽名說(shuō)明: 對(duì)所有的加密數(shù)據(jù)在此放置8字節(jié)數(shù)字簽名。其值由rc4會(huì)話(huà)鍵值和功能數(shù)據(jù)經(jīng)過(guò)sha運(yùn)算和md5運(yùn)算得到。5 功能數(shù)據(jù)層:功能數(shù)據(jù)是客戶(hù)端與服務(wù)器進(jìn)行交互的真正數(shù)據(jù)。他們都有各自固定格式,連接、控制方式,具體情況見(jiàn)各功能模塊的說(shuō)明。根據(jù)當(dāng)前我們所掌握的信息,rdp協(xié)議將圖像信息、聲音信息、設(shè)備信息、剪貼板內(nèi)容都各自以單一的虛擬通道進(jìn)行傳送,而打印機(jī)映射,磁盤(pán)映射,端口映射都做為設(shè)備信息的內(nèi)容進(jìn)行處理。限于當(dāng)前左上角工作和項(xiàng)目工作的限度,設(shè)備信息中只考慮了打印機(jī)映射的部分,對(duì)于打印機(jī)信息與其他的設(shè)備
11、相關(guān)的信息沒(méi)有進(jìn)行有效隔離區(qū)分,而本協(xié)議說(shuō)明中相關(guān)的連接信息、數(shù)據(jù)傳送都只認(rèn)為是打印機(jī)映射的內(nèi)容。四、各連接模塊說(shuō)明:1 iso連接模塊:在客戶(hù)端與服務(wù)器的網(wǎng)絡(luò)套接口建立之后,需要首先建立rdp協(xié)議底層連接,得到連接確認(rèn)后才能正常通信。具體實(shí)現(xiàn)如下:1) 連接過(guò)程說(shuō)明:初始連接時(shí),在網(wǎng)絡(luò)套接口tcp連接建立之后中,客戶(hù)端首先進(jìn)行連接請(qǐng)求,當(dāng)收到連接確認(rèn)后表示網(wǎng)絡(luò)連接層連接建立,隨后開(kāi)始傳送rdp數(shù)據(jù)。2) 連接請(qǐng)求通信數(shù)據(jù):內(nèi)容層內(nèi)數(shù)據(jù)長(zhǎng)度rdp包類(lèi)型未知1未知2標(biāo)志其它字節(jié)數(shù)11221不定值從下一字節(jié)開(kāi)始計(jì)算0xd0或0xe00x0000另見(jiàn)0x00另見(jiàn)3) rdp包類(lèi)型說(shuō)明:0xe0:客戶(hù)
12、端連接請(qǐng)求0xd0:服務(wù)器確認(rèn)連接 4) 未知數(shù)據(jù)2說(shuō)明: 0x0000:客戶(hù)端請(qǐng)求連接的值0x1234:服務(wù)器確認(rèn)請(qǐng)求的值 5) 其它數(shù)據(jù)說(shuō)明: win2003客戶(hù)端在請(qǐng)求時(shí)附帶了如下字符“cookie: mstshash=administrator0x0d0x0e”,目前不知其意。其中administrator為自動(dòng)登錄名,當(dāng)其長(zhǎng)度超過(guò)12字節(jié)時(shí),只保留前12字節(jié),其它字符都固定不變。2 協(xié)議信息初始模塊:當(dāng)基本的rdp連接建立后,需要進(jìn)行客戶(hù)端與服務(wù)器的系統(tǒng)環(huán)境、rdp連接環(huán)境的信息交流與連接確認(rèn)。2-1) 發(fā)送包結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值iso數(shù)據(jù)層及以下xxxx協(xié)議信息初始發(fā)送標(biāo)志20x7f
13、65其后數(shù)據(jù)長(zhǎng)度30x82 0xlength第一部分未知數(shù)據(jù)704 00 04 00 01 01 ff第二部分未知數(shù)據(jù)xx三組協(xié)議參數(shù)第三部分未知數(shù)據(jù)xx四種連接參數(shù)2-1-1) 第一部分未知數(shù)據(jù)結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值calling domain20x0400called domain20x0400未知數(shù)據(jù)20x0101標(biāo)志10xff2-1-2) 第二部分未知數(shù)據(jù)結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值協(xié)議適合參數(shù)2+4+7*(2+參數(shù)值占字節(jié)數(shù))標(biāo)志,長(zhǎng)度,8個(gè)參數(shù)值協(xié)議最小參數(shù)2+4+7*(2+參數(shù)值占字節(jié)數(shù))標(biāo)志,長(zhǎng)度,8個(gè)參數(shù)值協(xié)議最大參數(shù)2+4+7*(2+參數(shù)值占字節(jié)數(shù))標(biāo)志,長(zhǎng)度,8個(gè)參數(shù)值說(shuō)明:3組參數(shù)標(biāo)
14、志都是0x30,8個(gè)參數(shù)值的標(biāo)志都是0x20含義適合值最小值最大值虛擬通道數(shù)0x22=340x010xffff用戶(hù)數(shù)0x020x010xfc17=64535token值0x000x010xffff優(yōu)先數(shù)(priorities)0x010x010x01遍及數(shù)(throughput)0x000x000x00頂點(diǎn)數(shù)(height)0x010x010x01網(wǎng)絡(luò)邏輯數(shù)據(jù)包長(zhǎng)度0xffff0x0420=10560xffff=65535版本號(hào)0x020x020x022-1-3) 第三部分未知數(shù)據(jù)結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值本部分標(biāo)志、數(shù)據(jù)長(zhǎng)度40x04 0x82 0xlength1未知數(shù)據(jù)1400 05 00 14
15、7c 00 01余下的數(shù)據(jù)長(zhǎng)度20x8000|length2未知數(shù)據(jù)2800 08 00 10 00 01 c0 00未知數(shù)據(jù)3444 75 63 61 “duca”4組數(shù)據(jù)xx各功能模塊連接信息2-1-3-1:基本信息內(nèi)容字節(jié)數(shù)值(反字節(jié)存儲(chǔ))標(biāo)志20xc001長(zhǎng)度2這一組數(shù)據(jù)的長(zhǎng)度licence版本21,4,5;lincence標(biāo)志升級(jí)未知數(shù)據(jù)120x0008窗口寬度、高度4寬度,高度未知數(shù)據(jù)240xca01,0xaa03keylayout40x00000409客戶(hù)端系統(tǒng)組件數(shù)4419,2195,2462客戶(hù)端機(jī)器名322字節(jié)存儲(chǔ)1個(gè)字符未知數(shù)據(jù)3120x04,0x00,0x0c各四個(gè)字節(jié)
16、未知數(shù)據(jù)464都是0未知數(shù)據(jù)5801 ca 01 00 00 00 00 00圖形顏色位(最大值)224,16,15,8未知數(shù)據(jù)6(疑最小位)207 00未知數(shù)據(jù)7401 00 00 00基本信息返回值多少且固定,認(rèn)為在具體連接時(shí)有更多返回信息。加密信息需要取回加密級(jí)別與密鑰;通道信息則返回基本圖形信息的通道號(hào)和其他虛擬通道號(hào),需要另行申請(qǐng)。2-2-1-1) 基本信息內(nèi)容字節(jié)數(shù)值(字節(jié)反存)標(biāo)志20xc001本組信息長(zhǎng)度20x0008(固定)未知數(shù)據(jù)120x0004未知數(shù)據(jù)220x00082-2-1-2) 通道信息內(nèi)容字節(jié)數(shù)值(字節(jié)反存)標(biāo)志20xc003本組信息長(zhǎng)度2xx需要單獨(dú)開(kāi)辟的通道數(shù)
17、2若無(wú)需申請(qǐng)則不存在通道號(hào)組通道數(shù)*22個(gè)字節(jié)存放一個(gè)通道號(hào)空閑字節(jié)20x00002-2-1-3) 加密信息內(nèi)容字節(jié)數(shù)值標(biāo)志20xc002本組信息長(zhǎng)度2xx加密位長(zhǎng)度41-40位,2-128位加密級(jí)別41-低,2-中,3-高服務(wù)器隨機(jī)數(shù)長(zhǎng)度4目前都是32字節(jié)rsa信息長(zhǎng)度4從隨機(jī)數(shù)結(jié)束開(kāi)始服務(wù)器端隨機(jī)數(shù)32xxrsa信息xxxx密鑰信息的類(lèi)型41-rdp4或0x80000002-x.5092-2-1-3-1) rdp4類(lèi)型密鑰內(nèi)容字節(jié)數(shù)值未知數(shù)據(jù)1801 00 00 00 01 00 00 00公鑰標(biāo)志20x0006長(zhǎng)度2length公鑰信息rsa1標(biāo)志452 53 41 31 -“rsa1”
18、公鑰模數(shù)+襯墊長(zhǎng)度448 00 00 00- =64+8未知數(shù)據(jù)2800 02 00 00 3f 00 00 00公鑰指數(shù)(exponent)401 00 01 00公鑰模數(shù)值(modulu)64xx公鑰襯墊值(pad)800 00 00 00 00 00 00 00 公鑰簽名標(biāo)志,長(zhǎng)度40x0008 length(=0x48)簽名模數(shù)值 64xx簽名襯墊值800 00 00 00 00 00 00 00 2-2-1-3-1-2) 公鑰信息數(shù)字簽名x509類(lèi)型密鑰內(nèi)容字節(jié)數(shù)值證書(shū)個(gè)數(shù)4不少于2個(gè)無(wú)效證書(shū)xx若證書(shū)大于2個(gè),都 被忽略,無(wú)效ca證書(shū) xxxx服務(wù)器證書(shū) xxxxpadding值1
19、6全是0對(duì)于win2003操作系統(tǒng),當(dāng)授權(quán)組件被更改時(shí),此處的密鑰變?yōu)閤509類(lèi)型。對(duì)于客戶(hù)端,只提取服務(wù)器證書(shū)部分的相關(guān)信息,以得到服務(wù)器隨機(jī)數(shù)。由于對(duì)于密鑰的處理是采用通用的加密算法與標(biāo)準(zhǔn),因此在此不予深入的討論。3 通道申請(qǐng)模塊對(duì)于rdp連接,各種功能數(shù)據(jù)都是通過(guò)單獨(dú)的虛擬通道傳輸?shù)?。初始連接后,在進(jìn)一步的信息通信之前,需要開(kāi)辟相應(yīng)的通道。1) 過(guò)程說(shuō)明客戶(hù)端首先發(fā)送一個(gè)建立連接獨(dú)立空間請(qǐng)求,再發(fā)送一個(gè)用戶(hù)綁定請(qǐng)求,若服務(wù)器同意,將發(fā)送用戶(hù)綁定確認(rèn),且含有需要申請(qǐng)的虛擬通道總數(shù)totalchannel。隨后客戶(hù)端申請(qǐng)?zhí)摂M通道。虛擬通道號(hào)從1001+2=1003開(kāi)始到1001+totalc
20、hannel結(jié)束,每次申請(qǐng)都應(yīng)返回一個(gè)申請(qǐng)結(jié)果。2) 建立連接獨(dú)立空間請(qǐng)求結(jié)構(gòu):內(nèi)容iso數(shù)據(jù)層以下請(qǐng)求標(biāo)示高度值間距字節(jié)數(shù)xx122值xx0x040x00010x00013) 用戶(hù)綁定請(qǐng)求結(jié)構(gòu):內(nèi)容iso數(shù)據(jù)層以下請(qǐng)求標(biāo)示字節(jié)數(shù)xx1值xx0x284) 用戶(hù)綁定確認(rèn)結(jié)構(gòu):內(nèi)容iso數(shù)據(jù)層以下請(qǐng)求標(biāo)志虛擬通道總數(shù)字節(jié)數(shù)xx22值xx0x2e00totalchannel5) 申請(qǐng)?zhí)摂M通道號(hào)結(jié)構(gòu)內(nèi)容iso數(shù)據(jù)層以下申請(qǐng)標(biāo)志虛擬通道總數(shù)虛擬通道號(hào)字節(jié)數(shù)xx122值xx0x38totalchannelnum,6) 通道申請(qǐng)確認(rèn)結(jié):內(nèi)容iso數(shù)據(jù)層以下確認(rèn)標(biāo)志通道總數(shù)申請(qǐng)通道申請(qǐng)通道字節(jié)數(shù)xx2222值
21、xx0x3e00totallnumnum4 系統(tǒng)初始連接模塊:當(dāng)通道申請(qǐng)各部分通過(guò)后,開(kāi)始系統(tǒng)登錄的初始連接。從此數(shù)據(jù)包開(kāi)始,所以虛擬通道層以上的網(wǎng)絡(luò)數(shù)據(jù)都需要加密,詳細(xì)的加密功能實(shí)現(xiàn)請(qǐng)參見(jiàn)加密模塊。登錄的網(wǎng)絡(luò)信息結(jié)構(gòu)如下:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)加密層及以下xxxx空閑字節(jié)40x00000000自動(dòng)登錄標(biāo)志4正常:0x33,自動(dòng):0x28域名長(zhǎng)度2若空為0,有值則乘2用戶(hù)名長(zhǎng)度2若空為0,有值則乘2密碼長(zhǎng)度2若空為0,有值則乘2登錄程序長(zhǎng)度2若空為0,有值則乘2登錄路徑長(zhǎng)度2若空為0,有值則乘2域名值域名長(zhǎng)度+22字節(jié)反存1字符,最后為2字節(jié)為0x0000用戶(hù)名值用戶(hù)名長(zhǎng)度+22字節(jié)反存1字
22、符,最后為2字節(jié)為0x0000密碼字符值密碼長(zhǎng)度+22字節(jié)反存1字符,最后為2字節(jié)為0x0000登錄程序名稱(chēng)登錄程序長(zhǎng)度+22字節(jié)反存1字符,最后為2字節(jié)為0x0000登錄路徑值登錄路徑長(zhǎng)度+22字節(jié)反存1字符,最后為2字節(jié)為0x00005 圖形連接模塊:在圖形數(shù)據(jù)發(fā)送之前,服務(wù)器需要對(duì)此功能模塊驗(yàn)證,驗(yàn)證內(nèi)容是所有與圖形相關(guān)的信息,包括鼠標(biāo)設(shè)置、鍵盤(pán)輸入、字體類(lèi)型、畫(huà)圖命令格式、圖形顯示的各種類(lèi)型。根據(jù)已破解的信息顯示,rdesktop原來(lái)并沒(méi)有正確的賦值,因?yàn)樗姆祷刂凳菦](méi)有固定的,對(duì)于服務(wù)器發(fā)送來(lái)的信息沒(méi)有處理,而服務(wù)器在其關(guān)于圖形方面的參數(shù)設(shè)置詢(xún)問(wèn)沒(méi)有得到正確的回答時(shí),則以固定的服務(wù)器
23、端的參數(shù)進(jìn)行設(shè)置。5-1) 連接過(guò)程說(shuō)明:服務(wù)器端首先發(fā)送關(guān)于圖形方面的基本參數(shù)設(shè)置,客戶(hù)端應(yīng)該對(duì)這些設(shè)置進(jìn)行反饋。此后rdesktop的處理是順序發(fā)送同步信息,兩個(gè)控制信息包,一個(gè)輸入信息包,兩個(gè)字體信息包;同時(shí)順序接收一個(gè)同步信息包,兩控制信息包,一個(gè)未知信息包;但redsktop并沒(méi)有對(duì)接2收的信息包進(jìn)行處理。5-2)基本參數(shù)設(shè)2置信息包結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)加密層及以下xxxx層后數(shù)據(jù)長(zhǎng)度2xx數(shù)據(jù)類(lèi)型標(biāo)志211 00,表示是圖形信息連接確認(rèn)基本通道號(hào)2ea 03,固定基本通道號(hào)2ea 03,固定(share?)未知數(shù)據(jù)1201 00ascii信息長(zhǎng)度2xx基本參數(shù)長(zhǎng)度2xxa
24、scii信息長(zhǎng)度值+152 44 50 00,r-“rdp”,s-“mstsc”參數(shù)信息2r-0b 00,s-0d空位230或00詳細(xì)各組參數(shù)組數(shù)內(nèi)容xx5-3) 詳細(xì)參數(shù)信息組類(lèi)別:每個(gè)類(lèi)型的數(shù)據(jù)前2字節(jié)為類(lèi)型,然后是長(zhǎng)度,數(shù)據(jù)。以接收到優(yōu)先作例介紹。類(lèi)型值說(shuō)明01r通用類(lèi)型(general)02r位圖類(lèi)型(bitmap)03r命令(order)04位圖緩存(bitmap cache)05控制(control)07活動(dòng)(active)08r指針(pointer)09r共享(share)0ar顏色緩存(color cache)0c未知0dr未知0e未知10未知12r未知14r未知16r未知40
25、未知00r未知5-3-1) 通用類(lèi)型(general-01)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)系統(tǒng)主類(lèi)型201 00,os major type系統(tǒng)次類(lèi)型203 00,os minor type協(xié)議版本號(hào)202 00,protocol version空數(shù)據(jù)1200 00壓縮類(lèi)型200 00不壓縮空數(shù)據(jù)221d 04更新屬性200 00共享屬性200 00壓縮級(jí)別200 00空數(shù)據(jù)3201 015-3-2) 位圖類(lèi)型(bitmap-02)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)最佳顏色深度2協(xié)商值1顏色深度201 00 2顏色深度201 003顏色深度201 00桌面寬度2width桌面高度2height空位1200 0
26、0允許調(diào)整大小201 00位圖壓縮201 00未知數(shù)據(jù)1200 00未知數(shù)據(jù)2201 00空位2200 005-3-3) 命令(order-03)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)terminal desc1160值terminal desc2410 42 0f 00緩存x間隔201 00緩存y間隔214 00未知數(shù)據(jù)1200 00最大命令級(jí)別201 00字體數(shù)目200 00容量標(biāo)志222 00命令支持格式32另見(jiàn)文本容量標(biāo)志2a1 06未知數(shù)據(jù)2600 00 40 42 0f 00桌面緩存大小440 42 0f 00未知數(shù)據(jù)3401 00 00 00未知數(shù)據(jù)4400 00 00 00命令支持格式說(shuō)明:
27、共32個(gè)標(biāo)志,只對(duì)已知標(biāo)志進(jìn)行說(shuō)明。字節(jié)位置,0-31值含義,1代表支持,0代表不支持0dest blt1pat blt2screen blt3required for memblt8line19line210rect11desktop save13memblt14triblt22polyline27text25-3-4) 位圖緩存(bitmap cache-04)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)未使用數(shù)據(jù)1240值entries258 02max cell size200 01entries22c 01max cell size200 04entries206 01max cell size200
28、105-3-5) 控制(control-05)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)control capability200 00remote detach200 00control interest202 00detach interest202 005-3-6) 活動(dòng)(activer-07)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)help key200 00help index key200 00extended help key200 00window active200 005-3-7) 指針(pointer-08)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)color pointer201 00cache size219 00未知
29、數(shù)據(jù)1219 005-3-8) 共享(share-09)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)基本通道號(hào)2ea 03未知數(shù)據(jù)127d e15-3-9) 顏色緩存(color cache-0a)內(nèi)容字節(jié)數(shù)值(字節(jié)反存)緩存大小206 00未知數(shù)據(jù)127d e15-3-10) 未知類(lèi)型-d 收到:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)未知數(shù)據(jù)11235 00 00 00 a1 06 00 00 40 42 0f 00未知數(shù)據(jù)21240 42 0f 00 44 e6 0a ba 93 53 19 ba未知數(shù)據(jù)31208 60 03 e1 6a 05 1a ba 4c e6 0a ba未知數(shù)據(jù)4124c a4 7d e1 08
30、a0 7d e1 01 00 00 00未知數(shù)據(jù)51208 a4 7d e1 00 00 00 00 44 e6 0a ba未知數(shù)據(jù)61254 f2 19 ba 08 a0 7d e1 38 e6 0a ba未知數(shù)據(jù)71200 00 00 00 08 00 0a 00 01 00 19 005-3-11) 未知類(lèi)型-12 收到:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)未知數(shù)據(jù)1201 00未知數(shù)據(jù)2200 005-3-12) 未知類(lèi)型-14 收到:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)未知數(shù)據(jù)1202 00未知數(shù)據(jù)2200 005-3-13) 未知類(lèi)型-16 收到:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)未知數(shù)據(jù)11201 00 00 0
31、0 6e 01 00 00 01 00 00 00未知數(shù)據(jù)212d0 07 40 bf 01 b0 83 bf 00 00 00 00未知數(shù)據(jù)312a4 e6 0a ba 5c db 4f 80 e6 01 00 006打印機(jī)映射連接模塊:rdp協(xié)議當(dāng)前提供映射5個(gè)設(shè)備,在我們破解過(guò)程中并沒(méi)有區(qū)分出他們的區(qū)別,在此視為單一處理。打印機(jī)的連接在系統(tǒng)登錄前完成,以配置操作系統(tǒng)信息。6-1) 連接過(guò)程說(shuō)明包序號(hào)接收發(fā)送字符含義1rindr設(shè)備初始連接通知,說(shuō)明可以連接申請(qǐng)2sccdr客戶(hù)端連接申請(qǐng)3scndr客戶(hù)端名稱(chēng)注冊(cè)4rspdr服務(wù)器提供的設(shè)備接口說(shuō)明5rccdr服務(wù)器設(shè)備申請(qǐng)確認(rèn)6scpdr
32、客戶(hù)端設(shè)備提供的接口說(shuō)明7sdadr客戶(hù)端打印機(jī)映射申請(qǐng)8rdrdr服務(wù)器打印機(jī)設(shè)備映射成功確認(rèn)6-2) 設(shè)備初始連接通知:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度40x0000000c標(biāo)志403 00 00 00,表示控制信息ascii信息4indr未知數(shù)據(jù)1201 00,可能是最少個(gè)數(shù)未知數(shù)據(jù)2205 00,可能是最多個(gè)數(shù)未知數(shù)據(jù)32ff ff未知數(shù)據(jù)4ff ff6-3) 客戶(hù)端連接申請(qǐng):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度40x0000000c標(biāo)志400 00 03 00,表示控制信息ascii信息4ccdr未知數(shù)據(jù)1200 01,申請(qǐng)最少個(gè)數(shù)未知數(shù)據(jù)2200 05,申請(qǐng)最多個(gè)數(shù)未知數(shù)據(jù)32
33、ff ff6-4) 客戶(hù)端名稱(chēng)注冊(cè):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度4xx標(biāo)志400 00 03 00,表示控制信息ascii信息4cndr未知數(shù)據(jù)1441 02或 63 00未知數(shù)據(jù)22bf 00 或 72 00未知數(shù)據(jù)3400 00 00 00 主機(jī)名長(zhǎng)度4xx,字符2字節(jié)存儲(chǔ)主機(jī)名長(zhǎng)度xx6-5) 服務(wù)器提供的設(shè)備接口說(shuō)明:內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度4xx標(biāo)志403 00 00 00,表示控制信息ascii信息4spdr設(shè)備個(gè)數(shù)405 00 00 00設(shè)備1標(biāo)識(shí)201 00設(shè)備1信息長(zhǎng)度228 00,從標(biāo)識(shí)開(kāi)始計(jì)算設(shè)備1中未知數(shù)據(jù)4內(nèi)容見(jiàn)下表4組設(shè)備信息8每組只有標(biāo)識(shí)號(hào)變化
34、,1可能表示有效0x 00 08 00 01 00 00 00設(shè)備1中未知數(shù)據(jù):01 00 00 0002 00 00 0000 00 00 0001 00 05 00ff ff 00 0000 00 00 0003 00 00 0000 00 00 0000 00 00 006-6) 服務(wù)器設(shè)備申請(qǐng)確認(rèn):除標(biāo)志反位存儲(chǔ)外,其他都與6-2)中所說(shuō)相同。6-7) 客戶(hù)端設(shè)備提供的接口說(shuō)明:除標(biāo)志反位存儲(chǔ)、ascii信息和設(shè)備1信息中第11字節(jié)值是5之外,其他都與6-2中所說(shuō)相同。6-8) 客戶(hù)端打印機(jī)映射申請(qǐng):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度4xx標(biāo)志403 00 00 00,表示控制信息a
35、scii信息4dadr設(shè)備個(gè)數(shù)401 00 00 00設(shè)備1標(biāo)識(shí)401 00設(shè)備1句柄4設(shè)備1 ascii信息4空位4此后數(shù)據(jù)長(zhǎng)度4未知數(shù)據(jù)1長(zhǎng)度4未知數(shù)據(jù)10x0a驅(qū)動(dòng)打印機(jī)名長(zhǎng)度8空位4驅(qū)動(dòng)名稱(chēng)xx打印機(jī)名稱(chēng)xx6-9) 服務(wù)器打印機(jī)設(shè)備映射成功確認(rèn):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)度4xx標(biāo)志403 00 00 00,表示控制信息ascii信息4drdr設(shè)備句柄401 00 00 00空位400 00 00 007 聲音處理連接模塊:rdp協(xié)議需要單獨(dú)的虛擬通道傳遞關(guān)于聲音的數(shù)據(jù)。為了能夠在本地播放聲音,需要進(jìn)行聲音處理模塊的連接,但只有要聲音回放時(shí)才開(kāi)始連接。連接的內(nèi)容是:客戶(hù)端對(duì)這
36、些信息進(jìn)行反饋,以在客戶(hù)端與服務(wù)器之間確定相應(yīng)的參數(shù)。7-1) 連接過(guò)程說(shuō)明:服務(wù)器首先發(fā)送一系列的關(guān)于聲卡的設(shè)置參數(shù),以及聲音數(shù)據(jù)的網(wǎng)絡(luò)格式信息,客戶(hù)端對(duì)本地聲卡進(jìn)行測(cè)試并發(fā)回可支持的設(shè)置參數(shù);服務(wù)器得到反饋后再發(fā)送測(cè)試數(shù)據(jù),測(cè)試成功則反饋連接成功。7-2) 聲卡設(shè)置參數(shù)詢(xún)問(wèn)結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)4xx標(biāo)志403 00 00 00,表示控制信息聲音處理標(biāo)志107 表示聲卡設(shè)置參數(shù)詢(xún)問(wèn)未知數(shù)據(jù)1100此后數(shù)據(jù)長(zhǎng)度2xx聲音數(shù)據(jù)標(biāo)志407 00 00 00,表示此后是聲卡參數(shù)聲音音量4f0 fa 8b 00聲音平衡量4e8 20 f3 77udp端口?25a ae聲卡參數(shù)組數(shù)2
37、xx未知數(shù)據(jù)21ff狀態(tài)值205 00未知數(shù)據(jù)3176xx組聲卡參數(shù)xx*18xx聲卡參數(shù)結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)聲道數(shù)21或2頻率4navgbttespersec4nblockalign2wbitspersample2cbsize27-3) 聲卡設(shè)置參數(shù)反饋結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)4xx標(biāo)志403 00 00 00,表示控制信息聲音處理標(biāo)志107 表示聲卡設(shè)置參數(shù)反饋未知數(shù)據(jù)1100此后數(shù)據(jù)長(zhǎng)度2xx聲音數(shù)據(jù)標(biāo)志403 00 00 00,表示此后是聲卡參數(shù)反饋聲音音量480 4d 80 4d聲音平衡量400 00 00 00udp端口?204 0e?聲卡參數(shù)級(jí)數(shù)2xx未
38、知數(shù)據(jù)2100狀態(tài)值202 00未知數(shù)據(jù)3100xx組聲卡參數(shù)xx*18xx7-2) 聲卡測(cè)試結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)4xx標(biāo)志403 00 00 00,表示控制信息聲音處理標(biāo)志106 表示聲卡設(shè)置參數(shù)測(cè)試未知數(shù)據(jù)1123此后數(shù)據(jù)長(zhǎng)度2xx聲音數(shù)據(jù)標(biāo)志1216 d4聲音數(shù)據(jù)標(biāo)志2200 04測(cè)試數(shù)據(jù)xxxx7-2) 聲卡測(cè)試反饋結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值(字節(jié)反存)層內(nèi)數(shù)據(jù)長(zhǎng)408 00 00 00標(biāo)志403 00 00 00操作標(biāo)志206 00 表示接收反饋其后數(shù)據(jù)長(zhǎng)度1204 00聲音數(shù)據(jù)標(biāo)志1216 d4聲音數(shù)據(jù)標(biāo)志2200 04五、各功能模塊說(shuō)明:任務(wù)標(biāo)志說(shuō)明:適用于所有非圖形
39、通道數(shù)據(jù)。00 00 00 0001 00 00 0002 00 00 0003 00 00 0000 00 03 00傳輸中傳輸開(kāi)始傳輸結(jié)束傳輸控制傳輸反饋1 licence身份誰(shuí)模塊:在加密、解密驗(yàn)證通過(guò)以后,服務(wù)器發(fā)送licence信息進(jìn)行系統(tǒng)的身份認(rèn)證。身份證認(rèn)證的加密、解密系統(tǒng)也是用rsa/rc4體系,但是與網(wǎng)絡(luò)通信中的加密、解密系統(tǒng)分開(kāi)的。licence認(rèn)證中的密鑰是臨時(shí)的、單獨(dú)的。1-1) 連接過(guò)程說(shuō)明:服務(wù)器端首先發(fā)送demand包,內(nèi)容是隨機(jī)數(shù)和一些系統(tǒng)相關(guān)的字符信息;客戶(hù)端需要回復(fù)requset包,內(nèi)容是隨機(jī)數(shù)、空閑值、主機(jī)名、用戶(hù)名;服務(wù)器再發(fā)送authreq包,內(nèi)容包括
40、token值和signature值;客戶(hù)端需要回復(fù)authresq包,內(nèi)容包括token值、hwid值和signature值。服務(wù)器通過(guò)后會(huì)發(fā)送result包,表明licence認(rèn)證通過(guò)。1-2) demand包:r內(nèi)容字節(jié)數(shù)值加密層480 02 86 00licence標(biāo)志101,表示demand,licence認(rèn)證要求版本14.0-02,5.x-03本層長(zhǎng)度286 00服務(wù)器隨機(jī)數(shù)32xx未知數(shù)據(jù)1402 00 05 00公司信息長(zhǎng)度42c 00 00 00公司信息0x2c“microsoft corporation 0”,2字節(jié)表示1字符未知2長(zhǎng)度408 00 00 00未知數(shù)據(jù)2841
41、 00 30 00 32 00 00 00,“a02 0x0”未知數(shù)據(jù)380d 00 04 00 01 00 00 00未知數(shù)據(jù)485c f5 00 00 01 00 00 00未知數(shù)據(jù)540e 00 0e 00網(wǎng)址信息0x0e“m0”,1字節(jié)表示1字符1-3) request包:s內(nèi)容字節(jié)數(shù)值加密層480 00 00 00licence標(biāo)志113,表示request,licence認(rèn)證要求回復(fù)版本14.0-02,5.x-03本層長(zhǎng)度28a 00未知數(shù)據(jù)1801 00 00 00 00 00 01 ff客戶(hù)端隨機(jī)數(shù)32全是0值(mod+pad)長(zhǎng)度448 00 00 0
42、0modulus值64全是0值padding值8全是0值用戶(hù)標(biāo)志20f 00用戶(hù)名長(zhǎng)度2xx用戶(hù)名長(zhǎng)度值1字節(jié)表示1字符,例“yyy”主機(jī)標(biāo)志210 00主機(jī)名長(zhǎng)度2xx主機(jī)名長(zhǎng)度值1字節(jié)表示1字符,例“yyy”1-4) authreq包:r內(nèi)容字節(jié)數(shù)值加密層480 02 26 00licence標(biāo)志102,表示authreq,licence認(rèn)證密鑰版本14.0-02,5.x-03本層長(zhǎng)度226 00未知數(shù)據(jù)1646 53 f9 65 f1 7btoken長(zhǎng)度20a 00token值0x0axx,10字節(jié)signature值0x10xx,16字節(jié)1-5) authreq包:s內(nèi)容字節(jié)數(shù)值加密層
43、480 00 00 00licence標(biāo)志115,表示authreq,licence認(rèn)證密鑰版本14.0-02,5.x-03本層長(zhǎng)度23a 00標(biāo)志201 00token長(zhǎng)度20a 00token值0x0axx,10字節(jié)標(biāo)志201 00hwid長(zhǎng)度214 00hwid值0x14xx,20字節(jié)signature值0x10xx,16字節(jié)1-6) result包:r 不處理內(nèi)容字節(jié)數(shù)值加密層480 02 10 00licence標(biāo)志1ff,表示result,licence認(rèn)證密鑰版本14.0-02,5.x-03本層長(zhǎng)度210 00未知數(shù)據(jù)1407 00 00 00未知數(shù)據(jù)2402 00 00 00未
44、知數(shù)據(jù)3404 00 00 002 加密解密模塊:在初始模塊中對(duì)網(wǎng)絡(luò)通信連接中所設(shè)定的加密信息提交給服務(wù)器。而rdp協(xié)議實(shí)現(xiàn)的加密形式是rsa/rc4。當(dāng)取得初始的加密、解密密鑰(在發(fā)送初始連接信息后得到的),在初始連接結(jié)束后,客戶(hù)端需要發(fā)送系統(tǒng)登錄的初始信息,用以驗(yàn)證客戶(hù)端加密、解密 的正確性。此后經(jīng)過(guò)licence認(rèn)證,通過(guò)認(rèn)證后,所有的加密數(shù)據(jù)都經(jīng)加密解密層處理。同時(shí),密鑰需要保存,因?yàn)榧用軘?shù)據(jù)包需要連續(xù)的正確加密或解密才能得到正確的數(shù)據(jù)。3 圖形處理模塊在圖形處理中,客戶(hù)端將所有的事件轉(zhuǎn)換為固定格式的網(wǎng)絡(luò)數(shù)據(jù)發(fā)送到服務(wù)器,服務(wù)器將處理的結(jié)果以圖片形式發(fā)回服務(wù)器。在圖形處理模塊內(nèi)部又分了
45、較多的層次,敘述下面:3-1) 第一級(jí)層次內(nèi)容字節(jié)數(shù)值層內(nèi)數(shù)據(jù)長(zhǎng)度2xx第一級(jí)類(lèi)型標(biāo)記217 00 代表具體數(shù)據(jù),0000時(shí)跳過(guò)后4字節(jié)基本通道號(hào)2ea 03,固定基本通道號(hào)2ea 03,固定(share?)未知數(shù)據(jù)1201 00網(wǎng)絡(luò)包順序號(hào)2xx此后數(shù)據(jù)長(zhǎng)度2xx具體數(shù)據(jù)類(lèi)型1見(jiàn)說(shuō)明數(shù)據(jù)壓縮類(lèi)型100 不壓縮數(shù)據(jù)壓縮長(zhǎng)度200具體數(shù)據(jù)類(lèi)型說(shuō)明:值含義說(shuō)明2圖形更新27鼠標(biāo)指針操作34響鈴38登錄信息47斷開(kāi)重連提示3-2) 圖形更新:前2字節(jié)是更新的類(lèi)型值含義說(shuō)明0 畫(huà)圖命令1位圖2調(diào)色板3同步,鎖定3-2-1) 畫(huà)圖命令:其后是若干組畫(huà)圖命令內(nèi)容字節(jié)數(shù)值未知數(shù)據(jù)12xx畫(huà)圖命令組數(shù)2xx未
46、知數(shù)據(jù)22xx每組畫(huà)圖命令xx說(shuō)明:對(duì)于每一組命令,他們都取相應(yīng)的系統(tǒng)狀態(tài),根據(jù)具體的情況進(jìn)行處理。特別說(shuō)明的是,顏色值是固定的3字節(jié),根據(jù)深度值取相應(yīng)的就可以。3-2-2) 位圖:前2字節(jié)是圖片的數(shù)量。其后是圖片數(shù)據(jù),取出后畫(huà)圖片。每一張圖片的結(jié)構(gòu):內(nèi)容字節(jié)數(shù)值圖片水平左坐標(biāo)2xx圖片垂直上坐標(biāo)2xx圖片水平右坐標(biāo)2xx圖片垂直下坐標(biāo)2xx圖片水平點(diǎn)數(shù)2xx圖片垂直點(diǎn)數(shù)2xx圖片點(diǎn)深度值2xx圖片壓縮標(biāo)志200 表示不壓縮壓縮數(shù)據(jù)長(zhǎng)度2xx壓縮數(shù)據(jù)段內(nèi)容段據(jù)2-1xxxx壓縮數(shù)據(jù)段內(nèi)容:compress & 0x400 為真時(shí)size=壓縮數(shù)據(jù)長(zhǎng)度,其后只有數(shù)據(jù)內(nèi)容字節(jié)數(shù)值未知數(shù)據(jù)12xx壓
47、縮數(shù)據(jù)長(zhǎng)度2xx行長(zhǎng)度2xxfinal_size2xx壓縮數(shù)據(jù)內(nèi)容xxxx3-2-3) 調(diào)色板:用服務(wù)器傳過(guò)來(lái)調(diào)色板代替系統(tǒng)的調(diào)色板。當(dāng)256色時(shí)才有內(nèi)容字節(jié)數(shù)值未知數(shù)據(jù)12xx顏色組數(shù)2一般是256,即00 001未知數(shù)據(jù)22xx調(diào)色顏色值3倍每組值3字節(jié),分別為紅綠藍(lán)色值3-3) 鼠標(biāo)指針操作內(nèi)容字節(jié)數(shù)值操作類(lèi)型2見(jiàn)說(shuō)明空位2xx鼠標(biāo)指針操作類(lèi)型說(shuō)明:值含義說(shuō)明1取初始值3移動(dòng)6新?tīng)顟B(tài)7緩存3-3-1) 鼠標(biāo)指針操作取初始值處理:當(dāng)是00 00時(shí)設(shè)鼠標(biāo)為不可見(jiàn)狀態(tài)。內(nèi)容字節(jié)數(shù)值取初始值類(lèi)型200 003-3-2) 鼠標(biāo)指針操作移動(dòng)處理:將鼠標(biāo)移動(dòng)到指定位置內(nèi)容字節(jié)數(shù)值鼠標(biāo)移動(dòng)目標(biāo)水平位置2
48、x值鼠標(biāo)移動(dòng)目標(biāo)垂直位置2y值3-3-3) 鼠標(biāo)指針操作新?tīng)顟B(tài)處理:創(chuàng)建新?tīng)顟B(tài)到鼠標(biāo)狀態(tài)緩存,并設(shè)置狀態(tài)。內(nèi)容字節(jié)數(shù)值鼠標(biāo)緩存號(hào)2新的鼠標(biāo)狀態(tài)緩存號(hào)水平位置2x值垂直位置2y值寬度2xx高度2xx掩碼長(zhǎng)度2xx數(shù)據(jù)長(zhǎng)度2xx掩碼值掩碼長(zhǎng)度xx數(shù)據(jù)值數(shù)據(jù)長(zhǎng)度xx3-3-4) 鼠標(biāo)指針操作緩存處理:設(shè)置鼠標(biāo)為系統(tǒng)已存的狀態(tài)號(hào)的狀態(tài)。內(nèi)容字節(jié)數(shù)值鼠標(biāo)緩存號(hào)2已存在的鼠標(biāo)狀態(tài)緩存號(hào)3-4) 響鈴:直接系統(tǒng)響鈴發(fā)聲處理3-5) 登錄信息:忽略,跳過(guò)3-6) 斷開(kāi)重連提示:忽略,跳過(guò)4打印數(shù)據(jù)模塊rdp協(xié)議提供本地打印機(jī)映射到服務(wù)器功能。在用戶(hù)通過(guò)終端連接服務(wù)器并映射本地打印機(jī)后,可在遠(yuǎn)程主機(jī)上使用本地的打印機(jī)。客戶(hù)端需要將本地打印機(jī)的型號(hào)傳送給
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西百色市西林縣那佐苗族鄉(xiāng)初級(jí)中學(xué)招聘后勤工作人員3人備考題庫(kù)完整參考答案詳解
- 2026浙江溫州市平陽(yáng)縣中醫(yī)院招聘體檢中心導(dǎo)檢人員2人備考題庫(kù)及完整答案詳解一套
- 2025中國(guó)人民財(cái)產(chǎn)保險(xiǎn)公司面向全省招聘理賠崗備考題庫(kù)(安徽)及完整答案詳解
- 2025廣東茂名市高州市教師發(fā)展中心和高州市教育黨建事務(wù)中心選聘8人備考題庫(kù)完整答案詳解
- 2026云南怒江州貢山縣醫(yī)療保障局選聘醫(yī)療保障義務(wù)社會(huì)監(jiān)督員10人備考題庫(kù)帶答案詳解
- 2025湖南長(zhǎng)沙瀏陽(yáng)市第二批招聘衛(wèi)健系統(tǒng)專(zhuān)業(yè)人才10人備考題庫(kù)及答案詳解一套
- 2026廣西柳州市柳江區(qū)禁毒委員會(huì)辦公室招聘編外人員1人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 2026中國(guó)熱帶農(nóng)業(yè)科學(xué)院熱帶生物技術(shù)研究所第一批招聘38人備考題庫(kù)及參考答案詳解
- 2026年精算師入門(mén)測(cè)試試題及答案
- 2025年航空無(wú)損檢測(cè)方法認(rèn)證試卷及答案
- 散文系列《補(bǔ)鞋子的人》精-品解讀
- 2025國(guó)開(kāi)本科《公共部門(mén)人力資源管理》期末歷年真題(含答案)
- 養(yǎng)老院對(duì)護(hù)工規(guī)范管理制度
- 農(nóng)行內(nèi)控制度匯編
- 2025年企業(yè)黨支部書(shū)記年度述職報(bào)告
- 2026年孝昌縣供水有限公司公開(kāi)招聘正式員工備考題庫(kù)及參考答案詳解1套
- 絕經(jīng)后宮頸上皮內(nèi)病變處理要點(diǎn)2026
- 2025年校長(zhǎng)個(gè)人述職報(bào)告:凝心聚力抓落實(shí) 立德樹(shù)人開(kāi)新局
- 瀝青混凝土面板全庫(kù)盆防滲施工質(zhì)量通病防治手冊(cè)
- 光伏電站故障處理培訓(xùn)大綱
- 設(shè)備維保三級(jí)管理制度
評(píng)論
0/150
提交評(píng)論