上一節一起學習了使用afl-gcc對有原始碼的程式如何插樁,並且插樁的機制,這一節我們來一起學習如何使用qemu對沒有原始碼的二進位制程式進行插樁。
首先要執行build_qemu_support.sh這個指令碼,這個時候如果有沒安裝pixman的錯誤的時候直接用apt安裝即可。
apt-get install libpixman-1-dev
然後這個指令碼是構建了乙個linux系統的虛擬機器並且存放在afl-qemu-trace這個檔案中,在執行afl的時候就直接加上-q選項就可以了。
具體的怎麼獲取執行路徑跟原始碼插樁類似,這裡把插入的**變成編譯qemu時使用的補丁,那麼qemu虛擬機器內建的tracing部件就可以起到二進位制插樁的作用。
這篇文章講的很清楚
軟體測試 二進位制插樁
二進位制插樁作用 1.程式執行時攔截,在執行時向程式注入我們自己的 2.除錯程式 3.tracing and logging,分析函式呼叫關係圖,api覆蓋資料。4.提取資料,從程式中提取一些感興趣的關鍵data。5.改變程式行為,如程式打補丁,模擬資料 emulation 一般二進位制插樁方法 l...
AFL模糊測試學習(一)原始碼插樁
剛接觸模糊測試肯定是要從現在最為流行的afl開始,現在很多關於afl的改進都是針對afl的,而且afl本身因為其遺傳演算法 高吞吐量而得到很好的應用,在一些afl變異版本 如a o pfuzz collafl enfuzz等 混合模糊測試 結合模糊測試和符號化執行 在實驗對比中都拿afl當作base...
學習二進位制有感
二進位制,乙個曾經只是聽說過沒見過的東西,現在已經漸漸地走入了我們日常的學習生活。二進位制的學習過程既簡單又繁瑣,簡單的0和1卻能產生出無數種組合,進行各種各樣的轉換,這給初次接觸的我們帶來了不少麻煩。慢慢的,老師通過耐心的講解和一些有意思的小遊戲讓我們加深了對這些枯燥的概念的理解,其中一款csic...