You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: build_msvc/README.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,3 +81,25 @@ For safety reasons the Bitcoin Core .appveyor.yml file has the artifact options
81
81
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
82
82
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
83
83
```
84
+
85
+
Security
86
+
---------------------
87
+
[Base address randomization](https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase-use-address-space-layout-randomization?view=msvc-160) is used to make Bitcoin Core more secure. When building Bitcoin using the `build_msvc` process base address randomization can be disabled by editing `common.init.vcproj` to change `RandomizedBaseAddress` from `true` to `false` and then rebuilding the project.
88
+
89
+
To check if `bitcoind` has `RandomizedBaseAddress` enabled or disabled run
90
+
91
+
```
92
+
.\dumpbin.exe /headers src/bitcoind.exe
93
+
```
94
+
95
+
If is it enabled then in the output `Dynamic base` will be listed in the `DLL characteristics` under `OPTIONAL HEADER VALUES` as shown below
96
+
97
+
```
98
+
8160 DLL characteristics
99
+
High Entropy Virtual Addresses
100
+
Dynamic base
101
+
NX compatible
102
+
Terminal Server Aware
103
+
```
104
+
105
+
This may not disable all stack randomization as versions of windows employ additional stack randomization protections. These protections must be turned off in the OS configuration.
0 commit comments