主頁 >  其他 > 面試官:了解Fuzzing Test嗎?

面試官:了解Fuzzing Test嗎?

2021-11-15 08:06:20 其他

軟體質量保障

專注測驗圈,自動化測驗、測驗平臺開發、測驗新技術、大廠測驗崗面經分享, 可以幫忙內推BATJ等大廠!歡迎加VX溝通交流: ISTE1024

測驗同行或多或少聽說過模糊測驗,但不知道它是什么?本文將詳細介紹Fuzzing Test幫助你快速了解它,

什么是 "模糊測驗"?

?

Fuzzing 是一種發現軟體缺陷的方法,它通過向程式提供隨機輸入來尋找導致程式崩潰的測驗場景(原理有點類似Monkey Test),可以幫助你快速了解程式整體的健壯性,并幫助你發現和修復關鍵的缺陷,

它是一種黑盒測驗技術,不需要訪問源代碼,但它仍然可以用來測驗那些有源代碼的軟體,這是因為它能更快地發現缺陷,并降低大量代碼評審成本,

模糊測驗優缺點

Fuzzing在某些業務下雖然非常有用,但它畢竟不是銀彈,以下是模糊技術的一些優點和缺點,

優點

  • 可以說不費“吹灰之力”就能得到結果--一旦fuzzer啟動并運行,它就可以在沒有互動的情況下停留數小時、數天或數月來尋找錯誤,

  • 可以發現人工審計中遺漏的錯誤

  • 能對目標軟體的健壯性提供一個整體性概述

缺點

  • 不會窮盡所有bug--模糊測驗可能會遺漏那些不會觸發整個程式崩潰的bug,而且對那些只在非常特殊情況下觸發的bug也難以覆寫,

  • 產生的崩潰測驗用例可能難以分析,因為模糊測驗的行為并不能告訴你關于軟體內部運行方式的知識,

  • 具有復雜輸入的程式可能需要更多的作業來產生一個足夠聰明的模糊測驗器,以獲得足夠的代碼覆寫率,

Smart/Dumb模糊測驗

Fuzzers向軟體系統提供隨機輸入,內容形式可能是某種網路協議、某種格式的檔案或用戶能直接輸入的資料,其輸入方式是完全隨機的,并不知道預期的輸入應該是什么樣子,也可以是經過一些修改后看起來像是有效的輸入,

產生完全隨機輸入的Fuzzer被稱為 Dumb Fuzzer,少量的作業可以用很少的成本產生結果--這是模糊測驗的一大優勢,然而,有時一個程式只有在輸入的特定場景才會執行某些處理,例如,一個程式的輸入需要傳入 "name"欄位,而這個欄位有一個與之相關的 "name length",

如果這些欄位沒有以足夠有效的形式出現讓程式識別,它可能永遠不會讀取這個名字,如果這些欄位以有效的形式存在,但長度值被設定為不正確的值,程式可能會讀到包含名字的緩沖區之外,并引發崩潰,如果缺乏有效的輸入,這是不可能發生的,在這些情況下,可以使用 Smart Fuzzer,Smart Fuzzer是基于輸入特定的規則實作的,例如協議定義或檔案格式的規則,它可以構建大部分有效的輸入,并且只對該基本格式內的輸入進行模糊處理,

Fuzzers的型別

廣義上講,Fuzzer可以根據它們創建程式輸入的方式分為兩類--基于變異與基于生成.

基于變異的fuzzer

基于突變的Fuzzer可以說是最容易創建的型別之一,這種技術適合Dumb Fuzzer,但也可用于智能的Fuzzer,通過突變,有效輸入的樣本被隨機突變以產生畸形的輸入,

dumb mutation Fuzzer可以簡單地選擇一個有效的輸入樣本,并隨機地改變它的一部分,因為輸入通常仍然與有效輸入有足夠的相似性,所以這意味著不需要進一步的智能化處理就可以實作良好的代碼覆寫,

下面是基于突變的Fuzzer可以使用的兩種技術,

流量回放

Fuzzer可以采取保存的樣本輸入,并在突變后重新播放,這對檔案格式的模糊處理很有效,可以保存一些樣本檔案并進行模糊處理以提供給目標程式,

