2016-05-15 15 views
0

私はファジィツールの初心者ですが、基本的にファジィツールを使用して特定の機能をテストしたいと思います。ファジシングツール:定義済みの範囲内の整数を突然変異させますか?

本質的に、この関数は3つの入力パラメータを持ち、各パラメータは0から0xffffの範囲の数値です。

ランダム入力の組み合わせを生成するためにファジングツールを使い、ターゲット関数をテストしたいと思います。しかし、私はzzufを試しましたが、整数値の変更に関する具体的な設定はありません。

したがって、あらかじめ定義された範囲内で整数値の変更のみをサポートするfuzzerを探していますか?誰も私にこの問題について何か助けてもらえますか?私は十分にクリアですか?ありがとうございました。

答えて

2

これは、私のチームによって開発されたKittyの中の多くのツールで実行できます。

from kitty.model import * 
t = Template(name='function inputs', fields=[ 
    S32(name='p1', value=1, min_value=-500, max_value=1000, encoder=ENC_INT_DEC), 
    Static(','), 
    ForEach(name='p2', mutated_field='p1', 
      fields=S32(value=2, min_value=-3200, max_value=5098, encoder=ENC_INT_DEC)), 
    Static(','), 
    ForEach(name='p3', mutated_field='p2', 
      fields=S32(value=3, min_value=0, max_value=999, encoder=ENC_INT_DEC)) 
]) 

while t.mutate(): 
    print t.render().tobytes() 

いくつかの例結果:

-1,2,3 
129,1026,3 
129,130,3 
129,18,3 
129,-3200,3 
129,5098,3 
129,-3199,3 
129,5097,3 
129,-3198,3 
129,5096,3 
129,3,3 
129,1,3 
129,4,3 
129,0,3 
17,1026,3 
17,130,3 
17,18,3 
17,-3200,3 
17,5098,3 
17,-3199,3 

あなたは10進表記で番号を生成したいと仮定すると、次のテンプレートは、(値がカンマ区切りになります)あなたのためにそれらを生成します

関連する問題