mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2025-06-24 04:05:03 +07:00
finish 5.4
This commit is contained in:
22
src/Others/5.4_dataflow_analysis/cfg1.gv
Normal file
22
src/Others/5.4_dataflow_analysis/cfg1.gv
Normal file
@ -0,0 +1,22 @@
|
||||
digraph {
|
||||
labelloc = "title";
|
||||
label = "int contrived(int *p, int *w, int x)";
|
||||
node [shape="record"];
|
||||
|
||||
bb0 [label="BB0"];
|
||||
bb1 [label="BB1: if(x)"];
|
||||
bb2 [label="BB2: param w"];
|
||||
bb3 [label="BB3: x1 =! x"];
|
||||
bb4 [label="BB4: w1 = *w"];
|
||||
bb5 [label="BB5: q1 = *q"];
|
||||
bb6 [label="BB6"];
|
||||
|
||||
bb0 -> bb1;
|
||||
bb1 -> bb2;
|
||||
bb1 -> bb3;
|
||||
bb2 -> bb3;
|
||||
bb3 -> bb4;
|
||||
bb3 -> bb5;
|
||||
bb4 -> bb6;
|
||||
bb5 -> bb6;
|
||||
}
|
20
src/Others/5.4_dataflow_analysis/cfg2.gv
Normal file
20
src/Others/5.4_dataflow_analysis/cfg2.gv
Normal file
@ -0,0 +1,20 @@
|
||||
digraph {
|
||||
labelloc = "title";
|
||||
label = "int contrived_caller(int *w, int x, int *p)";
|
||||
node [shape="record"];
|
||||
|
||||
bb0 [label="BB0"];
|
||||
bb1 [label="BB1: param p\n
|
||||
call kfree\n
|
||||
param p\n
|
||||
param w\n
|
||||
param\n
|
||||
call contrived"];
|
||||
bb2 [label="BB2: r = ret\n
|
||||
w1 = *w"];
|
||||
bb3 [label="BB3"];
|
||||
|
||||
bb0 -> bb1;
|
||||
bb1 -> bb2;
|
||||
bb2 -> bb3;
|
||||
}
|
9
src/Others/5.4_dataflow_analysis/cg.gv
Normal file
9
src/Others/5.4_dataflow_analysis/cg.gv
Normal file
@ -0,0 +1,9 @@
|
||||
digraph {
|
||||
0 [label="contrived_caller"];
|
||||
1 [label="contrived"];
|
||||
2 [label="kfree"];
|
||||
|
||||
0 -> 1;
|
||||
0 -> 2;
|
||||
1 -> 2;
|
||||
}
|
10
src/Others/5.4_dataflow_analysis/sm.gv
Normal file
10
src/Others/5.4_dataflow_analysis/sm.gv
Normal file
@ -0,0 +1,10 @@
|
||||
digraph {
|
||||
0 [style="filled"];
|
||||
2 [shape="doublecircle"];
|
||||
3 [shape="doublecircle"];
|
||||
|
||||
0 -> 2 [label="被使用"];
|
||||
0 -> 3 [label="释放"];
|
||||
0 -> 1 [label="释放"];
|
||||
1 -> 0 [label="分配"];
|
||||
}
|
Reference in New Issue
Block a user