簡單或無狀態的網路協議也可以用重放來有效地進行模糊處理,因為Fuzzer不需要提出大量的合法請求來深入到協議中去,對于更復雜的協議,重放可能更困難,這是因為Fuzzer需要以動態方式回應程式,以允許處理繼續深入協議,

代理

你可能聽說過中間人(MITM)是滲透測驗者和黑客使用的一種技術,但它也可以用于基于突變的網路協議模糊測驗,通過MITM,你置身于客戶端和服務器的中間,截獲并可能修改它們之間傳遞的資訊,通過這種方式,你就像兩者之間的一個代理,

通過將你的Fuzzer設定為代理,它可以根據你對服務器或客戶端的模糊處理來改變請求或回應,同樣,Fuzzer可以隨機地改變一些請求,也可以在你感興趣的協議的特定層次上智能地鎖定請求,基于代理的模糊測驗可以讓你利用現有的網路程式部署架構,快速插入模糊測驗層,而不需要讓你的fuzzer像客戶端或服務器本身一樣行動,

基于生成的fuzzer

基于生成的Fuzzer實際上是從零開始生成輸入,而不是突變現有的輸入,它們通常需要一定程度的智能來構建至少對程式有一定意義的輸入,盡管生成完全隨機的資料在技術上也是生成,

生成Fuzzer通常將協議或檔案格式分成幾塊,它們可以按照有效的順序建立起來,并隨機地對其中一些塊進行獨立模糊,這可以創造出保留其整體結構的輸入,但其中也包含不一致的資料,這些塊的顆粒度和構建這些塊的智能程度決定了Fuzzer的智能水平,雖然基于突變的模糊處理可以產生與生成模糊處理類似的效果(因為隨著時間的推移,突變將被隨機應用,而不會完全破壞輸入的結構),但生成輸入可以確保這種情況的發生,

生成fuzzers也可以更容易地深入到協議中,因為它可以構建有效的輸入序列,對該通信的特定部分進行模糊處理,它還允許Fuzzer作為一個真正的客戶/服務器,生成正確的、動態的回應,但這些回應不能盲目地重放,

進化型fuzzer

進化型模糊測驗是一種先進的技術,它允許Fuzzer使用來自每個測驗用例的反饋,以了解隨著時間推移輸入的格式,例如,通過測量每個測驗用例的代碼覆寫率,Fuzzer可以計算出測驗用例的哪些屬性可以鍛煉給定的代碼區域,并逐漸演化出一套覆寫大部分程式代碼的測驗用例,進化型模糊測驗通常依賴于與遺傳演算法類似的其他技術,并且可能需要某種形式的二進制工具來正確操作,

模糊測驗測什么?

即使是相對dumb的模糊測驗,也要記住你的測驗用例實際上有可能擊中代碼的哪一部分,舉個簡單的例子,如果你正在摸索一個使用TCP/IP的應用協議,而你的Fuzzers隨機突變了一個原始資料包的捕獲,你很可能會破壞TCP/IP資料包本身,因此,你的輸入根本不可能被應用程式所處理,再者,如果你正在測驗一個將文本的影像決議為真實文本的OCR程式,但你正在突變整個影像檔案,你最終可能會更頻繁地測驗其影像決議代碼而不是實際的OCR代碼,如果你想專門針對該OCR處理,你可能希望保持影像檔案的標題有效,

Fuzzer運行流程

為了有效地運行,Fuzzer需要執行以下重要任務:

  • 生成測驗用例

  • 記錄測驗用例或再現用例所需的任何資訊

  • 對目標程式介面提供測驗case作為輸入

  • 檢測崩潰

Fuzzer通常將其中的許多任務分成獨立的模塊,例如,有一個庫可以突變資料或根據定義生成資料,另一個庫可以向目標程式提供測驗用例等等,

生成測驗用例

測驗用例的生成將取決于是否采用了基于突變或基于生成的模糊處理,無論采用哪種方法,都會有一些需要隨機轉換的東西,無論是特定型別的欄位還是任意的資料塊,

這些轉換可以是完全隨機的,但值得注意的是,邊界和極端的情況往往是程式中錯誤的來源,因此,你可能希望偏向于這樣的情況,

  • 非常長超長字串或Null

  • 能支持的最大值和最小值整數

  • 像-1、0、1和2這樣的值

