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

正文內(nèi)容

c語(yǔ)言源代碼靜態(tài)檢測(cè)工具設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(參考版)

2024-10-12 14:48本頁(yè)面
  

【正文】 測(cè)試結(jié)果如圖所示。在右側(cè)的列表框中根據(jù)不同的漏洞顯示出漏洞的詳細(xì)信息 。選擇結(jié)束后系統(tǒng)就可以根據(jù)選擇的參數(shù)進(jìn)行相應(yīng) 的檢測(cè)。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 35 圖 命令行模式 自定義模式測(cè)試 當(dāng)用戶選擇自定義模式后,系統(tǒng)會(huì)彈出如圖所示的界面。 命令行模式測(cè)試 當(dāng)用戶選擇命令行模式后,彈出如圖所示的對(duì)話框,提示用戶輸入命令行。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 34 圖 代碼安全檢測(cè) 功能實(shí)現(xiàn) 模式選擇與 參數(shù)的設(shè)定 功能 測(cè)試 模式選擇和參數(shù)設(shè)定功能能夠方便用戶脫離繁瑣的命令行操作,更加直觀簡(jiǎn)單的使用代碼安全檢測(cè)工具,提高系統(tǒng)的用戶友好性。 圖 本地文件目錄 代碼安全檢測(cè)功能測(cè)試 當(dāng)用戶選擇好要檢測(cè)的文件之后,點(diǎn)擊開(kāi)始檢測(cè)按鈕,既可以開(kāi)始檢測(cè),然后在對(duì)話框的下側(cè)將顯示出檢測(cè)結(jié)果。測(cè)試結(jié)果如圖。 當(dāng)用戶進(jìn)入時(shí),顯示為模式未定義,等待用戶選擇模式。 以下主要測(cè)試 代碼檢查功能主界面,待檢測(cè)本地目錄列表,代碼安全檢測(cè)功 能。 以下主要測(cè)試代碼檢測(cè)功能模塊, 模式選擇與參數(shù)的添加功能模塊,漏洞分析圖表功能模塊 。 首先申請(qǐng)一個(gè)Figure,然后使用畫(huà)筆在其上面畫(huà)條形圖。 matplotlib 是 python 最著名的繪圖庫(kù),它提供了一整套和 matlab 相似的命令 API,十分適合交互式地進(jìn)行制圖 。使用該控件的 setItem()方法將數(shù)據(jù)庫(kù)中的數(shù)據(jù)逐條插入表格中。根據(jù)數(shù)據(jù)庫(kù)中的表,構(gòu)建漏洞統(tǒng)計(jì)表格,并顯示出來(lái)。 下圖為整個(gè)功能的流程圖: 開(kāi) 始讀 取 數(shù) 據(jù) 庫(kù) 數(shù) 據(jù)生 成 圖 形根 據(jù) 查 詢 條 件 顯 示表 格調(diào) 用 圖 形 生 成 模 塊結(jié) 束 圖 參數(shù)設(shè)定流程圖 生成安全漏洞統(tǒng)計(jì)表 格 為了能夠更方便的提取數(shù)據(jù),并形成直觀的分析表格。 第三步:調(diào)用 SQLite 數(shù)據(jù)庫(kù)。 第一步:用戶選擇生成分析圖表。 生成分析圖表功能設(shè)計(jì) 為了更加直觀的查看漏洞的分布情況,以及更加方便統(tǒng)計(jì)。 =39。 具體流程圖如下: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 開(kāi) 始自 定 義 模 式選 擇 模 式命 令 行 模 式簡(jiǎn) 易 模 式輸 入 命 令選 擇 檢 測(cè) 強(qiáng) 度選 擇 特 定 檢 測(cè) 參 數(shù)返 回 主 控 界 面結(jié) 束 圖 參數(shù)設(shè)定流程圖 下面為該模塊的主要代碼: def Slot_mandline(self): (命令行模式 ) =CommandWindow() () () def Slot_DIY(self): (自定義模式 ) =DIYWindow() () () 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 def Slot_init(self): (簡(jiǎn)易模式 ) =39。然后用戶可以選擇不同的參數(shù),進(jìn)行細(xì)調(diào)。然后我們的程序會(huì)根據(jù)用戶輸入的命令行進(jìn)行檢測(cè)。方便剛剛使用軟件 的用戶。 第二步:如果用戶選擇簡(jiǎn)易模式,則可以直接進(jìn)行代碼檢測(cè)。 第一步:用戶進(jìn)入選擇模式界面。\n39。r39。.39。.39。\n39。r39。39。再?gòu)膬?nèi)存中將相應(yīng)的信息使用循環(huán)語(yǔ)句逐行顯示。然后我們將數(shù)據(jù)從文件中讀取出來(lái),顯示在我們的界面上。在此采用 Qt 庫(kù)中的 TextBox 控件,我們將其命名為 txt_tab_pre。)) () () else :(self, Critical, 該文件夾里沒(méi)有可用的 .c 文件,請(qǐng)重新選擇! ) 結(jié)果顯示界面設(shè)計(jì)與實(shí)現(xiàn) 為了更好的顯示安全漏洞所在的位置,使整個(gè)界面更加友好。+(39。%str(i) +39。: fp=open(Path) 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 () i=0 for line in fp: i=i+1 (39。+ 獲取絕對(duì)路徑 if !=39。 函數(shù)主要代碼如下: def Slot_change(self): if ()!=None: =().text() Path=+39。 這樣就可以實(shí)時(shí)監(jiān)聽(tīng)選擇文件的改變。 () () () () d=QDir() for i in range (()): tmp1 =(d[i]) 分割帶 有路徑的完整文件名 suffix = tmp1[1] if suffix==.c: (i, d[i]) (0) () 具體流程圖如下: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 開(kāi) 始打 開(kāi) 文 件 選 擇 列 表是 否 為 空YN將 列 表 存 入 Qdir 中是 否 后 綴 名為 .c加 入 列 表 中是 否 為 空從 Qdir 中 讀 取一 個(gè) 文 件 名YNYN結(jié) 束 圖 目錄列表功能流程圖 若果 選擇的 待檢測(cè)代碼 改變 ,應(yīng)該能在右側(cè)的代碼顯示框中顯示新的文件代碼,所以我們應(yīng)該使用一個(gè)改變監(jiān)聽(tīng)器,在此我們使用 itemClicked()方 法進(jìn) 行 監(jiān) 聽(tīng) 。: =tmp =39。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 主要代碼如下: def Slot_openFiles(self): tmp=(self,Open Files, /home) if tmp != 39。 第二步:如果為空不進(jìn)行任何操作,如果不為空則將打開(kāi)的工程文件方法加載到目錄文檔QDir 中 , QDir 為一個(gè) Qt 庫(kù)中用于暫存目錄的類 。其中向列表中添加內(nèi)容為 insertItem()方法。+ filename 分析文件前綴 print(analysisfileprefix) return analysisfileprefix 第 4 步:調(diào)用圖表分析模塊,生成相應(yīng)的統(tǒng)計(jì)圖表。) 把 warn 寫(xiě)入文件 analysisfileprefix = tmppath + 39。+filename+39。 + tmppath+39。 把 fatal error 寫(xiě)入文件 39。+filename+39。+tmppath+39。 把 status 寫(xiě)入文件 39。+filename+39。+tmppath+39。 39。+mandline+39。 39。 使用 posixlib 庫(kù)文件 39。 設(shè)置 flag,不提示,不檢測(cè)系統(tǒng)頭文件 39。 被檢測(cè)的文件 39。+filename+39。 用戶自定義頭文件 39。 存放結(jié)果文件的目錄 (pathname) (39。 分析文件目錄 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 print(analysisfile) return analysisfile staticmethod def Splint(wd, pathname, filename, mandline): print(mandline) tmppath = wd + 39。+filename + 39。) analysisfile = tmppath + 39。 + filename + 39。+ tmppath + 39。+mandline +filename+ 39。 存放結(jié)果文件的目錄 (pathname) (39。主要代碼如下: def Flawfinder(wd, pathname, filename, mandline): tmppath = wd + 39。 第 3 步:開(kāi)始檢測(cè),將用戶選擇好的參數(shù)與模式,轉(zhuǎn)換為后臺(tái)命令行,然后分別調(diào)用 Splint 模塊和 Flawfinder 模塊。 第 2 步: 選擇完成之后進(jìn)行模式設(shè)置,調(diào)用模式設(shè)置的模塊代碼 , 可分為簡(jiǎn)易模式,自定義模式,命令行模式,等待用戶選擇相應(yīng)的模式,默認(rèn)情況為簡(jiǎn)易模式。 第 1 步: 首先要求用戶選擇一個(gè)系統(tǒng)工程或者選擇單個(gè)文件進(jìn)行檢測(cè)。當(dāng)用戶打開(kāi)本系統(tǒng)時(shí), 彈出系統(tǒng)控制主界面。該系統(tǒng)主要實(shí)現(xiàn)的是代碼的靜態(tài)檢查功能,參數(shù)的添加功能,生成分析圖表功能。 具體 ER 圖如下: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 21 工 具 名 稱F l a w f i n d e r數(shù) 據(jù) 表文 件 名 稱行 數(shù)安 全 危 險(xiǎn) 程 度安 全 漏 洞 類 型所 屬 函 數(shù)詳 細(xì) 描 述 圖 Flawfinder 數(shù)據(jù)表 ER 圖 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 22 4 詳細(xì)設(shè)計(jì) 在軟件開(kāi)發(fā)過(guò)程中,詳細(xì)設(shè)計(jì)關(guān)系到軟件開(kāi)發(fā)的細(xì)節(jié)問(wèn)題。 具體 ER 圖如下: 工 具 名 稱S p l i n t 數(shù) 據(jù) 表文 件 名 稱行 數(shù)安 全 危 險(xiǎn) 程 度安 全 漏 洞 類 型所 屬 函 數(shù)詳 細(xì) 描 述 圖 Splint 數(shù)據(jù)表 ER 圖 Flawfinder 表設(shè)計(jì) Flawfinder 數(shù)據(jù)庫(kù)表中包含七個(gè)元主,分別是工具名稱,行數(shù),文件名稱,安全漏洞類型,安全危險(xiǎn)程度,所屬函數(shù),詳細(xì)描述。 Splint 表設(shè)計(jì) Splint 數(shù)據(jù)庫(kù)表中包含七個(gè)元主,分別是工具名稱,行數(shù),文件名稱,安全 漏洞類型,安全危險(xiǎn)程度,所屬函數(shù),詳細(xì)描述。基于其自身的先天優(yōu)勢(shì), SQLite 在嵌入式領(lǐng)域得到了廣泛應(yīng)用 。所有的內(nèi)容包含在同一個(gè)單文件中。如圖 所示,主控界面連接著系統(tǒng)的不同功能,其中參數(shù)設(shè)定功能,又分為兩個(gè)不同的工具配置。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 19 代 碼 靜 態(tài) 安 全 檢 測(cè) 系 統(tǒng)代碼檢測(cè)代碼瀏覽圖表顯示參數(shù)設(shè)定程序列表模式選擇 圖 系統(tǒng) 總體功能 圖 代碼安全檢測(cè)界面功能設(shè)計(jì) 代碼安全檢查功能是整個(gè)系統(tǒng)的核心部分。我們力求整個(gè)系統(tǒng)達(dá)到“高內(nèi)聚,低耦合”的設(shè)計(jì)理念。 總體功能設(shè)計(jì) 本系統(tǒng) 把程序分成若干個(gè)功能模 塊,如圖所示。所以我們應(yīng)該提供更好的用戶界面,便于用戶去使用。使整個(gè)系統(tǒng)更加實(shí)用。 功能完備 本系統(tǒng)力求把每一個(gè)可實(shí)現(xiàn)的功能實(shí)現(xiàn)的盡善盡美,功能模塊之間相對(duì)的獨(dú)立,以消除可能的潛在錯(cuò)誤,同時(shí)采用高效的算法提高訪問(wèn)執(zhí)行效率等。 以下從設(shè)計(jì)目標(biāo)、功能設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)層面說(shuō)明該程序系統(tǒng)的概要設(shè)計(jì)。 是一個(gè) GNU 免費(fèi)授權(quán)的 Lint 程序 。 splint 會(huì)進(jìn)行多種常規(guī)檢查 ,包括未使用的變量 , 類型不一致 ,使用未定義變量 , 無(wú)法執(zhí)行的代碼 , 忽略返回值 , 執(zhí)行路徑未返回 , 無(wú)限循環(huán)等錯(cuò)誤 。主要基于 詞法掃描和分析,內(nèi)嵌了一些漏洞數(shù)據(jù)庫(kù),如緩沖區(qū)溢出、格式化串漏洞等,掃描快,按照代碼中漏洞的風(fēng)險(xiǎn)等級(jí)對(duì)漏洞進(jìn)行劃分,可以快速找到存在的問(wèn)題,誤報(bào)較高。 flawfinder 主要應(yīng)用在代碼是否有漏洞,是否存在被攻擊的可能。 這兩個(gè)工具的應(yīng)用范圍不同。且學(xué)習(xí)簡(jiǎn)單,編程方便,對(duì)于對(duì)效率要求不苛刻的程序能提高開(kāi)發(fā)效率,降低開(kāi)發(fā)成本。 Python 語(yǔ)法簡(jiǎn)潔而清晰,具有豐富和強(qiáng)大的類庫(kù)。 使用Qt 提供的 Qt designer 圖形開(kāi)發(fā)環(huán)境可快速開(kāi)發(fā)圖形界面。 Qt designer 圖形開(kāi)發(fā)環(huán)境 Qt 是一個(gè)跨平臺(tái)應(yīng)用程序和 UI 開(kāi)發(fā)框架??赏ㄟ^(guò)插件系統(tǒng)來(lái)進(jìn)行功能擴(kuò)展,與 Eric4 相比, Eric5 是基于 Python 3 的變種 。提供無(wú)限制數(shù)量的編輯器、集成的 Python Shell、集成調(diào)試
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1