Skip to content

Commit 1b27ac3

Browse files
committed
[WIP] continue extension
1 parent c4d3460 commit 1b27ac3

File tree

5 files changed

+1856
-1836
lines changed

5 files changed

+1856
-1836
lines changed

TODO.md

+10-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
# Remove the state machine building process
1414
* Disable option `-E` disable the state machine building and selection of state to fuzz
15-
- [ ] follow the boolean variable `state_aware_mode`
15+
- [x] follow the boolean variable `state_aware_mode`
1616
* In `int main(int argc, char** argv)`:
1717
- [/] ~remove `check_aslr()` call~
1818
* In `int setup_ipsm()`:
@@ -23,25 +23,23 @@
2323
- [ ] remove records of new paths
2424
* In `EXP_ST u8 common_fuzz_stuff(char** argv, u8* out_buf, u32 len)`:
2525
- [ ] remove the AFLNet update of `kl_messages` linked list
26-
- [ ] remove `update_fuzzs()` call
26+
- [x] remove `update_fuzzs()` call
2727

2828
# Build a very simple state list from the seeds files
2929
* In `static void perform_dry_run(char** argv)`:
30-
- [ ] build message from *replay* format (see StateAFL)
30+
- [x] build message from *replay* format (see StateAFL)
3131
* In `void update_state_aware_variables(struct queue_entry *q, u8 dry_run)`
32-
- [ ] build a simple state list only if it is a *dry run*
33-
- [ ] otherwise do nothing
34-
* The hash map `khms_states` should be this list
35-
- [ ] initialize it in `update_state_aware_variables` in *dry run* mode
36-
- [ ] never update it after the initialisation
32+
- [x] replace by `void create_new_state(struct queue_entry *q)` only called on *dry run*
33+
* The hash map `khms_states` should be the list containing the initial states (only)
34+
- [x] initialize it in `create_new_state` in *dry run* mode
35+
- [x] never update it after the initialisation
3736
* The type `region_t` should not contain state related stuff (in file `aflnet.h`)
3837

3938
# Select the messages to mutate directly from the seeds files
40-
* In `struct queue_entry *choose_seed(u32 target_state_id, u8 mode)`
41-
- [ ] build a `queue_entry` from the seed file corresponding to the state given as argument
4239
* In `static u8 fuzz_one(char** argv)` after the flag `AFLNET_REGIONS_SELECTION`
43-
- [ ] retrieve the M2 part of the messages from the file `length-seed.state[X]` instead of the region information
44-
40+
- [x] retrieve the M2 part of the messages from the file `seed-stateXX.length` instead of the region information
41+
* In `static void read_testcases(void)`
42+
- [x] retrieve the M2 part of the messages from the file `seed-stateXX.length`
4543

4644
# Select the states in a round-robin fashion (or any other "fair" selection)
4745
* In the function `choose_target_state`

0 commit comments

Comments
 (0)