根據你要模糊處理的內容,可能會有一些特定的值或字符更容易觸發bug,比如:

  • Null

  • 分號

  • 格式化字串值(%n,%s等等)

  • 應用特定的關鍵詞

可重復性

重現一個測驗用例的最簡單方法是記錄檢測到崩潰時使用的確切輸入,在某些情況下,還有其他方法能實作重現性,一種方法是存盤用于測驗用例生成的隨機部分的初始種子,并確保所有后續的隨機行為遵循一個可以追溯到該種子的路徑,通過用相同的種子重新運行Fuzzer,行為應該是可重復的,例如,你可以只記錄測驗用例編號和初始種子,然后用該種子快速重新執行生成,直到達到給定的測驗用例,

當目標程式可能基于過去的輸入積累了依賴性時,這種技術就很有用,以前的輸入可能導致程式在其記憶體中初始化各種專案,而這些專案是觸發錯誤所必須的,在這些情況下,簡單地記錄崩潰的測驗用例并不足以重現該錯誤,

與目標程式對接

與目標程式連接以提供模糊輸入通常是簡單的,對于網路協議,它可能涉及在網路上發送測驗用例,或回應客戶的請求,對于檔案格式,它可能意味著用一個指向測驗用例的命令列引數來執行程式,然而,有時提供的輸入的形式不容易以自動化的方式生成,或者撰寫程式腳本來執行每個測驗用例的開銷很大,證明是非常緩慢的,在這些情況下,創造性的思考可以發現用正確的資料來鍛煉相關的代碼片斷的方法,

例如,這可以通過在記憶體中人為地設定程式來執行決議功能,而輸入的引數完全在記憶體中,這可以消除程式在每個測驗用例之前經過冗長的加載程式的需要,而且,通過讓測驗用例完全在記憶體中生成和提供,而不是通過硬碟驅動器,可以進一步提高速度,

崩潰檢測

崩潰檢測是模糊測驗的關鍵,如果你不能準確地確定一個程式何時崩潰,你就不能確定一個測驗用例是否觸發了一個錯誤,

  • 附加一個除錯器

這可以為你提供最準確的結果,你可以撰寫除錯器的腳本,以便在檢測到崩潰時立即為你提供崩潰跟蹤,然而,附加一個除錯器會大大降低程式的速度,并會造成相當大的開銷,在給定的時間內,你能產生的測驗用例越少,你發現崩潰的機會就越少,

  • 看看目標行程是否消失了

與其附加一個除錯器,你可以簡單地看看在執行測驗用例后,目標的行程ID是否仍然存在于系統中,如果行程消失了,它可能已經崩潰了,如果你想了解更多關于崩潰的資訊,你可以在以后用除錯器重新運行測驗用例,你甚至可以在每次崩潰時自動這樣做,同時還可以避免在每個案例中都連接除錯器而導致的速度下降,

超時

如果程式對你的測驗用例有正常的回應,你可以設定一個超時,超時后你就認為程式已經崩潰,這也可以檢測出導致程式無反應但不一定終止的錯誤,

無論你使用哪種方法,只要程式崩潰或變得無反應,就應該重新啟動,以便讓模糊測驗繼續進行,

模糊測驗的質量

你可以做一些事情來衡量或提高你的模糊測驗的質量,雖然這些都是需要記住的有用的東西,但如果你已經在一定的時間范圍內得到了很多獨特的崩潰,你可能不需要再為這些事情費心了,

速度

速度可能是模糊測驗中最重要的因素之一,你每秒鐘/每分鐘能運行多少個測驗用例?合理的數值當然取決于目標,但你能執行的測驗用例越多,你就越有可能在給定的時間段內發現崩潰,模糊測驗是隨機的,所以每一個測驗用例就像一張彩票,你要盡可能多地得到它們,

你可以做很多事情來提高測驗用例的速度,比如提高生成或變異例程的效率,并行化測驗用例,減少超時,或在不顯示圖形用戶界面的 "無頭 "模式下運行程式,如果你想的話,你可以簡單地購買更快的套件,

對崩潰進行歸類

