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
@@ -77,3 +77,25 @@ For safety reasons the Bitcoin Core .appveyor.yml file has the artifact options
77
77
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
78
78
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
79
79
```
80
+
81
+
Security
82
+
---------------------
83
+
[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.
84
+
85
+
To check if `bitcoind` has `RandomizedBaseAddress` enabled or disabled run
86
+
87
+
```
88
+
.\dumpbin.exe /headers src/bitcoind.exe
89
+
```
90
+
91
+
If is it enabled then in the output `Dynamic base` will be listed in the `DLL characteristics` under `OPTIONAL HEADER VALUES` as shown below
92
+
93
+
```
94
+
8160 DLL characteristics
95
+
High Entropy Virtual Addresses
96
+
Dynamic base
97
+
NX compatible
98
+
Terminal Server Aware
99
+
```
100
+
101
+
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