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

正文內(nèi)容

c語言源代碼靜態(tài)檢測工具設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-全文預(yù)覽

2025-11-03 14:48 上一頁面

下一頁面
  

【正文】 ()方法將數(shù)據(jù)庫中的數(shù)據(jù)逐條插入表格中。 下圖為整個(gè)功能的流程圖: 開 始讀 取 數(shù) 據(jù) 庫 數(shù) 據(jù)生 成 圖 形根 據(jù) 查 詢 條 件 顯 示表 格調(diào) 用 圖 形 生 成 模 塊結(jié) 束 圖 參數(shù)設(shè)定流程圖 生成安全漏洞統(tǒng)計(jì)表 格 為了能夠更方便的提取數(shù)據(jù),并形成直觀的分析表格。 第一步:用戶選擇生成分析圖表。 =39。然后用戶可以選擇不同的參數(shù),進(jìn)行細(xì)調(diào)。方便剛剛使用軟件 的用戶。 第一步:用戶進(jìn)入選擇模式界面。r39。.39。r39。再從內(nèi)存中將相應(yīng)的信息使用循環(huán)語句逐行顯示。在此采用 Qt 庫中的 TextBox 控件,我們將其命名為 txt_tab_pre。+(39。: fp=open(Path) 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 () i=0 for line in fp: i=i+1 (39。 函數(shù)主要代碼如下: def Slot_change(self): if ()!=None: =().text() Path=+39。 () () () () d=QDir() for i in range (()): tmp1 =(d[i]) 分割帶 有路徑的完整文件名 suffix = tmp1[1] if suffix==.c: (i, d[i]) (0) () 具體流程圖如下: 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 開 始打 開 文 件 選 擇 列 表是 否 為 空YN將 列 表 存 入 Qdir 中是 否 后 綴 名為 .c加 入 列 表 中是 否 為 空從 Qdir 中 讀 取一 個(gè) 文 件 名YNYN結(jié) 束 圖 目錄列表功能流程圖 若果 選擇的 待檢測代碼 改變 ,應(yīng)該能在右側(cè)的代碼顯示框中顯示新的文件代碼,所以我們應(yīng)該使用一個(gè)改變監(jiān)聽器,在此我們使用 itemClicked()方 法進(jìn) 行 監(jiān) 聽 。 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 主要代碼如下: def Slot_openFiles(self): tmp=(self,Open Files, /home) if tmp != 39。其中向列表中添加內(nèi)容為 insertItem()方法。) 把 warn 寫入文件 analysisfileprefix = tmppath + 39。 + tmppath+39。+filename+39。 把 status 寫入文件 39。+tmppath+39。+mandline+39。 使用 posixlib 庫文件 39。 被檢測的文件 39。 用戶自定義頭文件 39。 分析文件目錄 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 print(analysisfile) return analysisfile staticmethod def Splint(wd, pathname, filename, mandline): print(mandline) tmppath = wd + 39。) analysisfile = tmppath + 39。+ tmppath + 39。 存放結(jié)果文件的目錄 (pathname) (39。 第 3 步:開始檢測,將用戶選擇好的參數(shù)與模式,轉(zhuǎn)換為后臺(tái)命令行,然后分別調(diào)用 Splint 模塊和 Flawfinder 模塊。 第 1 步: 首先要求用戶選擇一個(gè)系統(tǒng)工程或者選擇單個(gè)文件進(jìn)行檢測。該系統(tǒng)主要實(shí)現(xiàn)的是代碼的靜態(tài)檢查功能,參數(shù)的添加功能,生成分析圖表功能。 具體 ER 圖如下: 工 具 名 稱S p l i n t 數(shù) 據(jù) 表文 件 名 稱行 數(shù)安 全 危 險(xiǎn) 程 度安 全 漏 洞 類 型所 屬 函 數(shù)詳 細(xì) 描 述 圖 Splint 數(shù)據(jù)表 ER 圖 Flawfinder 表設(shè)計(jì) Flawfinder 數(shù)據(jù)庫表中包含七個(gè)元主,分別是工具名稱,行數(shù),文件名稱,安全漏洞類型,安全危險(xiǎn)程度,所屬函數(shù),詳細(xì)描述。基于其自身的先天優(yōu)勢, SQLite 在嵌入式領(lǐng)域得到了廣泛應(yīng)用 。如圖 所示,主控界面連接著系統(tǒng)的不同功能,其中參數(shù)設(shè)定功能,又分為兩個(gè)不同的工具配置。我們力求整個(gè)系統(tǒng)達(dá)到“高內(nèi)聚,低耦合”的設(shè)計(jì)理念。所以我們應(yīng)該提供更好的用戶界面,便于用戶去使用。 功能完備 本系統(tǒng)力求把每一個(gè)可實(shí)現(xiàn)的功能實(shí)現(xiàn)的盡善盡美,功能模塊之間相對的獨(dú)立,以消除可能的潛在錯(cuò)誤,同時(shí)采用高效的算法提高訪問執(zhí)行效率等。 是一個(gè) GNU 免費(fèi)授權(quán)的 Lint 程序 。主要基于 詞法掃描和分析,內(nèi)嵌了一些漏洞數(shù)據(jù)庫,如緩沖區(qū)溢出、格式化串漏洞等,掃描快,按照代碼中漏洞的風(fēng)險(xiǎn)等級(jí)對漏洞進(jìn)行劃分,可以快速找到存在的問題,誤報(bào)較高。 這兩個(gè)工具的應(yīng)用范圍不同。 Python 語法簡潔而清晰,具有豐富和強(qiáng)大的類庫。 Qt designer 圖形開發(fā)環(huán)境 Qt 是一個(gè)跨平臺(tái)應(yīng)用程序和 UI 開發(fā)框架。提供無限制數(shù)量的編輯器、集成的 Python Shell、集成調(diào)試器、集成對包括 Subversion 和 Mercurial 版本控制系統(tǒng)的支持。 這樣就提供了更加靈活的檢查方式,從 源頭上減少了靜態(tài)安全檢查工具中普遍存在的誤報(bào)和漏報(bào)問題。 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 16 待檢測代碼列表管理需求 用戶可以手動(dòng)讀取計(jì)算機(jī)中的 C 語言文件,也可以讀取帶有 C 語言文件的工程文件夾,并在控制窗口左側(cè)顯示加載進(jìn)來的程序名稱。根據(jù)強(qiáng)度可調(diào)節(jié)為簡易模式,自定義模式,命令行模式。并且直觀的顯示出來,返回 給用戶。 所以 開發(fā)一款方便,易用,高效 靜態(tài)安全檢測的軟件 具有強(qiáng)大的實(shí)際意義 。所以有必要對代碼進(jìn)行系統(tǒng)的, 全面的,嚴(yán)格的安全檢查。 用戶需求 軟件的安全性是軟件開發(fā)質(zhì)量的一個(gè)重要指標(biāo)。 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 15 2 需求分析 需求分析是軟件工程中最重要的一個(gè)環(huán)節(jié),它完成的質(zhì)量會(huì)直接影響到軟件的后續(xù)開發(fā) 。 SQLite 數(shù)據(jù)庫簡介 SQLite,是一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關(guān)系型 數(shù)據(jù)庫管理系統(tǒng) ,它的設(shè)計(jì)目標(biāo)是嵌入式的,而且 目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百 K 的內(nèi)存就夠了。它有超過 300 類,將近 6000 個(gè)函數(shù)和方法。它是 Python 編程語言和 Qt 庫的成功融合。 眾多開源的科學(xué)計(jì)算軟件包都提供了 Python 的調(diào)用 接口 ,例如著名的計(jì)算機(jī)視覺 OpenCV、三維可視化庫 VTK、醫(yī)學(xué)圖像處理庫 ITK。自從 20世紀(jì) 90 年代初 Python 語言誕生至今,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和 Web編程。應(yīng)該檢查從file1定義到其引用的每條可能路徑,檢查 file1是否一定指向了合法的內(nèi)存空間。 ? strcpy(file2,file1)。從 C發(fā)展而來的 Java語言提供了非常強(qiáng)大的異常處理機(jī)制,強(qiáng)制程序員對“可檢測異?!边M(jìn)行處理。 char buffer[128] fp=fopen(“ /etc/password” ,“ r” )。因此,需要程序員選定一個(gè)安全的種 子。具體地 ,如果相鄰的兩個(gè)系統(tǒng)調(diào)用都使用路徑訪問同一個(gè)文件,那么可能存在競爭條件,如果一個(gè)使用路徑 ,一個(gè)使用文件描述符,那么,如果第一個(gè)系統(tǒng)調(diào)用是把文件描述符與路徑相關(guān),則不會(huì)發(fā)生競爭條件,否則可能發(fā)生競爭條件。文件描述符是在每 個(gè)進(jìn)程的基礎(chǔ)上,為每個(gè)文件賦予的一個(gè)標(biāo)志,它直接與目標(biāo)綁定,當(dāng)訪問文件時(shí),直接通過文件描述符,而不需要 通過文件系統(tǒng)一步一步查找,因此它的使用方式類似于直接指針。這個(gè)例子說明,在多進(jìn)程的環(huán)境里,創(chuàng)建 (create)和更改 (change) 必須是原子,其完整性不可破壞。例如, strncpy(dst,src,10)指明,從 src向 dst拷貝不多于 10個(gè)字符。因此,如果讀 入的文本長度超過給定的存儲(chǔ)區(qū)長度,那么,讀入的字符將覆蓋 str所代表的存儲(chǔ)區(qū)的后續(xù)空間。標(biāo)準(zhǔn) C庫提供的許多字符串操作,如 gets、 strcpy、 strcat、 sprinf,它們本質(zhì)上是不安全。導(dǎo)致內(nèi)存訪問錯(cuò)誤的異常條件可能不能再現(xiàn),增加了差錯(cuò)糾錯(cuò)的困難; 編譯器一般不能自動(dòng)發(fā)現(xiàn)這些錯(cuò)誤,通常是在程序運(yùn)行時(shí)才能捕捉到。剛開始時(shí)系統(tǒng)的內(nèi)存充足,你看不到錯(cuò)誤,因而調(diào)試階段不能發(fā)現(xiàn)錯(cuò)誤,當(dāng)終于一天內(nèi)存耗盡程序突然死掉,系統(tǒng)將提示:內(nèi)存耗盡。 (4) 忘記了釋放內(nèi)存,造成內(nèi)存泄露。 (3) 內(nèi)存分配成功并且已經(jīng)初始化, 但操作越過了內(nèi)存的邊界。 (2) 內(nèi)存空間雖然分配成功,但是使用前沒用進(jìn)行初始化。動(dòng)態(tài)內(nèi)存的生存期由程序決定,使用非常靈活,但問題也最多。首先, 我們要 仔細(xì)分析 一下 C 語言程序能夠使用的內(nèi)存是怎樣分配的: (1) 從靜態(tài)存儲(chǔ)區(qū)域分配,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在,例如全局變量、 static 變量。 內(nèi)存訪問錯(cuò)誤可能由數(shù)組、指針或內(nèi)存管理造成。他們是 網(wǎng)絡(luò)安全問題的罪魁禍?zhǔn)?,我們?yīng)采取各種方法盡量避免他們的出現(xiàn)。同時(shí)也加入了數(shù)據(jù)流分析和控制流分析。 例如 :一旦發(fā)現(xiàn) c 源程序中存在 strcpy, strcat 等 函數(shù)即認(rèn)為 可能 存在緩沖區(qū)溢出這種安全性漏洞 。 在通過對源代碼的靜態(tài)的掃描過程中,找出可能存在的安全漏洞。 首先 ,我們 為代碼定義一組 預(yù)先設(shè)定的 安全策略 。 當(dāng)前相關(guān)領(lǐng)域?qū)W者們提出的較為成熟的代碼靜態(tài)分析方法主要分為: 模型檢 驗(yàn) ,沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 8 攜帶代碼驗(yàn)證 , 詞法分析 , 簡單語義分析 , 基于信息流的安全性分析等 。 2. 靜態(tài)代碼分析工具研制:檢查 C、 C++程序潛在的安全 隱患 , 并 發(fā)現(xiàn)編譯器不能發(fā)現(xiàn)的事情。 所以使用代碼的靜態(tài)安全檢查具有很大的現(xiàn)實(shí)意義。但是傳統(tǒng)的代碼安全檢查具有很大的不易操作性,很大 的難度 性。 本 節(jié) 討 論 C 語言源代碼的靜態(tài)安全檢查 原理 ,首先對時(shí)下流行的安全漏洞做一個(gè)簡介,并調(diào)研一些成熟的靜態(tài)安全漏洞檢查方法 。據(jù)權(quán)威機(jī)構(gòu)統(tǒng)計(jì),目前因特網(wǎng)上 20%的企業(yè)的防火墻、 80%的計(jì)算機(jī)網(wǎng)絡(luò)包含嚴(yán)重的安全缺陷。 軟件 安全 漏洞的頻繁出現(xiàn),一方面是一些程序員缺乏 編寫高質(zhì)量代碼的意識(shí),另一方面 , 編程語言 本身 在 設(shè)計(jì)上 的不安全性也增加 了 程序員 在無意中編寫出存在安全漏洞 的代碼 的幾率 。 關(guān)鍵詞: 安全檢測; C 源代碼 ; 靜態(tài)代碼分析 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 2 Development of C language source code static analysis tool Abstract With the development of the information society, the problem of Inter insecurity is being more and more serious. Many of these problems are due to the flaw of the software itself and therefore cause huge economic losses. On one hand, it is because of the programmer’s negligence on software producing, and on the other hand, it is also because the relative languages dose not provide a plete security mechanism. Among many languages, C language is believed as the most vulnerable one to be attacked. As a result, the code safety check seems very important. However, because the modern software engineering is being more and more plicated, the t
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1