找到崩潰只是程序的開始,一旦你找到一個崩潰的測驗用例,你就需要分析它,找出錯誤所在,并根據你的動機,修復它或為它撰寫一個漏洞,如果你有成千上萬個崩潰的測驗用例,這可能是相當令人生畏的,通過對崩潰進行分類,你可以根據哪些崩潰是你最感興趣的來確定它們的優先次序,這也可以幫助你識別一個測驗用例何時觸發了與另一個相同的錯誤,所以你只保留與獨特崩潰有關的案例,

為了做到這一點,你需要一些關于崩潰的自動資訊,以便你能做出決定,在目標機上運行測驗用例并連接到除錯器,可以提供崩潰跟蹤,你可以對其進行分析,找到諸如例外型別、暫存器值、堆疊內容等值,

減少測驗用例

由于模糊測驗是隨機改變輸入的,一個崩潰的測驗用例通常會有多個與觸發該錯誤無關的改變,測驗用例縮減是將測驗用例縮減到觸發bug所需的有效輸入的最小改動集,因此你只需要在分析中關注輸入的這一部分,

這種減少可以手動進行,但也可以由Fuzzer自動進行,當遇到一個崩潰的測驗用例時,Fuzzer可以重新執行該測驗用例幾次,每一次,它都會逐漸減少對輸入的改動,直到剩下最小的一組改動,同時仍然觸發該錯誤,這可以簡化你的分析,并有助于對崩潰的測驗用例進行分類,因為你會準確知道輸入的哪些部分受到影響,

代碼覆寫率

這是一個衡量程式的代碼有多少被Fuzzer執行的標準,其原理是,你得到的覆寫率越多,你實際測驗的程式就越多,測量代碼覆寫率可能很棘手,通常需要二進制儀器來跟蹤代碼的哪些部分正在被執行,你也可以用不同的方式測量代碼覆寫率,比如按行、按基本塊、按分支或按代碼路徑,

代碼覆寫率對于模糊測驗來說并不是一個完美的衡量標準,因為有可能在執行代碼的同時并沒有發現其中的漏洞,而且,經常有一些代碼區域幾乎不會被執行,例如安全錯誤檢查,反正我們不太可能真正需要,也不太感興趣,盡管如此,某種形式的代碼覆寫率測量可以讓我們了解到你的Fuzzer在程式中觸發了什么,特別是當你的模糊測驗是完全黑箱的時候,你可能還不太了解程式的內部運作,一些可能有助于代碼覆寫率的工具和技術包括Pai Mei、Valgrind、DynamoRIO和DTrace,

模糊測驗框架

目前市面上有許多框架可以讓你創建Fuzzer,而不必從頭開始造,下面列出了這些框架:

Radamsa

Radamsa被設計為易于使用和靈活,它試圖對各種輸入型別進行 "公正的作業",并包含一些不同的模糊演算法進行突變,

Sulley

Sulley提供了一個全面的生成框架,允許結構化資料被表示為基于生成的模糊處理,它還包含幫助記錄測驗用例和檢測崩潰的組件,

Peach

Peach框架可以對檔案格式和網路協議進行智能模糊測驗,它可以執行基于生成和突變的模糊測驗,并包含幫助建立模型和監控目標的組件,

SPIKE

SPIKE是一個網路協議Fuzzer,它需要用戶熟悉掌握C語言,并被設計為在Linux上運行,

Grinder

Grinder是一個網路瀏覽器Fuzzer,它還具有幫助管理大量崩潰的功能,

NodeFuzz

NodeFuzz是一個基于node.js的網路瀏覽器線束,它包括儀器模塊,可以從客戶端獲得更多資訊,

AFL

AFL是一個灰盒式的模糊測驗工具,利用編譯在目標代碼中的儀器,AFL最初是為Linux中的C和C++程式撰寫的,后來被分叉以支持Windows、Java和.Net,

往期推薦

介面測驗框架開發實踐4:HTTP方法封裝

介面測驗框架開發實踐3:用例管理模塊

經驗分享|測驗工程師轉型測驗開發歷程

介面測驗框架開發實踐5:組態檔讀取

介面測驗框架開發實踐2:介面自動化測驗框架設計思路

介面自動化測驗框架實踐1:介面測驗概述

Pytest系列(7)-資料驅動測驗DDT

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357086.html

標籤:其他

上一篇:老師讓我實作一個基于SSM的在線租房系統

下一篇:面向物件大作業

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more