Skip to content

Commit a4e2d2e

Browse files
authoredJul 22, 2022
Merge pull request #12 from LJP-TW/master
Update build docs and s2e-config-template.lua files in examples
2 parents f341145 + 563fe42 commit a4e2d2e

File tree

32 files changed

+108
-100
lines changed

32 files changed

+108
-100
lines changed
 

‎Documentation/Build.md

+15-7
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,19 @@ S2E officially supports 64-bit Ubuntu (18.04, 20.04 LTS), older or later version
88

99
You need to manually install some additional tools or packages before building CRAX++.
1010
* [pwntools](https://github.com/Gallopsled/pwntools) (4.7.0)
11+
```
12+
sudo -H python3 -m pip install pwntools==4.7.0
13+
```
14+
1115
* [pybind11-dev](https://github.com/pybind/pybind11) (2.4.3-2build2)
16+
```
17+
sudo apt-get install pybind11-dev=2.4.3-2build2
18+
```
19+
1220
* [ROPgadget](https://github.com/JonathanSalwan/ROPgadget) (6.6)
21+
```
22+
sudo -H python3 -m pip install ROPgadget==6.6
23+
```
1324

1425
## Building S2E Manually
1526

@@ -78,23 +89,20 @@ cd ~/s2e/source/CRAXplusplus/proxies/sym_file && make
7889

7990
Create an S2E project with our concolic execution proxy, `sym_stdin`.
8091
```
81-
cd ~/s2e/source/s2e/proxies/sym_stdin
82-
make
8392
cd ~/s2e
8493
s2e new_project --image debian-9.2.1-x86_64 ~/s2e/source/CRAXplusplus/proxies/sym_stdin/sym_stdin
8594
```
8695

87-
Run `setup.sh`. This applies several patches to the S2E source tree, and places some symlinks in your S2E project.
96+
Run `setup.sh`. This applies several patches to the S2E source tree, places some symlinks in your S2E project, and merges the source code of CRAX++ into S2E source tree.
8897
```
8998
cd ~/s2e/source/CRAXplusplus
9099
./setup.sh
91100
```
92101

93-
Merge the source code of CRAX++ into S2E source tree, and rebuild S2E.
102+
Rebuild S2E.
94103
```
95-
rm -rf ~/s2e/source/s2e/libs2eplugins/src/s2e/Plugins/CRAX
96-
cp -ar ~/s2e/source/CRAXplusplus/src ~/s2e/source/s2e/libs2eplugins/src/s2e/Plugins/CRAX
97104
cd ~/s2e
105+
rm -rf build/stamps/libs2e-release-*
98106
s2e build
99107
```
100108

@@ -141,7 +149,7 @@ Modify `s2e-config.template.lua` and tailor the exploitation techniques to your
141149
techniques = {
142150
"Ret2csu",
143151
"BasicStackPivot",
144-
"GotPartialOverwrite",
152+
"Ret2syscall",
145153
},
146154
```
147155

‎examples/BID-8901-iwconfig/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_arg",
52+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_arg",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/CVE-2001-1413-ncompress/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_arg",
52+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_arg",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/CVE-2004-2093-rsync/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_env",
52+
os.getenv("HOME") .. "/s2e/projects/sym_env",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_env",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_env",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/CVE-2017-14493-dnsmasq-aslr-nx/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_socket",
52+
os.getenv("HOME") .. "/s2e/projects/sym_socket",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_socket",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_socket",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/CVE-2017-14493-dnsmasq/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_socket",
52+
os.getenv("HOME") .. "/s2e/projects/sym_socket",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_socket",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_socket",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/OSVDB-ID-16373-glftpd/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_arg",
52+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_arg",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_arg",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/actf2020-no_canary/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/actf2021-tranquil/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-canary/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-pie-alt1/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-pie-canary-fullrelro-trans/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-pie-canary-fullrelro/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-pie-canary/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx-pie/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/aslr-nx/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/defcon27-quals-speedrun-002/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

‎examples/ntucs2017-readme/s2e-config.template.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pluginsConfig.BaseInstructions = {
4949
add_plugin("HostFiles")
5050
pluginsConfig.HostFiles = {
5151
baseDirs = {
52-
"/home/aesophor/s2e/projects/sym_stdin",
52+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
5353
},
5454
allowWrite = true,
5555
}
@@ -63,8 +63,8 @@ pluginsConfig.HostFiles = {
6363
add_plugin("Vmi")
6464
pluginsConfig.Vmi = {
6565
baseDirs = {
66-
"/home/aesophor/s2e/projects/sym_stdin",
67-
"/home/aesophor/s2e/images/debian-9.2.1-x86_64/guestfs",
66+
os.getenv("HOME") .. "/s2e/projects/sym_stdin",
67+
os.getenv("HOME") .. "/s2e/images/debian-9.2.1-x86_64/guestfs",
6868
},
6969
}
7070

0 commit comments

Comments
 (0)
Please sign in to comment.