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

正文內(nèi)容

遠(yuǎn)程監(jiān)控畢業(yè)設(shè)計論文(參考版)

2024-12-07 16:55本頁面
  

【正文】 捕捉屏幕 設(shè)計與實現(xiàn) 通過下面的具體函數(shù)來說明屏幕捕獲的實現(xiàn)。這就需要在控制端模擬遠(yuǎn)程主機屏幕的坐標(biāo),使得鼠標(biāo)終端信息中的鼠標(biāo)位置信息得以精確的表達(dá)。經(jīng)實踐測試,當(dāng)被控端的屏幕信息未發(fā)生變化時,網(wǎng)絡(luò)的數(shù)據(jù)傳輸量可以達(dá)到 0。于是,本文在屏幕控制功能中使用了逐行掃描,并在內(nèi)存中進(jìn)行數(shù)據(jù)比較,在網(wǎng)絡(luò)中只傳輸屏幕變化的信息(數(shù)據(jù) )。 遠(yuǎn)程 屏幕監(jiān)控的設(shè)計 現(xiàn)實現(xiàn) 屏幕控制功能中,首先須捕獲屏幕信息并保存在內(nèi)存中。 創(chuàng)建,刪除服務(wù):服務(wù)配置程序使用 CreateService 函數(shù)在服務(wù)控制管理器的數(shù)據(jù)庫中安裝一個新服務(wù),它會提供服務(wù)的名稱和相關(guān)的配置信息并存儲在數(shù)據(jù)庫中。 (3)服務(wù)配置程序 服務(wù)配置程序可以更改或查詢服務(wù)的當(dāng)前配置信息。無論何時在HandlerEx 函數(shù)被調(diào)用時,都要調(diào)用 SetServiceStatus 函數(shù)向服務(wù)控制管理器報告它當(dāng)前的狀態(tài)。 服務(wù) Control Handler 函數(shù):每個服務(wù)都有一個控制句柄 HandlerEx 函數(shù)。初始化后調(diào)用 SetServiceStatus 函數(shù)設(shè)置服務(wù)狀態(tài)為 SERVICE_RUNNING。在服務(wù)控制程序請求一個新的服務(wù)啟動時,服務(wù)控制管理器啟動一個服務(wù),并發(fā)送一個開始請求到控制調(diào)度程序,而后控制調(diào)度程序創(chuàng)建一個新線程來執(zhí)行 ServiceMain 函數(shù)。 StartServiceCtrlDispatcher 函數(shù)的參數(shù)就是一個 SERVICE_TABLE_ENTRY結(jié)構(gòu),它包含了進(jìn)程內(nèi)所有服務(wù)的名稱和服務(wù)入口點。在服務(wù)控制管理器 開始一個服務(wù)程序時,會等待 StartServiceCtrlDispatcher 函數(shù)的執(zhí)行。 (2)服務(wù)程序 一個服務(wù)程序內(nèi)可以包含一個服務(wù)或多個服務(wù)的執(zhí)行代碼,但 是它們都擁有固定的三個部分:服務(wù) main 函數(shù),服務(wù) ServiceMain 函數(shù)和服務(wù) Control Handler 函數(shù)。使用QueryServiceStatus 函數(shù)時,在返回的 dwControlsAccepted 參數(shù)中表明服務(wù)程序?qū)邮盏目刂泼?。它會向控制句柄函?shù)發(fā)送一個特定的控制命令,可以是系統(tǒng)默認(rèn)的,也可以是用戶自定義的。在啟動成功完成時,那么 dwCurrentState 參數(shù)將會返回 SERVICE_RUNNING 值。如果服務(wù)控制管理器數(shù)據(jù)庫被鎖定,那需要等待一定的時間然后再次測試 StartService 函數(shù)。 (1)服務(wù)控制程序 在 執(zhí)行服務(wù)控制程序的相關(guān)函數(shù)前, 還 需要獲得一個服務(wù)對象的句柄,有兩種 方式 :由 OpenSCManager 來獲得一臺特定主機的服務(wù)控制管理器數(shù)據(jù)庫的句柄;使用OpenService 或 CreateService 函數(shù)來獲得某個服務(wù)對象的句柄。同樣,在本文的遠(yuǎn)程控制系統(tǒng)中, 本文 采用了遠(yuǎn)程系統(tǒng)服務(wù)模擬的方法來實現(xiàn)對遠(yuǎn)程主機系統(tǒng)服務(wù)的管理。 服務(wù)模型設(shè)計 及函數(shù)實現(xiàn) 通過對 Windows 系統(tǒng)服務(wù)的了解,就可以編程實現(xiàn)對于遠(yuǎn)程服務(wù)的管理。 服務(wù)的安裝,刪除和列舉:可以使用相關(guān)的系統(tǒng)函數(shù)來創(chuàng)建,刪除服務(wù)和查詢所有服務(wù)的當(dāng)前狀態(tài)。 (4)服務(wù)配置程序 編程人員和系統(tǒng)管理員可以使用服務(wù)配置程序來更改,查詢已安裝服務(wù)的 信息。 而 類 型 為SERVICE_WIN32_SHARE_PROCESS 的服務(wù)程序卻可以包含多個服務(wù)的執(zhí)行代碼。 (3)服務(wù)程序 一個服務(wù)程序可能擁有一個或多個服務(wù)的執(zhí)行代碼。 向正在運行的服務(wù)發(fā)送控制請求:控制請求可以是 系 統(tǒng)默 認(rèn)的 ,也 可以 是用 戶自 定義 的。 (2)服務(wù)控制程序 (SCP) 服務(wù)控制程序可以執(zhí)行對服務(wù)程序的開啟,控制和狀態(tài)查詢功能: 開啟服務(wù):如果服務(wù)的開啟類型為 SERVICE_DEMAND_START,就可以用服務(wù)控制程序來開始一項服務(wù)。 服務(wù)記錄列表:每項服務(wù)在數(shù)據(jù)庫中都包含了下面的內(nèi)容:服務(wù)名稱,開始類型,服務(wù)狀態(tài) (類型,當(dāng)前狀態(tài),接受控制代碼,退出代碼,等待提示 ),依賴服務(wù)列表指針。服務(wù)控制程序也可以使用StartService 來啟動服務(wù)。在系統(tǒng)成功引導(dǎo)后會保留一份 LKG(LastKnowGood)的配置信息位于: HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services。 自動啟動服務(wù):系統(tǒng)啟動時,服務(wù)控制管理器啟動所 有“自啟”服務(wù)和相關(guān)依賴服務(wù) 。它包括很多子鍵,每個子鍵的名字就代表一個對應(yīng)的服務(wù)。 (1)服務(wù)控制管理器 (SCM) 服務(wù)控制管理器在系統(tǒng)啟動的早期由 Winlogon 進(jìn)程啟動,可執(zhí)行文件名是“ %SystemRoot%\System32\”,它是系統(tǒng)中的一個 RPC 服務(wù)器,因此服務(wù)配置程序和服務(wù)控制程序可以在遠(yuǎn)程操縱服務(wù)。它允許系統(tǒng)管理員為每個服務(wù)自定義安全要求和控制訪問權(quán)限。系統(tǒng)服務(wù)調(diào)用接口定義了 Windows 內(nèi)核提供的大量服務(wù)。 系統(tǒng)服務(wù)調(diào)用只是一個接口, 它提供了將用戶模式下的請求轉(zhuǎn)發(fā)到 Windows 內(nèi)核的功能,并引發(fā)處理器模式的切換。由于執(zhí)行 int 指令會導(dǎo)致陷阱發(fā)生,所以在 Windows 2021 內(nèi)的中斷描述表 (IDT = Interrupt Descriptor Table)中的 0x2e 項指向了系統(tǒng)服務(wù)調(diào)用程序。在系統(tǒng)服務(wù)調(diào)度表中的每一項包含了一個指向系統(tǒng)服務(wù)程序的指針。在 Intel x86 的 Windows 2021 系統(tǒng)中,處理器執(zhí)行 int 0x2e 指令來激活 Windows 系統(tǒng)服務(wù)調(diào)用;在 Intel x86的 Windows XP 系統(tǒng)中處理器卻是通過執(zhí)行 sysenter 指令使系統(tǒng)陷入系 統(tǒng)服務(wù)調(diào)用程序中;而在 AMD 的 Windows XP 中使用了指令 syscall 來實現(xiàn)同樣的功能。 Windows 系統(tǒng)服務(wù)調(diào)用是存在于 Windows 系統(tǒng)中的一個關(guān)鍵接口,常常稱作 System Call , Sysem Service Call 或 System Service Dispatching 等, 本文 權(quán)且稱之為Windows 系統(tǒng)服務(wù)調(diào)用,它提供了操作系統(tǒng)環(huán)境由用戶態(tài)切換到內(nèi)核態(tài)的功能。 從內(nèi)核模式調(diào)用系統(tǒng)服務(wù) ,就不 能 由 導(dǎo)出系統(tǒng)服務(wù)調(diào)用的函數(shù)接口了, 第 23 頁 共 52 頁 而是由 來實現(xiàn)的,它會提供兩種形式的 函數(shù): ZwXxx 和 NtXxx。表面上, Win32 函數(shù)為編程人員提供了很多接口來實現(xiàn)想要的功能,但是這些 Win32 函數(shù)只不過是本機應(yīng)用程序編程接口的一個包裝器而已,它們將本機 API 包裝起來,調(diào)用本機系統(tǒng)服務(wù)來實現(xiàn)用戶期望的功能。它包含兩種類型的函數(shù): Windows 執(zhí)行系統(tǒng)服務(wù)的系統(tǒng)服務(wù)調(diào)度占位程序;子系統(tǒng),子 系統(tǒng) DLL 和其他本機映像使用的內(nèi)部支持函數(shù)。 (5)查看每個服務(wù)的狀態(tài)和描述。例如,重新自動啟動服務(wù)或重新啟動計算機。 (2)管理本地和遠(yuǎn)程計算機上的服務(wù)。服務(wù)應(yīng)用程序通??梢栽诒镜睾屯ㄟ^網(wǎng)絡(luò)為用戶提供一些功能,例如客戶端 /服務(wù)器應(yīng)用程序、 Web 服務(wù)器、數(shù)據(jù)庫服務(wù)器以及其他基于服務(wù)器的應(yīng)用程序。通過網(wǎng)絡(luò)提供服務(wù)時,服務(wù)可以在 Active Directory(活動目錄 )中發(fā)布,從而促進(jìn)了以服務(wù)為中心的管理和使用。 因為注冊表關(guān)系到系統(tǒng)能否正常運行,所心有嚴(yán)格的權(quán)限設(shè)置,在遠(yuǎn)程模擬注冊表時,所得到是當(dāng)前登陸的用戶權(quán)限,管理和設(shè)置的是當(dāng)前用戶在系統(tǒng)中分配到的資源和共享的信息與數(shù)據(jù)。 (15)RenameValue 函數(shù),對注冊表中的鍵值重命名。 (13)MoveKey 函數(shù),對注冊表中的項重命名。 第 22 頁 共 52 頁 (11)KeyExists 函數(shù),檢查項是 否存在。 (9)ReadInteger 函數(shù),這個函數(shù)檢索當(dāng)前主鍵某個鍵值的數(shù)字值。 (7)ReadString 函數(shù),這個函數(shù)檢索當(dāng)前主鍵某個鍵值的字符串值。如果 Key 參數(shù)為 Nil,就把 RootKey 屬性指定的主鍵設(shè)為當(dāng)前主鍵。CanCreate: Boolean):Boolean。 (5)GetValueNames 函數(shù),這個函數(shù)返回當(dāng)前主鍵的所有鍵值名組成的 TStrings 對象。 (3)CloseKey 函數(shù),這個過程把當(dāng)前主鍵定到注冊表并關(guān)閉當(dāng)前主鍵。如果這個屬性設(shè)為 FALSE,表示調(diào)用 CloseKey()關(guān)閉某個主鍵時,要等到該主鍵和它的鍵值定到注冊表后才能返回。 注冊表功能設(shè)計 對注冊表的管理, 設(shè)計 實現(xiàn)的功能如圖 : 第 21 頁 共 52 頁 圖 注冊表管理模型 注冊表中的功能調(diào)用 TRegistry 對象實現(xiàn)。所以現(xiàn)在使用系統(tǒng)提供的這個功能是不太實際的。 在 Windows 下,雖然系統(tǒng)提供了遠(yuǎn)程注冊表管理功能,但是需要管理員用戶名與密碼,而且必須有 IPC 通道支持,所以使用起來極為不便。 鍵和子鍵:(又叫項和子項)它沒有特殊的名稱表示,以主 HKEY_配置單元子目錄的形式存在,而且沒有附帶的數(shù)據(jù),只負(fù)責(zé)組織對數(shù)據(jù)的訪問。它主要包含系統(tǒng)硬件的當(dāng)前狀態(tài)和那些需要更新與檢索的數(shù)據(jù),系統(tǒng)每次啟動進(jìn)都要創(chuàng)建此關(guān)鍵字。它實際上就是指向 HKEY_LOCAL_MACHINE\Config 結(jié) 構(gòu)中的某個分支的指針。 (4)HKEY_USERS : 用 于 定 義 所 有 用 戶 信 息 , 其 中 部 分 分 支 將 映 射 到HEKY_CURRENT_USER 關(guān)鍵字中,它的大部分設(shè)置都可以通過“控制面板”來修改。 (3)HEKY_LOCAL_MACHINE:用于定義相對網(wǎng)絡(luò)環(huán)境而言的本地計算機軟硬件的全部信息。 在注冊表中主要有六個根鍵,它們分別是: (1)HKEY_CLASSES_ROOT:是基層類別鍵,用于定義系統(tǒng)中所有已經(jīng)注冊的文件擴(kuò)展名、文件類型、文件圖標(biāo)等。也即 Windows 操作系統(tǒng)注冊表是按照三層結(jié)構(gòu)組織的,以層疊式結(jié)構(gòu)排列,由 根鍵 ?鍵 ?子鍵 ?鍵值 組成。 (3)管理人員和用戶通過注冊表可以在網(wǎng)絡(luò)在檢查系統(tǒng)配置和設(shè)置,使得遠(yuǎn)程管理可以實現(xiàn)。 (2)注冊表中登錄的硬件部分?jǐn)?shù)據(jù)可以支持高版本 Windows 的即插即用的特性。 與 INI文件不同的是: (1)注冊表采用了二進(jìn)制形式登錄數(shù)據(jù); (2)注冊表支持子鍵,各級子關(guān)鍵字都有自己的“鍵值”; (3)注冊表中的鍵值項可以包含可執(zhí)行代碼,而不是簡單的字串; (4)在同一臺計算機上,注冊表可以存儲多個用戶的特性。所以 大家 平常所說的注冊表,指的實際上就是這兩個 *.dat 文件。注冊表實際上是一個有名無實的東西,在系統(tǒng)中根本就找不到這樣一個文件。例如,可能想要知道進(jìn)程需要多少 CPU 時間,或者想通過調(diào)用GetExitCodeProcess 來獲得目前已經(jīng)撤消的進(jìn)程的退出代碼。進(jìn)程內(nèi)核對象的使用計數(shù)遞減 1。 但是,如果其他進(jìn)程打開了它們的句柄,內(nèi)核對象將不會撤消它們 。 (2)如果沒有其他進(jìn)程打開它們的句柄,那么這些內(nèi)核對象還將被撤消。 第 19 頁 共 52 頁 (1)進(jìn)程中剩余的所有線程全部終止運行。因此,如果想要確切地了解進(jìn)程是否已經(jīng)終止運行,必須調(diào)用 WaitForSingleObject 函數(shù)或者類似的函數(shù),并傳遞進(jìn)程的句柄。這與線程創(chuàng)建的資源不同,線程創(chuàng)建的資源對于任何時刻創(chuàng)建的進(jìn)程都 是“可見”的。 父進(jìn)程可以向它的子進(jìn)程傳遞命令參數(shù),父進(jìn)程可讓子進(jìn)程繼承其環(huán)境變量,也可為子進(jìn)程指定新的環(huán)境變量,父進(jìn)程可以控制是否讓子進(jìn)程繼承已打開的句柄,父進(jìn)程還能讓子進(jìn)程選擇繼承一些資源。另外,已過時的進(jìn)程創(chuàng)建函數(shù)( LoadModule 和 WinExec) 也是靠 調(diào)用 CreateProcess 實現(xiàn)的。任何在進(jìn)程終止時打開著的文件或其他資源將自動關(guān)閉,但是線程不同,線程終止時任何打開的資源仍保持打開,直到其他線程關(guān)閉它或進(jìn)程結(jié)束。 終止進(jìn)程 的實現(xiàn) 由 CreateThread 創(chuàng)建的線程將執(zhí)行到調(diào)用 ExitThread 或線程函數(shù)返回時為止(在后一種情況下, ExitThread 被隱藏地調(diào)用)。 獲取第一個進(jìn)程: Process32First(ProcessListHandle,ProcessStruct)。在 Windows 9x/2021/XP 下可以用ToolHelp API 枚舉進(jìn)程信息。內(nèi)核對象也是系統(tǒng)用來存放關(guān)于進(jìn)程的統(tǒng)計信息的地方。很多時候要了解系統(tǒng)中已經(jīng)執(zhí)行的進(jìn)程,并取得該進(jìn)程的所用的程序擴(kuò)展,以用于對于某些進(jìn)程進(jìn)行監(jiān)視、計時或獲取其相應(yīng)的動態(tài)調(diào)用信息等用途。 Win32 系統(tǒng)雖為每個進(jìn)程分配了 4GB 的內(nèi)存空間,但實際上大部分的機器都不會有如此大的內(nèi)存, Win32 只用到了4GB 線性地址的一小部分,只有在應(yīng)用程序向系統(tǒng)請求內(nèi)存時才會分配更大的空間。 對于 Win32,所有內(nèi)存的操作都是由操作系統(tǒng)來完成的,應(yīng)用程序不能對內(nèi)存進(jìn)行直接操作,如果要使用其中的內(nèi)存空間要事先向系統(tǒng)申請。由于每個進(jìn)程都在 自己的 4GB 的地址運行,而不必理會其他的進(jìn)程,所以每個進(jìn)程在計算機中與其他進(jìn)程的關(guān)系是完全獨立的,互相覆蓋的機會非常少。這意味著子進(jìn)程
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1