《易語言遠程控制技術教程》[1].doc_第1頁
《易語言遠程控制技術教程》[1].doc_第2頁
《易語言遠程控制技術教程》[1].doc_第3頁
《易語言遠程控制技術教程》[1].doc_第4頁
《易語言遠程控制技術教程》[1].doc_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

傳承中華民族文化 發(fā)揮母語編程優(yōu)勢 易語言遠程控制技術教程(2007年10月第一版)前 言利用遠程控制技術對企業(yè)管理,可加快我國經濟建設的需要。易語言以其易學易用功能完善的功能,從而為企業(yè)管理中的遠程控制提供了基礎的編程條件。本教程從一個基本面說明了遠程控制技術的編程環(huán)節(jié),可能大家比較感興趣的是雙向通訊技術、自動上線技術、網(wǎng)絡通訊協(xié)議、內存壓縮圖片技術、TELNET超級終端等技術,本教程均提供了例程。高級的遠程控制技術應用請大家繼續(xù)學習WINSOCK,API應用,端口映射技術等。對于破壞國家正常經濟秩序的黑客行為,本書是嚴厲批評的。由于黑客技術的發(fā)展,遠程控制被少數(shù)人利用,對國民生產產生了不良的后果。本教程不得不接觸到遠程控制這個方面,但僅以討論的形式為大家介紹,并不進行細致的介紹,以讓大家對此類黑客技術有所提防。由于本教程中,某程序可能即包含了服務器組件,也包含了客戶組件,因此如果用外部流行的“服務端/客戶端”提法很容易混淆,因此本書將主動進行控制管理的一方稱為:“主控方”,編寫的程序為:“主控端”;將被動接受控制的一方稱為:“受控方”,編寫的程序為:“受控端”。本教材個人可打印一份細看,各兄弟網(wǎng)站可自由轉載而不用事先打招呼。版權所有,不得批量印刷即可。作者還要說的話:本教程用了我兩個月的時間寫完,前期收集例程及寫例程用了我更多的時間,特別辛苦。遠程控制是把雙刃劍,可以好好利用,也可能造成不好的影響。還好作者回頭再看本教材后,感覺對于企業(yè)內部管理應用還是非常不錯的,可以提高中國中小企業(yè)的管理水平,但不可能制作成類似于灰鴿子那樣的破壞功能,本書沒有提供這樣的技術,也請大家自重,不要寫破壞性的程序。本書使用到大量的例程,足有200MB,還好,書中我基本都提供了下載鏈接,如果書中沒有列出的例程,請大家跟貼指出來,我會補上。我覺得最好的學習方法是先將這些例程收集全了,再一個一個打開看看,基本上就能明白了。目 錄目 錄1第一課遠程控制原理41企業(yè)管理的需要42介紹相關管理工具43組件簡介6第二課組件選擇71數(shù)據(jù)報72服務器/客戶組件83網(wǎng)絡通訊支持庫84保密通訊支持庫95遠程服務支持庫106網(wǎng)絡傳送支持庫117網(wǎng)絡通訊支持庫二128表1:網(wǎng)絡通訊類支持庫組件功能對比表12網(wǎng)絡傳送大文件丟包的原因13第三課組件構成141用例圖1:通訊類(易鴿子,局域網(wǎng)尋呼機,方舟千里眼)142用例圖2:聊天室類143用例圖3:遠程控制154用例圖4:遠程數(shù)據(jù)服務(數(shù)據(jù)庫)155采用單對組件166采用多種組件167組件搭配168表2:有易語言源碼的遠程控制軟件對比16第四課通訊協(xié)議181指令簡介182指令應用18第五課用戶連接191連接方式192登錄口令203身份驗證,MAC和硬盤碼20第六課遠程監(jiān)視201“服務器/客戶”組件通訊模式202內存壓縮圖片203“遠程服務支持庫”21第七課自動上線211數(shù)據(jù)報廣播自動上線212多對“服務器/客戶”組件反向掃描上線213服務IP地址自動搜尋自動上線214將IP地址直接綁定在受控端215推舉服務器21第八課客戶端功能221發(fā)送指令222對話聊天223監(jiān)視屏幕234遙控功能255了解信息及修改信息265TELNET超級終端266文件傳輸277鼠標鍵盤錄制288隱藏進程289開機啟動運行2910正常關機2911多用戶識別3012不重復運行3013系統(tǒng)服務權限3014其他功能30第九課服務端功能301安全性保證302用戶列表信息323數(shù)據(jù)庫操作344自動生成EXE365跨網(wǎng)遠程39第十課捆綁與免殺391捆綁392免殺39第十一課打造超小受控端401請使用斬月工具,去掉易語言的核心支持庫。402盡量使用API,這樣不帶有大量的支持庫,體積就小了。41第十二課 一個實例的分析411設計文檔41激活客戶端過程42客戶端上線過程422開機口令423用戶列表/選擇用戶434發(fā)送指令435激活用戶446發(fā)送文件45本書引用例程我收集了一些例程,較多,足有100MB以上,因此只能將例程的地址提供給大家,有需要時大家再自己搜索下載。1易語言自帶例程:數(shù)據(jù)報例程,服務器/客戶組件例程,遠程服務例程等。2遠程桌面易語言論壇搜索,關鍵字:遠程桌面,作者:王軍/dispbbs.asp?BoardID=124&ID=136950&replyID=&skin/dispbbs.asp?BoardID=124&ID=110918&replyID=&skin3諾亞遠程控制系統(tǒng)論壇搜索關鍵字:諾亞,諾亞遠程/dispbbs.asp?BoardID=124&ID=134465&replyID=&skin4讓服務器控件真正分辨多客戶,不用客戶發(fā)送標識/dispbbs.asp?BoardID=124&ID=38916&replyID=&skin5使用GDI+在內存轉換圖像格式-凌晨孤星/dispbbs.asp?BoardID=124&ID=127301&replyID=&skin6冰河幻靈-鼠標錄制程序有幾個例程,可搜索易語言論壇關鍵字:鼠標錄制,近在眼前/dispbbs.asp?BoardID=124&ID=110632&replyID=&skin第一課遠程控制原理1企業(yè)管理的需要利用易語言的遠程控制技術,可以對企業(yè)中的電腦進行非常方便的管理。典型的類似軟件如:QQ的遠程協(xié)助功能,微軟的NETMEETING,PCANYWHERE,還有一些網(wǎng)吧等單位利用遠程管理,自動更新客戶機的桌面游戲鏈接,游戲文件大文件的自動更新。有的企業(yè)可以遠程管理員工的桌面,及時發(fā)布企業(yè)重要信息,大文件的傳輸,遠程維修客戶電腦等。2介紹相關管理工具在企業(yè)管理中,實際上已有一些軟件了,如:騰訊的QQ,還有CC,以及一些有名的遠程管理軟件PCANYWHERE;黑客使用遠程控制較有名的是:冰河、灰鴿子,任我行等。企業(yè)內部使用的還有一些如:局域網(wǎng)尋呼機,內部聊天工具,易鴿子,聊天室等。PCANYWHERE冰河灰鴿子局域網(wǎng)尋呼機易鴿子3組件簡介易語言中數(shù)據(jù)報組件采用了UDP原理的協(xié)議。還有采用簡單TCP/IP協(xié)議的組件,如:服務器/客戶組件。保密通訊支持庫將TCP/IP協(xié)議及安全套接字層/RSA加密技術,兩用戶之間通訊較好及穩(wěn)定。而遠程服務支持庫采用了TCP/IP協(xié)議,并且封裝了多線程池,支持多用戶、多任務、多線程、大文件的數(shù)據(jù)傳輸。第二課組件選擇下面對易語言中幾種遠程管理的組件對比介紹1數(shù)據(jù)報數(shù)據(jù)報是一種不可靠、小數(shù)據(jù)量的網(wǎng)絡數(shù)據(jù)交互方式。如果傳遞的數(shù)據(jù)量過大,有可能會失敗,最好不要超過 127 字節(jié)。如需要大數(shù)據(jù)量或者可靠數(shù)據(jù)傳送方式,請使用基于連接的其它網(wǎng)絡組件。數(shù)據(jù)報組件轉輸?shù)膮f(xié)議是UDP,也就是說,他的發(fā)送量非常小,介紹中說最好不要超過127字節(jié),但在網(wǎng)絡穩(wěn)定的情況下,可以發(fā)送200字節(jié)不成問題。同時它也是一種不需要握手過程的通訊協(xié)議,即:它可以廣播發(fā)送,這個優(yōu)勢可以利用到局域網(wǎng)中向所有用戶發(fā)送消息,廣播發(fā)送的速度也非常快,無需等待。也可以利用這個組件的廣播機制,進行快速的連接服務端。即程序中同時使用數(shù)據(jù)報和“服務器/客戶”組件,這樣通過數(shù)據(jù)報通知已下線的客戶連接服務器。同時,如果設計得好的話,可以讓這個組件自己推舉服務器,即查到IP地址中哪一臺電腦的IP值最大,找到最大號的,這臺就作為服務器使用,或啟動“服務器/客戶”組件,改由“服務器/客戶”組件進行服務。2服務器/客戶組件服務器組件是基于連接的網(wǎng)絡數(shù)據(jù)交換的服務方組件,用作在指定端口監(jiān)視來自客戶方的數(shù)據(jù)。需要采用一臺電腦作為服務器使用,其他電腦作為客戶機,使用上較為方便,一次最大可發(fā)送4380個字節(jié),超過這個字節(jié)數(shù),必須使用分包的辦法,在接收的用戶處再還原包。由于可擴展性非常差,即不支持多用戶,多線程,大文件傳輸入,在用戶數(shù)量多,數(shù)據(jù)量大的情況下會產生紊亂,不建議大家用于商業(yè)程序中。3網(wǎng)絡通訊支持庫是服務器/客戶組件的升級版。包括了監(jiān)聽等功能。同上,不建議大家用于商業(yè)程序中。4保密通訊支持庫本支持庫實現(xiàn)在網(wǎng)絡上保密通訊的目的。由于一些機密數(shù)據(jù)在網(wǎng)上傳輸過程中可能會被一些別有用心的人截獲破壞,以致對數(shù)據(jù)的擁有者造成經濟上或者是物質上的損失,這樣就要求數(shù)據(jù)在網(wǎng)絡上傳輸?shù)倪^程中不會被他人利用破壞。本支持庫的設計和實現(xiàn)就是為了完成在網(wǎng)絡上保密通訊的目的,注意本支持庫僅僅是完成對數(shù)據(jù)在傳輸?shù)倪^程中的保護。理論上,在用戶的私鑰不公開的情況下,該通訊方式是絕對安全的,即使算法的設計者也不能做出任何破壞。本支持庫使用也非常簡單,在客戶端和服務程序連接前,設置好相應密鑰,在實際的使用過程中,用戶不必關心加密解密的過程,正常發(fā)送和接收數(shù)據(jù)就可以了。為了完全理解該支持庫,建議使用者查閱有關“安全套接字層(SSL)”的原理,本支持庫就是對該原理的實現(xiàn)。這是一個較好的用于商業(yè)的組件,每次最大發(fā)送:20480個字節(jié),再大的文件需要自定義分包協(xié)議傳輸,保密性能好。但存在的問題是,多用戶機制,及多線程不支持。因此只能作為點對點傳輸?shù)墓ぞ呔幊?,即當用戶需要傳送時,手工建立兩個用戶的連接,再進行傳輸,建議一些保密要求極為嚴格的商業(yè)程序使用本支持庫。如軍方、政府。5遠程服務支持庫該支持庫提供對服務器端程序和客戶端程序的支持??蛻舳税l(fā)出請求,服務器端接受到客戶端的請求后,就會執(zhí)行事先設置好的觸發(fā)函數(shù),在觸發(fā)函數(shù)的方法中就可以分析用戶端的請求,然后計算出結果發(fā)回給相應的客戶端。該支持庫的服務器模型支持多用戶多任務,內部采用多個線程池協(xié)調同步共同完成任務數(shù)據(jù)的發(fā)送接收。本支持庫一般可以使用在網(wǎng)絡服務中間件,遠程調用服務器,分布式計算等等程序的開發(fā)過程中。這個支持庫是本書重點推薦的一個支持庫。支持多用戶,多任務,多線程,大文件傳送。支持庫內部已將多用戶計劃任務作為線程池保護起來,直接傳輸完成為止。應用上極為廣泛,如:遠程監(jiān)視控制,遠程數(shù)據(jù)服務等。這是個多線程的,使用了4個線程池。建議你使用同步連接模式,這樣,客戶的每一次請求處理完成后才順序執(zhí)行下一個請求,會有一個順序性。如果你使用異步傳輸模式 快速的發(fā)向服務器 實際上每個發(fā)送來的信息都作為一個請求放到了請求列隊中。異步連接模式:服務端不會按照發(fā)送來的順序返回信息,造成不便。接受 - 處理 - 返回 就這樣一個流程,每個發(fā)送的請求都單獨處理。你發(fā)的又不是數(shù)據(jù)流,如果你不停的發(fā),服務器就會不停的接收直到請求文本發(fā)送結束服務器才處理這個請求。如果你快速的發(fā)很多數(shù)據(jù)造成服務器來不及時處理。緩存大量的請求信息 會造成問題。但是呢,線程數(shù)量是能自己控制的,你改成99999,就看你的機器處理能力了。如果你一定要大量的發(fā)送請求信息,處理過程很復雜服務器不能及時處理,就會讓服務器跨掉。實際上這樣的話,服務器的性能達到極限,你還要考慮帶寬是否充足哦。同步連接 - 處理客戶端主動的請求信息,主動的查詢。在有明確查詢目的時候使用。異步連接 - 被動等待服務器的信息并做出反應,被動的接收然后響應服務器。在不確定什么時間查詢,需要服務器主動聯(lián)系客戶端的時候使用?!胺掌?發(fā)送文本”第1個參數(shù)問題:如果你給的是文本型,就默認是請求代碼如果你給的整數(shù)型,就默認是客戶句柄而“到數(shù)值”方法返回的是雙精度小數(shù)型,因此必須用整數(shù)型,可以用“取整()” 命令,或整數(shù)型的變量。用以下代碼試試:服務器.發(fā)送文本 (取整(到數(shù)值(列表框1.取項目文本 (列表框1.現(xiàn)行選中項) 千萬不能用“到數(shù)值()”這樣的單一命令放在第一個參數(shù)中,因為“到數(shù)值()”返回的是雙精度小數(shù)型。因此還要用“到整數(shù)(到數(shù)值()”這樣的命令方式。6網(wǎng)絡傳送支持庫本支持庫實現(xiàn)對多種協(xié)議斷點續(xù)傳下載與FTP上傳的支持,并提供了豐富的設置方式。當前版本支持HTTP,F(xiàn)TP,MMS多線程下載及斷點續(xù)傳,以及對RTSP協(xié)議的單線程下載及斷點續(xù)傳。用戶可以根據(jù)各自的主機及網(wǎng)絡情況進行設置,本支持庫可以運行在linux下.詳細情況參見例程,注意:當前版本使用了映射文件模式,并且是一次全部映射的方法。所以最大傳送不超過一次映射文件的長度。這個支持庫主要是應用于FTP,需要FTP服務器。易語言中有現(xiàn)成的例程,在遠程控制中,用于客戶端的自動上線功能。7網(wǎng)絡通訊支持庫二本支持庫實現(xiàn)了對原始套接字和ARP協(xié)議的支持。通過原始套接字,我們可以更加自如地控制多種協(xié)議,而且能夠對網(wǎng)絡底層的傳輸機制進行控制;ARP(地址解析協(xié)議),就是將網(wǎng)絡層(IP層,也就是相當于ISO OSI 的第三層)地址解析為數(shù)據(jù)連接層(MAC層,也就是相當于ISO OSI的第二層)的MAC地址。這個支持庫使用較為自由,但必須要熟悉相關的網(wǎng)絡通訊協(xié)議,如果你對其中的協(xié)議都了解了,使用這個支持庫就簡單了。8表1:網(wǎng)絡通訊類支持庫組件功能對比表表1:網(wǎng)絡通訊類支持庫組件功能對比表使用組件優(yōu)點缺點性能比較系統(tǒng)核心支持庫:服務器/客戶簡單易用傳送量小最大發(fā)送:4380個字節(jié)是否穩(wěn)定:一般自動分包:否,需要自定協(xié)議最大連接客戶數(shù):未統(tǒng)計外網(wǎng)可用:未測試系統(tǒng)核心支持庫:數(shù)據(jù)報極易使用傳送量小,不穩(wěn)定,發(fā)送出去不檢查最大發(fā)送:最好不要超過127個字節(jié)。經試網(wǎng)絡穩(wěn)定時可發(fā)送200個漢字是否穩(wěn)定:不穩(wěn)定自動分包:否,需要自定協(xié)議最大連接客戶數(shù):未統(tǒng)計外網(wǎng)可用:未測試網(wǎng)絡通訊支持庫:網(wǎng)絡服務器/網(wǎng)絡客戶端較易使用,可監(jiān)聽傳送量小最大發(fā)送:20480個字節(jié)是否穩(wěn)定:穩(wěn)定自動分包:否,需要自定協(xié)議最大連接客戶數(shù):未統(tǒng)計外網(wǎng)可用:未測試保密通訊支持庫:保密服務器/保密客戶端保密,小范圍保密轉送文件,RSA加解密方法較繁瑣,多客戶可能出錯最大發(fā)送:20480個字節(jié)是否穩(wěn)定:很穩(wěn)定自動分包:否,需要自定協(xié)議最大連接客戶數(shù):未統(tǒng)計外網(wǎng)可用:未測試遠程服務支持庫:遠程服務/請求客戶端支持多用戶多任務,采用多個線程池協(xié)調同步一個線程池占用四個線程,開多了也有問題最大發(fā)送:不限字節(jié)是否穩(wěn)定:極穩(wěn)定自動分包:自動分包最大連接客戶數(shù):未統(tǒng)計外網(wǎng)可用:未測試網(wǎng)絡通訊支持庫二較自由需了解現(xiàn)有通訊協(xié)議與協(xié)議有關網(wǎng)絡傳送支持庫FTP,可斷點續(xù)轉需要開FTP與FTP協(xié)議有關網(wǎng)絡套接字通信支持庫非官方與網(wǎng)絡套接字協(xié)議有關9網(wǎng)絡傳送大文件丟包的原因不外乎以下幾個原因:1單用戶分包問題:小量字節(jié)發(fā)送以上組件完全沒有問題,但如果通訊內容超過了最大發(fā)送的范圍,就只能通過分包傳送解決。正確的方法是:分包時就要制定一個轉送的協(xié)議,簡單地就是在每個包前面加個標記和序號,有的還加上MD5碼以檢查是否傳送完整,整個多少包的信息等,然后在服務端組織收包的工作。有的用戶傳送時只與一個用戶通訊,并通過延時解決交叉?zhèn)魉突ハ嘤绊懙膯栴},不太科學。延時相對就時間長,時間長不一定不好,就看你能不能有信心等下去了。2多用戶分包問題:第二個原因是用戶多,即使分包了,也不一定能正常轉送完整,還要回過頭來進行檢查是否丟包,如果有丟包就要回頭重新傳,最后合并為一個文件。并發(fā)的用戶亂傳包,你受得了嗎?需要寫程序實現(xiàn)多用戶多線程序操作,工作量不小。最好組件能自己建立線程池,自己組織收包的工作。3支持庫有BUG,如:有人說發(fā)一個包,接收方卻收到兩個包。還有支持庫運行時間長了,會有各種問題,開一天,開一個星期,開一個月長時間的測試看看??偨Y:實際上,易語言核心支持庫中的三個組件只能學習用,或發(fā)一些簡單的指令什么的可完全勝任,簡單的制作個QQ登錄什么的,到此為止吧。網(wǎng)絡通訊支持庫也只是個沒有組件界面的簡單升級版而已,浪費編程人員很多時間。如果要實戰(zhàn),那么單用戶大文件傳送請直接考慮保密通訊支持庫,多用戶大文件傳送請直接考慮遠程服務支持庫。不要多想了,立即行動吧。第三課組件構成1用例圖1:通訊類(易鴿子,局域網(wǎng)尋呼機,方舟千里眼)尋呼機通訊上線下線聊天2用例圖2:聊天室類聊天室服務器啟動列表踢出客戶端管理員用戶上線下線聊天改名客戶端客戶端3用例圖3:遠程控制遠程控制啟動服務器管理員列表發(fā)命令客戶端客戶端上線下線客戶端用戶聊天交互4用例圖4:遠程數(shù)據(jù)服務(數(shù)據(jù)庫)遠程數(shù)據(jù)服務服務器啟動列表數(shù)據(jù)庫客戶端管理員用戶上線下線顯示傳數(shù)據(jù)客戶端客戶端5采用單對組件基本上編程人員在確定自己選用哪一種組件后,就固定在程序中只使用這種組件,編程上就較為簡單。但一些受單一組件限制的功能就無法解決,復雜一些的功能可能也難以應用,如:服務端必須先上線再讓客戶機上線,服務端上線后不允許掉線,服務端掉線后,客戶端必須重啟等。這樣在單一組件的模式下,總是很難完成一些“自動化”的任務。如果用時鐘總是去償試連接,可能造成網(wǎng)絡資源的占用。有時就會產生反向連接的狀態(tài),即客戶端使用的是服務器組件,而服務端使用的是客戶組件,這在一些黑客軟件中采用比較多,但6采用多種組件在這里是將組件的類型擴大化了,實際上,采用了這樣一種策略,即自動上線即采用了數(shù)據(jù)報,也采用了服務端/客戶反向連接,以及遠程服務反向連接,和FTP網(wǎng)絡地址的方式。最終的通訊還是使用遠程服務支持庫來實現(xiàn)。即自動連接是由不同組件完成的,連接后的操作權交由遠程服務來完成。特別注意的是,這里用數(shù)據(jù)報進行了廣播形式的激活,這種方法速度非???,在局域網(wǎng)內非常有效,而用英特網(wǎng)的IP地址的方法將服務端的IP地址告訴客戶機的方法非常適合英特網(wǎng)用戶使用。7組件搭配如果限定了在只在局域網(wǎng)內進行遠程服務,那么采用:數(shù)據(jù)報激活+服務器/客戶反向激活+遠程服務支持庫提供服務比較好。如果是在英特網(wǎng)的廣域網(wǎng)上使用,可以采用FTP,及網(wǎng)頁上存放服務端IP地址的方式,或遠程序服務支持庫反向激活的方式進行激活,激活后的權限交由遠程程序支持庫操作比較好。8表2:有易語言源碼的遠程控制軟件對比功能列表非雪之戀遠程控制方舟千里眼諾亞遠程控制蝶蝶不休遠程控制好人好遠程協(xié)助yok9金立遠程控制云霄遠程精靈連接方式一種三種一種一種一種一種一種連接密碼無無有無無無有使用組件服務器/客戶(反向)服務器/客戶/數(shù)據(jù)報服務器/客戶(反向)服務器/客戶服務器/客戶遠程服務并行同步遠程服務并行異步受控端隱藏進程模塊中引用DLL不隱藏模塊中引用DLL直接調用DLL受控端開機啟動注冊表方式注冊表方式主控端生成受控端有有自動上線數(shù)據(jù)報有手工設置有有遠程卸載有自殺程序有指令集/指令發(fā)送有有,帶參數(shù)有,較多有文字聊天類QQ有有有捕獲屏幕/連續(xù)監(jiān)控九畫面監(jiān)視墻小屏幕有連續(xù)/分包有有即時視頻傳輸有即時語音聊天TELNET超級終端有查看受控端系統(tǒng)信息有查看受控端文件系統(tǒng)有有查看受控端注冊表有查看受控端剪輯板有查看受控端進程有有有共享/上傳下載文件有上傳大文件可以下載大文件可以記錄鍵盤有可以記錄鼠標操作檢查插入光盤/通知檢查插入U盤/通知遠程錄像遠程控制鼠標動作指令方式有發(fā)動肉雞攻擊自動免殺自動捆綁FTP操作界面簡單界面QQ界面界面漂亮蝴蝶界面太差皮膚漂亮還行評語入門級值得學習進階級部分學習不容易值得學習功能較全9實用例程簡介非雪之戀遠程控制這是一個極簡單的遠程序控制系統(tǒng),采用了常見的“服務器/客戶”反向連接的方式。一些常用的命令列在界面中,操作簡單方便。方舟千里眼采用了兩對“服務器/客戶”組件互相連接,以及用數(shù)據(jù)報發(fā)布廣播自動上線功能。特點是采用“服務器/客戶”實現(xiàn)了遠程監(jiān)控,及九畫面監(jiān)控墻的功能。有類似于QQ聊天的窗口。自動上線找用戶,非常方便。諾亞遠程控制類似于灰鴿子的界面,采用了常見的“服務器/客戶”反向連接的方式。實現(xiàn)了簡單指令集的功能。較為簡單。蝶蝶不休遠程控制采用了常見的“服務器/客戶”正向連接的方式。可學習的地方是對進程及鍵盤鼠標的監(jiān)視功能。好人好遠程協(xié)助采用了常見的“服務器/客戶”正向連接的方式。是參加易語言大獎賽未得獎的作品,主要是寫得太亂了。對遠程注冊表、進程管理、鼠標控制都有較好的支持。yok9金立遠程控制采用遠程服務支持庫,并行同步發(fā)送數(shù)據(jù)。主控端可生成受控端EXE文件。最重要的是對TELNET超級終端的支持。以及遠程進程方面可以學習。還帶一個漂亮的皮膚。云霄遠程精靈采用遠程服務支持庫,并行異步發(fā)送數(shù)據(jù)。功能較為全面,如:聊天工具也有,也可以查看受控端剪輯板,生成受控端EXE文件,遠程注冊表,進程管理、鼠標控制等。第四課通訊協(xié)議1指令簡介按形式分,可分為:簡單指令、復合指令、復雜指令按內容分,可分為以下:1)文本指令/多文本指令2)指令文本+字節(jié)集3)指令文本+字節(jié)集+指令文本4)指令文本+字節(jié)集+間隔符號+字節(jié)集+間隔符號2指令應用1)簡單指令:文本指令/多文本指令發(fā)送一些簡單的指令,如讓客戶機電腦重啟,開啟光驅等。如果帶有參數(shù),后面可跟著其他指令文本,中間用分隔符分隔。主要用于單個指令。例如:打開光驅也可用于組合指令,或帶有參數(shù)的。例如:“鼠標移動|30|20”例程:參見“諾亞遠程”中的說明文檔(諾亞指令集)。2)指令文本+字節(jié)集主要用于傳輸入文件,如數(shù)據(jù)庫,配置文件,圖片文件等。前面的指令文本可用復合指令,可包含文件名的信息等。大文件傳輸入時,在用遠程服務支持庫時可以直接采用這種方式。在分包的情況下,也可以這樣傳送,但在指令文本處標記當前是哪一個包號,甚至將單個字節(jié)集的MD5碼也放在指令文本中發(fā)送,以進行驗證數(shù)據(jù)完整性。也可以將整個字節(jié)集的MD5碼進行數(shù)據(jù)完整性驗證。主要用于大文件整包發(fā)送。例如:“保存文件|”+文件名+“|”+文件字節(jié)集或分包發(fā)送時代用。例如:“保存文件|”+文件名+“|包1|共10|”+MD5碼+“|”+文件字節(jié)集3)指令文本+字節(jié)集+指令文本這里主要用于對傳送字節(jié)有限制時,要將傳送的文件的前后加上標記,這樣用戶端接收到之后,就可以還原文件了。必要時,需要將整個字節(jié)集的MD5碼放在指令文本中,以進行驗證數(shù)據(jù)的完整性。主要用于大文件分包發(fā)送時的指令。例如:“圖片開始”+圖片字節(jié)集+“圖片結束”“文件開始”+文件字節(jié)集+“文件結束”例程:指令文本+字節(jié)集+指令文本:請參見諾亞遠程中的傳送接收圖片部分。4)指令文本+字節(jié)集+間隔符號+字節(jié)集+間隔符號這里主要是多文件傳送,如一個數(shù)據(jù)庫還帶有索引及備注庫,這樣最好是一次性地傳送過去?;蚱渌貏e的場合用上。第五課用戶連接1連接方式正向連接:就是管理員使用的組件是服務器組件,用戶端使用的是客戶組件。這時,客戶組件需要知道服務器組件的IP地址,同時需要服務器組件先上線,以取得握手。反向連接:這是黑客一般使用的,即用戶端使用的是服務器組件,而管理員使用的是客戶組件,這樣管理員可以非常方便地與用戶連接。一般來說,原理就是這樣,采用何種連接方式都是可以的,主要在于編程人員怎樣克服困難了。如正向連接時必須服務器先上線,這個可以克服的,服務器后上線時,可以將IP地址放在網(wǎng)上或某臺電腦上,用戶可以定時去取,以自動激活上線?;蛴脭?shù)據(jù)報廣播讓客戶端上線。如反向連接時,不知被控端的IP地址,主控端需要掃描網(wǎng)絡,以知道哪臺被控端電腦上線了,這時可以通過被控端用戶發(fā)送EMIAL或FTP消息通知主控端管理員有人上線了。如反向連接時,不能直接廣播,可以用循環(huán)命令,依次向受控端嘗試連接。2登錄口令為安全起見,有時通訊組件的端口可能會被檢查人員查到,或正好遇到某個端口號與其他軟件重復,因此在握手連接時,需要加上用戶名和口令,以示區(qū)別。3身份驗證,MAC和硬盤碼每臺電腦的IP地址及用戶名都是可以換的,而且換起來非常方便。為安全管理,IP地址應該綁定一些硬件才行,這樣網(wǎng)卡的MAC地址是比較固定的,如果可能,也可以與硬盤碼、硬盤序列號、CPU序列號、BOIS序列號綁字在一起。同時要注意,如果綁定時取不到硬件號,一定要做好容錯處理,可以默認一個固定的序列號。第六課遠程監(jiān)視1“服務器/客戶”組件通訊模式“服務器/客戶”組件只能用于發(fā)送小于4380字節(jié)的通訊,因此對于超過4380字節(jié)的大圖片,操作上就需要分包傳輸了。例程參見:諾亞遠程中的圖片傳輸部分。2內存壓縮圖片使用“快照()”命令,所取得的字節(jié)集是BMP格式,非常大,如果直接傳,將大量占用網(wǎng)絡資源。因此要壓縮成JPG圖片格式,傳統(tǒng)的,要將BMP保存到硬盤上,形成BMP文件,再轉換為JPG格式,才可以傳送,這樣是十分麻煩的。因此有沒有辦法直接在內存中壓縮為JPG格式呢?可以的,請使用凌晨孤星發(fā)的“使用GDI+在內存轉換圖像格式”例程,在論壇上可以搜索到的。例程參見:使用GDI+在內存轉換圖像格式.RAR3“遠程服務支持庫”由于遠程服務支持庫支持大文件傳輸,因此不用分包傳圖片,而且還支持多用戶 ,多任務,多線程,是進行遠程桌面監(jiān)視的好工具。例程參見:第2課_基本組件例程河童-遠程桌面主控端-遠程.e例程參見:第2課_基本組件例程河童-遠程桌面受控端-遠程.e第七課自動上線1數(shù)據(jù)報廣播自動上線局域網(wǎng)內可采用“數(shù)據(jù)報”的廣播功能,實現(xiàn)自動上線。下述命令中的第一個參數(shù)為空,即是廣播發(fā)送。對象發(fā)送數(shù)據(jù) (文本型 接收主機地址,整數(shù)型 接收主機端口號,通用型 欲發(fā)送數(shù)據(jù))2多對“服務器/客戶”組件反向掃描上線即用戶端使用的是“服務器”組件,而主控端使用的是“客戶”組件,通過對IP地址的順序連接,實現(xiàn)自動上線。缺點:掃描時間非常長,有時電腦像死機一樣。減少連接時間的辦法是采用多線程,ARP技術實現(xiàn)快速掃描在線客戶,然后再對在線客戶連接,實現(xiàn)自動上線。3服務IP地址自動搜尋自動上線可建立FTP,將服務器的IP地址放在上面,受控端自動查找,每間隔一段時間自動連接?;驅⒎誌P地址放在網(wǎng)頁上,由受控端讀取,自動連接。4將IP地址直接綁定在受控端將主控端的IP地址直接寫在受控端,生成EXE可執(zhí)行文件,供受控端使用。5推舉服務器推舉網(wǎng)內最大的一個或最小的一個IP地址為服務器。此服務器如果下線,就根據(jù)規(guī)則再推舉一個為服務器。第八課客戶端功能1發(fā)送指令如:鳴叫,鼠標,信息框黑屏、鎖定、重啟、關機、光驅、啟動運行、定時運行、關閉運行在客戶端一般要實現(xiàn)的功能就是發(fā)送指令。由受控端接收指令后運行指令?;蚝唵蔚貜棾鲂畔⒖颍挥袝r指令帶有參數(shù)。參見表2中大多數(shù)例程。2對話聊天即實現(xiàn)類似于QQ聊天的功能,實現(xiàn)對話通訊的功能。參見表2中具有聊天功能的例程。比較好的一個聊天工具例程是“方舟千里眼”,特點是:不使用專用服務器,而可以直接聊天。此外,比較專業(yè)的還有EQQ,竹林聊天室等。3監(jiān)視屏幕即實現(xiàn)類似于QQ的遠程協(xié)助功能?!胺掌?客戶”組件可以實現(xiàn)抓取遠程屏幕的功能。使用分包發(fā)送可傳送大圖片。參見“河童遠程桌面”例程。也可直接使用遠程服務支持庫,支持多任務,多線程,大圖片傳送。參見“遠程桌面-你的桌面我作主-王軍”例程,特點是:可放大縮小。比較好的是“方舟千里眼”,特點是:九畫面監(jiān)視墻,可放大縮小。提高傳輸圖像的技術,可以采用內存中抓圖,內存中壓縮圖片為JPG圖片,內存中轉送顯示在主控端。如論壇上的例程:“使用GDI+在內存轉換圖像格式-凌晨孤星”加快圖像轉輸速度的方法還有:不必要每次都傳送一張大的全屏圖片,而是對前后兩張抓圖間隔一些點后進行對比,只將不同的畫面?zhèn)鬟^去,相同的就不傳了。因為電腦相對于播放電影來說,屏幕不是經常改變的。例如:將屏幕分成6*8這樣的48小塊,每小塊中取一些點進行對比,這樣就知道哪些范圍是改過的,哪些沒有改過,對于改過的,就取出范圍,抓圖后傳送,這樣就節(jié)約了轉輸?shù)臄?shù)據(jù)量。還有將真彩色轉換為256色或16色轉輸,這樣也會使轉輸量小一些。4遙控功能即實現(xiàn)類似于QQ的遠程協(xié)助功能中的控制功能。實現(xiàn)鼠標和鍵盤的控制。參見“遠程桌面V1.0-你的桌面我作主-王軍”例程,特點是:還可輸入文字。比較好的是“方舟千里眼”,特點是:帶有對方屏幕上的鼠標指針。5了解信息及修改信息了解對方電腦內的信息。如:文件目錄信息,電腦系統(tǒng)信息,注冊表,內存剪貼板了解目錄信息可以幫助我們查看是否有此可執(zhí)行文件,或資料是否傳輸?shù)轿?;上傳下載文件等。了解電腦系統(tǒng)信息,可以幫助我們?yōu)槭芸囟说某绦虿殄e。了解內存剪貼板的內容是為了了解用戶操作的步驟。了解鍵盤輸入記錄,是黑客需要知道一些游戲的口令等。了解注冊表是為了修正客戶注冊表中的問題。參見表2中相關軟件源代碼。少少-少圖5TELNET超級終端TELNET超級終端,即象在自己的電腦中操作DOS控制臺一樣。表2中“yok9金立遠程控制”軟件提供了TELNET的功能,非常值得大家學習。主要是采用了通道技術,因此反應非常快,象在操作自己的電腦一樣。大家也可以使用模擬DOS的技術,取得DOS的反饋信息來實現(xiàn)這個效果。6文件傳輸即實現(xiàn)類似于QQ中的文件傳輸功能,甚至還可以遠程更新程序,遠程運行程序,資料傳送,F(xiàn)TP下載等。大文件轉輸一般采用遠程服務支持庫,優(yōu)勢是多用戶,多線程,多任務,大文件。而采用“服務器/客戶”這樣的模式,不是不可以,就是當用戶多時,就會非?;靵y,特別是網(wǎng)絡非常繁忙的時候。下面是一個采用“服務器/客戶”組件發(fā)送及接收的代碼,可以看到如何收包還原為一個完整數(shù)據(jù)包的。7鼠標鍵盤錄制可參見參賽作品“丁坤屏捕”,論壇例程“近在眼前鍵盤&鼠標錄制、回放例程(正規(guī)方法并帶記錄保存)”8隱藏進程有時為了不讓用戶意外終止受控端的運行,需要將受控端的進程隱藏起來。隱藏進程:參見表2中相關例程。9開機啟動運行一般使用了寫注冊表的形式實現(xiàn)開機時啟動運行:寫注冊項 (#本地機器, “SOFTWAREMicrosoftWindowsCurrentVersionRun你的受控端程序名”, 取運行目錄 () “” 取執(zhí)行文件名 ()刪除命令是:刪除注冊項 (#本地機器, “SOFTWAREMicrosoftWindowsCurrentVersionRun你的受控端程序名”)看看下面是“韓非-非雪之戀遠程控制系統(tǒng)”中的代碼,比較厲害:注冊系統(tǒng)進程 (取當前進程 (), 1)隱藏系統(tǒng)進程 ()復制文件 (取當前目錄 () “” “soft.exe”, 系統(tǒng)目錄 “.exe”)復制文件 (取當前目錄 () “” “soft.exe”, “C:windowsdll.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRun ”, 系統(tǒng)目錄 “.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRun ”, “c:windowsdll.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRunOnce ”, 系統(tǒng)目錄 “.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRunOnce ”, “c:windowsdll.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRunOnceEx ”, 系統(tǒng)目錄 “.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRunServices ”, 系統(tǒng)目錄 “.exe”)寫注冊項 (#本地機器, “SoftwareMicrosoftWindowsCurrentVersionRunServicesOnce ”, 系統(tǒng)目錄 “.exe”)10正常關機有時,客戶端被設置不能用戶關閉,而是存于系統(tǒng)托盤中的,這時如果關機時,將不能自動關機,比較麻煩。請大家參看下面的代碼,實現(xiàn)關機正?;骸瓣P閉程序最小化托盤(可以正常關機).e”/dispbbs.asp?BoardID=124&ID=123693&replyID=&skin前段時間寫個程序需要點關閉按鈕自動最小化托盤,結果程序如果不退出的話,關機都關不了,于是在論壇搜索截獲關機消息,就找到了老近的一個例程,改造一下,這個程序關電腦時候就不會關不了啦,今天看到有新手問這個問題,特放上來。11多用戶識別“讓服務器控件真正分辨多客戶,不用客戶發(fā)送標識.e”/dispbbs.asp?BoardID=124&ID=38916&replyID=&skin基本原理: 一,取出客戶句柄 要實現(xiàn)區(qū)分多客戶,就要知道數(shù)據(jù)到達的是哪個客戶,我們可以利用客戶句柄來實現(xiàn),但易的服務器控件不提供客戶句柄,這里我們借用ELib的截獲消息來實現(xiàn),這個很簡單,就用 截獲消息 () 二、用自己的發(fā)送函數(shù)。這個實際上是調用Winsock API函數(shù)的send函數(shù)來實現(xiàn) 具體實現(xiàn)方法請看我上傳的示例,示例中提供了按句柄取出客戶地址的子程序,可以讓你在數(shù)據(jù)到達事件中取出客戶地址。12不重復運行有時,打開兩個帶有“數(shù)據(jù)報”組件的程序,會造成端口被占用,發(fā)送不正常,因此需要確定,一臺電腦只能運行一個服務端,或客戶端。防止重復運行的例子已非常多了,大家自己在論壇上找吧。13系統(tǒng)服務權限請參看“yok9金立遠程控制-遠程服務”的受控端,將自身寫到系統(tǒng)服務中。14其他功能還可以讓客戶端進行以下的行為,取得最大的利益。雖然沒有造成破壞,但也會影響網(wǎng)絡速度,不建議大家這樣做。自動點擊廣告:點擊某個廣告頁面,增加點擊量。彈出通知或廣告:企業(yè)中彈出一些通知,或更換墻紙功能,網(wǎng)吧中更換廣告功能。刷新網(wǎng)頁:可以刷新某個網(wǎng)頁,使得網(wǎng)頁刷新數(shù)增加。洪水攻擊:不斷刷某個網(wǎng)址,造成此網(wǎng)站擁堵。不建議大家這樣做。第九課服務端功能1安全性保證1主控端要設置管理員密碼,以保證主控端的安全性。2連接時,設置口令,以防止非法用戶連接進入。3受控端的安全性:客戶端的IP地址是非常方便的更改的,因此需要收集用戶的網(wǎng)卡MAC地址,進行綁定驗證?;蚱渌布畔?,如:硬盤序列號,硬盤序列號,BIOS序列號等。在主控端可用一個小型數(shù)據(jù)庫存儲進行比對。編程時要注意:這些信息取不出來時的容錯處理。易語言的向導可以自動生成密碼登錄界面,采用MD5比對口令,非常安全,建議大家使用。下面是硬件信息的收集,以和IP地址進行綁定,防止用戶改成其他組別的用戶,而造成企業(yè)機密的損失。2用戶列表信息一個好的用戶列表,不僅可以非常清楚地知道哪些用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論