Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix some typos in first two sections #25

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

shiheyuan
Copy link

No description provided.

@Bins94 Bins94 closed this Mar 17, 2020
@Bins94 Bins94 reopened this Mar 17, 2020

This document will introduce some features or design of customizing fuzzer. Firstly, most of fuzzer implemented its own Genetic Algorithm( GA). Some features can be classified to one of GA component. For example, the optimizing of generate, mutate and crossover. Other features, such as special feedback or satifying deep nested condition, is strongly depend on what project you fuzz, although these problem is very common in real-world project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remain the format of "( ***)".

Comment on lines +10 to 11
In most fuzzers, GA is the engine of evolving testcase. For different purposes, the design of GA's components can be quite different.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep two empty line before title and one empty line after.

3. Manually write manner: hard-code some special inputs or enum inputs.( Syzkaller)
4. Extract input from real-world program( Moonshine).
In evolutionary programming, if mutation and generating only base on random inputs, that fuzzer will perform badly. Useful information help to reduce the search space of evolving the testcase you want. Generally, these following information can benefit mutating or generating:
1. symbolic execution: static analysis target, deriver which inputs are useful. (KLEE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static analyse( should be a vt.) targeted project, right?

3. Manually write manner: hard-code some special inputs or enum inputs.( Syzkaller)
4. Extract input from real-world program( Moonshine).
In evolutionary programming, if mutation and generating only base on random inputs, that fuzzer will perform badly. Useful information help to reduce the search space of evolving the testcase you want. Generally, these following information can benefit mutating or generating:
1. symbolic execution: static analysis target, deriver which inputs are useful. (KLEE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep all list like:

  1. symbolic execution: static analysis target, deriver which inputs are useful.( KLEE)
    "deriver" should be "derive"

#### state

1. Symbolic execution: static analyse call-stack input, weight them base on its CFG
1. Symbolic execution: static analysis call-stack input, weight them base on its CFG
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static analyse( should be vt.) call-stack inputs, right?


This document will introduce some features or design of customizing fuzzer. Firstly, most of fuzzer implemented its own Genetic Algorithm( GA). Some features can be classified to one of GA component. For example, the optimizing of generate, mutate and crossover. Other features, such as special feedback or satifying deep nested condition, is strongly depend on what project you fuzz, although these problem is very common in real-world project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be "these problems are very common in real-world projects.", right?

@Bins94
Copy link
Contributor

Bins94 commented Mar 19, 2020

Hi, @shiheyuan , could you modify it and send again? Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants