在使用gofuzz的過程中,發現自己輸入的corpus好像沒有被執行。
遂審計一下**,追蹤一下輸入的corpus的處理流程。
在一次測試過程中,我輸入的初始語料如下
但進化出的可崩潰語料卻是這些
":"
""""
"}""t"
"""00"
"{\"\"0"
這都是嘛玩意兒,根本看不出跟我的初始輸入有啥血緣關係。
於是跟進一下**,來學習一下corpus的處理流程。
go-fuzz
命令的入口為main
函式。
其中,呼叫了coordinatormain
和hub.connect
函式。
工作程序包含兩個迴圈:
流程圖如下:
所以說gofuzz還是執行了我給的初始corpus,只是由於某種原因沒有輸出crash…
可能是沒有當作模糊測試的重點?
這些都只是猜測
我不想花太多時間在研究如何優雅的使用gofuzz上了。
於是直接到gofuzz倉庫的issue中尋找答案。
在issue#289中,找到了類似的思考。
官方給出的更優解是fzgo,乙個整合了go-fuzz和go test的工具。
後面我會把研究精力,從gofuzz的原理研究 轉移到 fzgo的體驗和測試上。
自定義View ViewGroup流程
一 自定義view 1.onmeasure int widthmeasurespec,int heightmeasurespec int wspecmode measurespec.getmode widthmeasurespec int wspecsize measurespec.getsize ...
自定義cell的流程
自定義cell的流程 通過 自定義cell的流程 1 新建乙個繼承自uitableviewcell的類 2 重寫initwithstyle reuseidentifier方法 新增所需顯示的子控制項 不需要設定子控制項的資料和frame 進行子控制項一次性的屬性設定 有些屬性只需設定一次,比如字型 ...
簡單自定義mybatis流程
catch exception e 建立資料來源物件設定連線資料庫引數 public void creatdatasource catch exception e return proxy public static sqlsession opensession 五.建立executor工具類 執行...