freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)遠程通信與控制程序設(shè)計(參考版)

2025-07-26 08:54本頁面
  

【正文】 安裝鉤子函數(shù)原型為: HHOOK SetWindowsHookEx( int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId )。 } API HOOK模塊 API HOOK 就是通過修改系統(tǒng) API 函數(shù)入口地址,將該地址指向新的自定義的函數(shù),這樣就可以達到修改系統(tǒng) API 函數(shù)功能的目的。 } ::RegCloseKey(hkKey)。 } } dwIndex++。 (%d, dwTemp)。 CString csTemp。 csRes = csRes + chKeyName + char(3) + s + char(3) + chKeyValue + char(2)。 chKeyValue[1] = 0。dwTxtSize) == ERROR_SUCCESS) { if (dwType == REG_SZ || dwType == REG_EXPAND_SZ) { if (dwTxtSize = 0) { chKeyValue[0] = 39。 if (::RegQueryValueEx(hkKey, chKeyName, NULL, amp。dwType, NULL, NULL) == ERROR_SUCCESS) { char chKeyValue[1024]。 while(::RegEnumValue(hkKey, dwIndex, chKeyName, amp。 if (::RegOpenKey(MainKey, KeyName, amp。 CString csRes = 。枚舉客戶端注冊表核心代碼如下: CString MyGetAllRegKeyValue(HKEY MainKey, CString KeyName) { DWORD dwIndex = 0, dwSize = 1024, dwType = REG_SZ。整個屏幕傳輸流程圖如圖 : 圖 屏幕傳輸流程圖 發(fā)送截屏命令 解析命令 截屏 使用 CxImage 庫將 BMP 數(shù)據(jù)轉(zhuǎn)換成 JPEG 使用 zlib 庫將JPEG 圖片進一步壓縮 在壓縮后的數(shù)據(jù)尾部添加 10 個 自定義數(shù)據(jù)包 發(fā)送數(shù)據(jù) 接收數(shù)據(jù) 是數(shù)據(jù)包尾嗎? 是 否 使用 zlib 庫將 數(shù)據(jù)包解壓 顯示圖片 服務(wù)端 客戶端 停止傳輸嗎? 停止傳輸 是 否 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 27 文件操作模塊 CAsyncSocket 是異步非阻塞類,在文件傳輸過程中, Send()函數(shù)一調(diào)用就立刻返回, 因此發(fā)送端常常無法知道接收端是否已經(jīng)接收到完整數(shù)據(jù),在此算法設(shè)計中,可以將接收端當前接收的總數(shù)據(jù)量大小發(fā)送給發(fā)送端,發(fā)送端則可以用此來比較客戶端是否已經(jīng)接收完全。 } 系統(tǒng)主要模塊實現(xiàn) 屏幕監(jiān)控模塊 服務(wù)端向客戶端第一次發(fā)送獲取屏幕命令時,客戶端并非立刻截屏 , 考慮到多個客戶端的屏幕分辨率大小不一致的情況下,客戶端首次網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 26 收到服務(wù)端的屏幕監(jiān)控命令后,應(yīng)先將客戶端當前屏幕分辨率發(fā)送給服務(wù)端,服務(wù)端在窗口上創(chuàng)建一個矩形區(qū)域用于顯示客戶端桌面圖片,然后才是屏幕數(shù)據(jù)的傳輸,由于客戶端不停的發(fā)送屏幕數(shù)據(jù),為了能使服務(wù)端區(qū)分每一幀的屏幕,客戶端在發(fā)送屏幕數(shù)據(jù)前,在屏幕數(shù)據(jù)尾部添加 10 個字節(jié)自定義的數(shù) 據(jù)包,服務(wù)端 在每次接收數(shù)據(jù)后都會檢驗數(shù)據(jù)包尾部是不是自定義的數(shù)據(jù)包,如果是,則 表示一幀圖片傳輸完畢。 MySendTo(csSend)。//取登陸用戶名 chName[dwCount] = 0。 ::GetUserName(chName, amp。 csSend = csSend + | + pMainWndm_RemoFace + | + pMainWndm_RemoGruop + |。//取計算機名 chName[dwCount] = 0。 ::GetComputerName(chName, amp。 csSendBuff = 。 DWORD dwCount = 1024。 相關(guān)代碼如下: void CSocketMsg::OnConnect(int nErrorCode) { if (nErrorCode == 0)//如果連接成功 { pMainWndKillTimer(CLOCKGETIP)。 客戶端與服務(wù)器連接設(shè)計 CAsyncSocket 重載了 SOCKET 連接和斷開的消息事件,用戶可以在這些事件中判斷 SOCKET 的連接情況,但是斷開消息事件在一種情況下無法觸發(fā),也就是網(wǎng)線被拔掉或其中一方斷電時,為了解決這種情況,可以在服務(wù)端和客戶端中都添加一個連接時鐘,周期性的給對方發(fā)送一個心跳包,如果發(fā)送失敗則表示對方已經(jīng)斷開連接,此時則進入斷開重連狀態(tài)。 API HOOK模塊設(shè)計 本系統(tǒng)采用 API HOOK 技術(shù)對客戶端進程進行守護,達到防止客戶端進程被惡意結(jié)束的目的。服務(wù)端接收后按照客戶端編輯的信息條件將 文字信息打印在屏幕上方。 發(fā)送信息模塊設(shè)計 對于信息的發(fā)送,本系統(tǒng)設(shè)計得相對簡單,僅發(fā)送一些文字信息。 注冊表操作屬于命令操作,命令操作傳輸?shù)臄?shù)據(jù)量小,響應(yīng)快 。 16位應(yīng)用程序會工作在 NT或者 Win95 下,它們的程序仍然會參考 和 文件獲得信息和執(zhí)行遠程程序 發(fā)送命令 文件傳輸 顯示結(jié)果 服務(wù)端 解析命令 客戶端 刪除文件 文件傳輸 發(fā)送結(jié)果 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 24 控制。 16 位驅(qū)動在 Winnt 下無法工作,所以所有設(shè)備都通過注冊表來控制,一般這些 是通過 BIOS來控制的。當然本系統(tǒng)還需要通過判斷客戶對文件圖標的不同操作來判斷操作人對文件所作的不同操作,然后根據(jù)判斷結(jié)果執(zhí)行命令。鼠標和鍵盤的操作則是通過模擬來實現(xiàn),在服務(wù)端捕獲鼠標鍵盤操作后,服務(wù)端的命令連接就會將捕獲的結(jié)果發(fā)送到客戶端,客戶 端再通過調(diào)用 mouse_event 和 keybd_event 這兩個 API 函數(shù)進行模擬鼠標鍵盤操作。 屏幕監(jiān)控模塊設(shè)計 屏幕監(jiān)控,也就是將客戶端的屏幕截圖,然后發(fā)送給服務(wù)端。 系統(tǒng)模塊的設(shè)計 模塊設(shè)計 本系統(tǒng)面向的對象有兩種,一種是服務(wù)端,一種是客戶端。它提供了語句自動完成功能,編輯輸入源程序時能自動顯示當前對象的成員變量和成員函數(shù),并表明函數(shù)的參數(shù)類型。 系統(tǒng)流程圖如圖 所示 : 上傳文件到客戶端 下載客戶端文件 遠程協(xié)助系統(tǒng) 創(chuàng)建文件夾 執(zhí)行遠程程序 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 20 圖 系統(tǒng)流程圖 連接服務(wù)端 連接成功 ? 客戶端程序 服務(wù)端程序 接受并添加客戶端信息 失敗 成功 發(fā)送 登錄 信息 發(fā)送操作命令 解析命令 屏幕操作 文件操作 注冊表操作 服務(wù)操作 進程操作 發(fā)送結(jié)果 顯 示結(jié)果 是否退出? 退出系統(tǒng) 是 否 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 21 3 遠程通信與控制程序設(shè)計 經(jīng)過需求分析階段,在軟件需求分析階段已經(jīng)弄清楚了各種需求,較好地解決了所開發(fā)的系統(tǒng) “ 做什么 ” 的問題,并已在軟件需求說明書和數(shù)據(jù)要求說明書中詳盡和充分地闡明了這些需求以后,下一步就要著手對軟件系統(tǒng)的結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、用戶界面等進行設(shè)計。 系統(tǒng)流程圖 首先運行服務(wù)器端,然后安裝客戶端后,客戶端安裝好之后就會不斷的嘗試連接服務(wù)器,連接成功后就會想服務(wù)器端發(fā)送消息表明已經(jīng)登錄了,接著服務(wù)器端就會 發(fā)送命令給客戶端,客戶端根據(jù)服務(wù)端發(fā)送的命令執(zhí)行屏幕、文件注冊表、服務(wù)、進程等操作。文件操作包括:上傳文件、下載文件、創(chuàng)建獲取遠程桌面 控制遠程鼠標 控制遠程鍵盤 遠程協(xié)助系統(tǒng) 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 19 文件夾、執(zhí)行遠程程序等等 。系統(tǒng)服務(wù)端 桌面監(jiān)控 的用例圖如圖 所示: 圖 屏幕控制用例圖 服務(wù)端對客戶端文件操作 服務(wù)端如果僅僅能監(jiān)控客戶端桌面,那幫助也許沒那么大,比 如客戶端要修復(fù)一些文件,而在客戶端本地硬盤中又沒有相應(yīng)的修復(fù)工具,此時服務(wù)端也是無能為力的。 根據(jù)對 一般的遠程協(xié)助 的調(diào)查了解, 該系統(tǒng)應(yīng)該至少包含以下幾個功能 : 服務(wù)端對客戶端的屏幕監(jiān)控 遠程協(xié)助系統(tǒng)就是要解決那些難以用語言描述的軟件問題,協(xié) 助端(服務(wù)端)如果能實時的看見被協(xié)助端(客戶端)的系統(tǒng)桌面,那將大大提高解決問題的效率。 綜合以上三 方面的可行性分析,本課題設(shè)計的操作 是可行的。 操作可行性 根據(jù)系統(tǒng)的操作是否簡單易懂,是否為用戶所接受,從操作的角度研究系統(tǒng)的可行性。網(wǎng)絡(luò)流量的問題是造成所有通信程序的不穩(wěn)定性的罪魁禍首。 技術(shù)可行性 本課題設(shè)計 所用到的一系列的技術(shù)已是累積了幾十年的技術(shù),這些技術(shù)在這么多年的發(fā)展中并沒有被淘汰,反而是越來越來熱門。 經(jīng)濟可行性 本課題設(shè)計 成本低廉,要的只是兩個 ISP 分發(fā)的 IP 地址,而且這也多用于局域網(wǎng)或企業(yè)網(wǎng)等內(nèi)網(wǎng),就更談不上成本上的問題。 可行性分析實質(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以 較抽象的方式進行的系統(tǒng)分析和設(shè)計的過程。 ? 遠程維護和管理: 網(wǎng)絡(luò)管理員或者普通用戶可以通過遠程控制技術(shù)為遠端的電腦安裝和配置軟件、下載并安裝軟件修補程序、配置應(yīng)用程序和進行系統(tǒng)軟件設(shè)置。 ? 遠程教學: 教師和學生之間可以利用這種遠程控制技術(shù)實現(xiàn)教學問題的交流,學生可 以不用見到老師,就得到老師手把手的輔導和講授。許多用戶對 電腦 知道得很少,然而當遇到問題時,他們必須向無法看到電腦屏幕的技術(shù)人員描述問題的癥狀。 遠程控制的主要應(yīng)用如下: ? 遠程辦公: 這種遠程的辦公方式不僅大大緩解了城市交通狀況,減少了環(huán)境污染,還免去了人們上下班路上奔波的辛勞,更可以提高企業(yè)員工的工作效率和工作興趣。 遠程控制因為進一步克服了由于地域性差異所造成的不便性,所以在網(wǎng)絡(luò)管理、遠程技術(shù)支持、遠程交流、遠程辦公等領(lǐng)域有著非常廣泛的應(yīng)用。 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 16 ? 隱藏機制不同: 木馬一般注冊為系統(tǒng)服務(wù),偽裝為類似系統(tǒng)進程的程序,用戶不能輕易關(guān)閉它;而遠程控制服務(wù)端可以按其應(yīng)用考慮是否隱藏和是否能夠被關(guān)閉。但如果 客戶端為主動方式連接服務(wù)端時,服務(wù)端可以接受多個客戶連接,所以視頻、語音的發(fā)送 可以實現(xiàn)遠程 教學,遠程協(xié)助等功能。 遠程控制和木馬有很大的相似之處 ,譬如說現(xiàn)在的 灰鴿子遠程控制軟件〔企業(yè)版〕 ,它具有 兩種遠程控制形式:服務(wù)端自動上線連接型和客戶端主動連接控制型,同時擁有兩者的所有功能。尋求一種方便、 高效的方法對出現(xiàn)故障的系統(tǒng)進行修復(fù)已經(jīng)成為人們的迫切需要。傳統(tǒng)的遠程控制軟件一般使用 NETBEUI、 NETBIOS、 IPX/SPX、 TCP/IP等協(xié)議來實現(xiàn)遠程控制,不過,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,目前很多遠程控制軟件提供通過 Web 頁面以 Java 技術(shù)來控制遠程電腦,這樣可以實現(xiàn)不同操作系統(tǒng)下的遠程控制 隨著計算機技術(shù)的不斷發(fā)展,人們要處理的任務(wù)也越來越多,工作地點也有可能是多個,在計算機使用的過程中就會遇到這樣那樣的問題,從而使得工作變得更加繁重。 網(wǎng)絡(luò)遠程通信與控制程序設(shè)計 15 2 遠程通信與控制系統(tǒng)分析 系統(tǒng)基本情況描述 電腦中的遠程控制技術(shù),始于 DOS 時代,只不過當時由于技術(shù)上沒有什么大的變化,網(wǎng)絡(luò)不發(fā)達,市場沒有更高的要求,所以遠程控制技術(shù)沒有引起更多人的注意。建立Socket的 WSAStartup過程和 bind過程被簡化成為 Create過程, IP地址類型轉(zhuǎn)換、主機名和 IP地址轉(zhuǎn)換的過程 中許多復(fù)雜的變量類型都被簡化成字符串和整數(shù)操作,特別是 CAsyncSocket類的異步特點,完全可以替代繁瑣的線程操作。當然 pSocket是和客戶 端 通信的服務(wù) 端 ,它不會觸發(fā)OnAccept()事件,因為它不是監(jiān)聽 Socket。 Accept( *pSocket )。事實上,可以在 Connect()調(diào)用之后等待 CAsyncSocket::OnConnect()事件被觸發(fā), CAsyncSocket::OnConnect()是要表明 Socket要么連接成功了,要么連接徹底失敗了。 因此 可以 在程序中 等待,等它連接成功為止,于是許多程序員就在調(diào)用 Connect() 之后, Sleep(0) , 然 后 不 停 地 用
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1