aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-27 20:17:09 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-27 20:17:09 +0200
commit64b6c0724df9c394523a34c69be7bf716470ddf8 (patch)
tree64564fb851d1496dd340a7cfc274691f9eecd898 /docs
parent9de22c7d8be5c317c0d9245313062547a6202c7b (diff)
sys/windows: add more descriptions
Diffstat (limited to 'docs')
-rw-r--r--docs/windows.md54
1 files changed, 50 insertions, 4 deletions
diff --git a/docs/windows.md b/docs/windows.md
index 12691a521..d09053777 100644
--- a/docs/windows.md
+++ b/docs/windows.md
@@ -6,13 +6,59 @@ syz-extract -os=windows
syz-sysgen
```
+`sys/windows/windows.txt` was auto-extracted from windows headers with `tools/syz-declextract`.
+
To build binaries:
```
-go build -o bin/windows_amd64/syz-stress.exe ./tools/syz-stress
-cl executor\executor_windows.cc /EHsc -o bin\windows_amd64\syz-executor.exe
+make fuzzer execprog stress TARGETOS=windows
+cl executor\executor_windows.cc /EHsc -o bin\windows_amd64\syz-executor.exe \
+ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib \
+ shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
+ winmm.lib rpcrt4.lib Crypt32.lib imm32.lib Urlmon.lib Oleaut32.lib \
+ Winscard.lib Opengl32.lib Mpr.lib Ws2_32.lib Bcrypt.lib Ncrypt.lib \
+ Synchronization.lib Shell32.lib Rpcns4.lib Mswsock.lib Mincore.lib \
+ Msimg32.lib RpcRT4.lib Rpcrt4.lib lz32.lib
+```
+
+To run `syz-stress`:
+```
+bin\windows_amd64\syz-stress.exe -executor c:\full\path\to\bin\windows_amd64\syz-executor.exe
```
-To run:
+Windows is supported by only `gce` VMs at the moment.
+To use `gce`, create a Windows GCE VM, inside of the machine:
+
+ - Enable serial console debugging:
+```
+bcdedit /debug on
+bcdedit /dbgsettings serial debugport:1 baudrate:115200
+```
+See [this](https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/boot-parameters-to-enable-debugging) for details.
+
+ - Disable automatic restart in sysdm.cpl -> Advanced -> Startup and Recovery
+
+ - Setup sshd with key auth, [these](https://winscp.net/eng/docs/guide_windows_openssh_server) instructions worked for me.
+ Save private ssh key.
+
+Then shutdown the machine, stop the instance and create an image from the disk.
+Then start `syz-manager` with config similar to the following one:
+
```
-bin\windows_amd64\syz-stress.exe -executor c:\full\path\to\bin\windows_amd64\syz-executor.exe -cover=0
+{
+ "name": "windows",
+ "target": "windows/amd64",
+ "http": ":20000",
+ "workdir": "/workdir",
+ "syzkaller": "/syzkaller",
+ "sshkey": "/id_rsa",
+ "cover": false,
+ "procs": 8,
+ "type": "gce",
+ "vm": {
+ "count": 10,
+ "machine_type": "n1-highcpu-2",
+ "gce_image": "your-gce-image",
+ "ssh_user": "you"
+ }
+}
```