【正文】
步 處 理是否結(jié) 束開 始 圖 43 點(diǎn)處理 流程 多邊形處理 這部分的處理也是整個(gè)系統(tǒng)的一個(gè)難點(diǎn)。 我們所需要考慮的是一些特殊情況的出現(xiàn),比如線段的 2 頂點(diǎn)出現(xiàn)重合哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 17 現(xiàn)象。其流程如圖 42 所示。在很多情況下,兩者是有沖突的,安全性高的處理方式,難免造成處理時(shí)間上的延長(zhǎng),處理速度快的算法,安全性又無法得到保障。我們首先從文檔中,提取出各種實(shí)體的信息,再對(duì)這些實(shí)體進(jìn)行分類,對(duì)不 同類型實(shí)體進(jìn)行不同的置亂操作。通過對(duì) 2 種方法的研究比較,最后選定了 ObjectARX 反應(yīng)器來實(shí)現(xiàn)用戶監(jiān)控模塊。然后對(duì)文檔進(jìn)行置亂操作。程序捕捉到命令,然后截?cái)嗝畹倪\(yùn)行,然后對(duì)文檔進(jìn)行 置亂操作,操作后繼續(xù)保存命令。 圖 33 加載用戶監(jiān)控模塊 其中 appload 是 AutoCAD 自帶命令,用于控制對(duì)應(yīng)用程序的加載與卸載等操作。當(dāng) 一個(gè)文檔被關(guān)閉時(shí),調(diào)用 documentToBeDeatroyed()對(duì) 文檔進(jìn)行置亂操作。 mandEnded()用于在命令執(zhí)行完畢后,恢復(fù)當(dāng)前操作。該類使用方法On_kInitAppMsg()在程序被 AutoCAD加載的時(shí)候,創(chuàng)建 2個(gè)反應(yīng)器。 在本系統(tǒng)中 ,使用編輯反應(yīng)器的地方主要在用戶對(duì)文檔進(jìn)行保存操作時(shí)對(duì)文檔進(jìn)行置亂操作,對(duì) CAD文檔進(jìn)行修改時(shí)記錄其修改歷史 ,進(jìn)行篡改保護(hù)。針對(duì)這 2 中不同類型的操作,我們使用了 2 種反應(yīng)器, AutoCAD 編輯反應(yīng)器 和 AutoCAD 文檔管理反應(yīng)器 在用戶打開 AutoCAD的時(shí)候,我們的程序自動(dòng)加載了插件,并建立反應(yīng)器。 綜合以上因素,使用 ObjectARX反應(yīng)器來實(shí)現(xiàn)用戶監(jiān)控模塊是一個(gè)比較好的選擇。如果單純的只是進(jìn)行 AutoCAD 開發(fā), ObjectARX 反應(yīng)器不但實(shí)現(xiàn)了 Windows 鉤子函數(shù)中所實(shí)現(xiàn)的功能,而且還在此基礎(chǔ)上,進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了許多更加直接的功能。 Windows 鉤子函數(shù)是一個(gè)非常通用的技術(shù),可以說,他可以對(duì)在 Windows 下運(yùn)行的所有程序進(jìn)行控制,功能確實(shí)非常強(qiáng)大。 (3)對(duì)象反應(yīng)器 AcDbobjectReactor: 對(duì)象反應(yīng)器可以監(jiān)視在指定對(duì)象被更改、復(fù)制或刪除時(shí)發(fā)生的事件。 ObjectARX 是 一 個(gè)綜 合 的 API ( Application Programming Interface),他包含了將 200 多個(gè)類和 3000 多個(gè)函數(shù) [8]。使用遠(yuǎn)程鉤子,將需要建立一個(gè)新的進(jìn)程,對(duì) AutoCAD 進(jìn)程進(jìn)行監(jiān)控,那么,如何通過這個(gè)進(jìn)程來控制 AutoCAD 的進(jìn)程,如何防止用戶通過終止進(jìn)程來取消監(jiān)控,都將構(gòu)成較大的問題。 (4) 日志鉤子可以記錄從系統(tǒng)消息隊(duì)列中取出的各種事件消息。 鉤子函數(shù)根據(jù)事件又可以分成以下幾種類型: (1) 鍵盤鉤子和低級(jí)鍵盤鉤子可以監(jiān)視各種鍵盤消息。因?yàn)橄到y(tǒng)在處理所有的相關(guān)事件時(shí)都將調(diào)用您的鉤子函數(shù),這樣您的系統(tǒng)將會(huì)明顯的減慢。簡(jiǎn)言之,就是可以用來觀察其它進(jìn)程中的某一特定線程將發(fā)生的事件。一共有兩種類型的鉤子:局部的和遠(yuǎn)程的。 在具體實(shí)現(xiàn)方法的選擇上,我們考慮了 2 個(gè)方法,一個(gè)是使用 Windows鉤子函數(shù),另一個(gè)是 ObjectARX 反應(yīng)器。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 8 第 3章 用戶監(jiān)控模塊的 設(shè)計(jì) 與實(shí)現(xiàn) 我們所開發(fā)的內(nèi)容包括文檔置亂,篡改提示,數(shù)字印章等模塊,這些模塊都需要面臨著一個(gè)共同的問題,在什 么時(shí)刻運(yùn)行我們的程序,如何在這些時(shí)刻運(yùn)行我們的程序。 文檔處理模塊的主要功能是對(duì)安全性較低的文檔進(jìn)行處理,使其內(nèi)部的實(shí)體進(jìn)行一種可逆性的轉(zhuǎn)換,使文檔信息得到保護(hù)。用戶監(jiān)控模塊貫穿于整個(gè)過程。 實(shí)體 恢復(fù)模塊功能需求 在用戶打開文件的時(shí)候,這個(gè)文件其實(shí)已經(jīng)是經(jīng)過置亂的,如果直接返回給用戶,用戶是沒辦法得到有用的信息的。具體功能主要包括: 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 6 (1) 點(diǎn)坐標(biāo)的處理(例如直線的起點(diǎn),終點(diǎn)) (2) 長(zhǎng)度的處理(例如圓的半徑長(zhǎng)度) (3) 復(fù)雜圖形的處理(例如正多邊形的處理) (4) 標(biāo)注的處理(包括靜態(tài)標(biāo)注、動(dòng)態(tài)標(biāo)注等) (5) 文字信息的處理 信息加密模塊功能需求 在實(shí)體置亂的過程中,將產(chǎn)生許多信息,例如運(yùn)算用的矩陣。 AutoCAD 軟件產(chǎn)生的圖紙文件是 DWG 格式, DXF 是一種開放標(biāo)準(zhǔn)的矢量圖形文件,我們的系統(tǒng)通過對(duì) DXF 文檔進(jìn)行相應(yīng)操作,然后轉(zhuǎn)換成 DWG格式文件。 文檔轉(zhuǎn)換模塊功能需求 我們的系統(tǒng)是建立在 DXF 格式文件的基礎(chǔ)上的。 我們力求令整個(gè)系統(tǒng)的工作對(duì)用戶都是透明的,用戶在使用軟件的過程中,甚至感受不到文件正在被加密解密。這樣就可以使這個(gè)文 檔在脫離了特定環(huán)境時(shí),不會(huì)將信息泄露。 篡改提醒通過對(duì)文檔內(nèi)部實(shí)體元素進(jìn)行一種不可逆的映射,通過比較映射關(guān)系,可以很有效的文檔是否被他人惡意修改。我們系統(tǒng)的整體開發(fā)內(nèi)容就是開發(fā)出一個(gè)全面,有效的針對(duì) CAD 文檔的保護(hù)系統(tǒng),通過這個(gè)系統(tǒng),用戶可以比較方便地對(duì) CAD 文檔進(jìn)行保護(hù)工作,同時(shí)也不會(huì)影響到平時(shí)的工作。同時(shí)還不應(yīng)該破壞文檔本身的內(nèi)容,通過解密操作,可以使文檔得以還原。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 3 (3) 禁止網(wǎng)絡(luò),部分硬件的使用 —— 同樣,給用戶帶來很大的不便。通過以下三種方式為用戶的設(shè)計(jì)數(shù)據(jù)提供安全保護(hù):驗(yàn)證、訪問控制和加密 [3]。但是針對(duì) WORD、 PDF等格式的文檔,已經(jīng)存在了許多專業(yè)的文檔加密工具,通過這些工具我們可以實(shí)現(xiàn)比較有效的文檔保護(hù)。從保護(hù)強(qiáng)度上來說,針對(duì)主流文檔編輯軟件的密碼保護(hù)功能,相應(yīng)的破解工具可以輕易的獲得。 因此我們的項(xiàng)目就是要開發(fā)一個(gè)比較有效的工具,對(duì) CAD 文檔進(jìn)行保護(hù),以期對(duì)這種現(xiàn)狀進(jìn)行改變。 但是隨著 AutoCAD 軟件在各領(lǐng)域的廣泛使用,一些問題也開始逐漸出現(xiàn),其中最突出的就是文檔保護(hù)問題。成為中國(guó)工程師首選的工程制圖軟件。 AutoCAD 軟件是 Autodesk 在軟件行業(yè)的第一場(chǎng)革命, AutoCAD 軟件享有廣泛的聲譽(yù),它將制圖帶入了個(gè)人計(jì)算機(jī)時(shí)代 [1]。 作者簽名: 日期: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。 作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交 的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。s most direct interest. Engineering drawings of each pany regarded as the most confidential documents, once leaked to the hands of petitors, the pany will not able to estimate the losses. AutoDesk has provided an excellent secondary development tools ObjectARX, through this tool we can very easily develop a plugin AutoCAD software. We developed this as a tool for the protection of the document provided a possibility. This paper discussed by the CAD document protection system scrambling modules, the CAD is to document the various entities in a reversible transform ation, the CAD documents from the specific circumstances after the information to hide its real and thus play a protective effect. In this paper, the focus is how to separate entities, for different entities to design the corresponding encryption algorithm. It also involves monitoring the behavior of users, software and AutoCAD software patibility problems and other issues of the study. Keywords CAD Document Protection Scrambling Encryption algorithm 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。 本文所論述 CAD 文檔保護(hù)系統(tǒng)置亂模塊,就是通過對(duì) CAD 文檔中各種實(shí)體進(jìn)行一種可逆變換,令 CAD 文檔脫離特定環(huán)境后可以隱藏其真實(shí)信息,從而起到保護(hù)作用。眾所周知,每一張工程圖紙都是工程師們的智慧結(jié)晶,關(guān)系了公司的最直接利益。但是隨著 AutoCAD 的廣泛應(yīng)用,許多問題也 逐漸凸現(xiàn)出來,其中尤為突出的就是文檔保護(hù)問題。這為我們開發(fā)出一個(gè)文檔保護(hù)工具提供了可能性。 關(guān)鍵詞 CAD;文檔保護(hù);置亂 ; 加密算法 Abstract As a good industrial mapping software, AutoCAD has been extremely wide range of applications. However, with the extensive application of AutoCAD, many of the problems highlighted by gradually, which is particularly striking is that the document protection issues. As we all know, every one of the drawings are the wisdom of engineers, and the pany39。 作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日 期: 使用授權(quán)說明 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。 作者簽名: 日期: 年 月 日 導(dǎo)師簽名: 日期: 年 月 日 指導(dǎo)教師評(píng)閱書 指導(dǎo)教師評(píng)價(jià): 一、撰寫(設(shè)計(jì))過程 學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 學(xué)生掌握專業(yè)知識(shí)、技能的扎實(shí)程度 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問題的能力 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 二、論文(設(shè)計(jì))質(zhì)量 論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 三、論文(設(shè)計(jì))水平 論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 論文(設(shè)計(jì)說明書)所體 現(xiàn)的整體水平 □ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格 建