History log of /vbox/src/VBox/HostDrivers/Support/win/SUPR3HardenedMainA-win.asm
Revision Date Author Comments Expand
f81115e612ee8fa2bc082db9d4c8879e33babc5a 52967 07-Oct-2014 vboxsync

SUP: simplified the ntdll hooking / patching so we can avoid the jump table memory as it may end up where system dlls like kernel32 are supposed to be loaded (STATUS_CONFLICTING_ADDRESSES (0xc0000018) process init failure).

4b54bc4334bafab3a2fb62746e675703dcb19f00 52950 06-Oct-2014 vboxsync

duh

4db69c2a1302fa56bc5dd7181377b9f47cfd875e 52949 05-Oct-2014 vboxsync

SUP: Do the early init thing on the stub process too.

d6774203fd1e13a9d1787611e48adfdd4a2d6834 52945 05-Oct-2014 vboxsync

win.x86 build fix

0c2ffca957882f38c677fc23f324cfd695b96947 52943 04-Oct-2014 vboxsync

SUP: The child side of early VM process init.

79a6b20f984859d9cc49305172355d6c3901f1c5 52941 03-Oct-2014 vboxsync

Use our own heap in the hope that we can use it before ntdll is really initialized. Fixed RtlExitProcess issue. More early import work.

30f07af559efcbd967e801903746fc21f81ee533 52940 03-Oct-2014 vboxsync

Eliminating some more kernel32.dll dependencies, marking APIs we like to use early as OK.

8302394f164acb4adb187954f6ac8ef7a9efa629 52523 29-Aug-2014 vboxsync

SUP: Sabotage thread creation in the stub process and for the initial part of the VM process.

a60be2c64ea23bb7ce4c9998bcd541c4db879fba 52403 18-Aug-2014 vboxsync

SUP,IPRT: Extended RTLdrQueryPropEx with a pvBits parameter, RTLDRPROP_IMPORT_COUNT and RTLDRPROP_IMPORT_MODULE. Hook LdrLoadDll to validate DLLs before they get to NtCreateSection and the loader code/data can be messed up (windows 7 / 32-bit crash). Allow the kernel to buffer the log file, no real need that each write hits the disk.

0b8ed19cf8df49d6fcd144b43ae4af5c21316ce9 52374 14-Aug-2014 vboxsync

SUP: x86 import fixes.

74f7805911fff84c2dec0fb3b727ef9ddc4df8b0 52367 13-Aug-2014 vboxsync

x86 build fix.

d1e6154d21dcc739e31ac7d8b139ee0fdfe60d45 52356 11-Aug-2014 vboxsync

SUP: Manual imports.

13493ab7596e827b8d0caab2c89e635dd65f78f9 51770 01-Jul-2014 vboxsync

Merged in iprt++ dev branch.

/vbox/Config.kmk /vbox/Makefile.kmk /vbox/include/Makefile.kmk /vbox/include/VBox/err.h /vbox/include/VBox/sup.h /vbox/include/iprt/asm-math.h /vbox/include/iprt/asn1-generator-asn1-decoder.h /vbox/include/iprt/asn1-generator-core.h /vbox/include/iprt/asn1-generator-init.h /vbox/include/iprt/asn1-generator-internal-header.h /vbox/include/iprt/asn1-generator-pass.h /vbox/include/iprt/asn1-generator-sanity.h /vbox/include/iprt/asn1.h /vbox/include/iprt/base64.h /vbox/include/iprt/bignum.h /vbox/include/iprt/cdefs.h /vbox/include/iprt/crypto/Makefile.kup /vbox/include/iprt/crypto/digest.h /vbox/include/iprt/crypto/pem.h /vbox/include/iprt/crypto/pkcs7.h /vbox/include/iprt/crypto/pkix.h /vbox/include/iprt/crypto/rsa.h /vbox/include/iprt/crypto/spc.h /vbox/include/iprt/crypto/store.h /vbox/include/iprt/crypto/taf.h /vbox/include/iprt/crypto/x509.h /vbox/include/iprt/err.h /vbox/include/iprt/formats/asn1.h /vbox/include/iprt/ldr.h /vbox/include/iprt/log.h /vbox/include/iprt/mangling.h /vbox/include/iprt/manifest.h /vbox/include/iprt/md2.h /vbox/include/iprt/memsafer.h /vbox/include/iprt/nt/Makefile.kup /vbox/include/iprt/nt/nt.h /vbox/include/iprt/process.h /vbox/include/iprt/stream.h /vbox/include/iprt/string.h /vbox/include/iprt/time.h /vbox/include/iprt/types.h /vbox/include/iprt/uni.h /vbox/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.cpp /vbox/src/VBox/Frontends/VirtualBox/Makefile.kmk /vbox/src/VBox/Frontends/VirtualBox/src/main.cpp /vbox/src/VBox/HostDrivers/Support/Makefile.kmk /vbox/src/VBox/HostDrivers/Support/SUPDrv.c /vbox/src/VBox/HostDrivers/Support/SUPDrvInternal.h /vbox/src/VBox/HostDrivers/Support/SUPLib.cpp /vbox/src/VBox/HostDrivers/Support/SUPLibInternal.h /vbox/src/VBox/HostDrivers/Support/SUPLibLdr.cpp /vbox/src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp /vbox/src/VBox/HostDrivers/Support/SUPR3HardenedNoCrt.cpp /vbox/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp /vbox/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp /vbox/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c /vbox/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c /vbox/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp /vbox/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c /vbox/src/VBox/HostDrivers/Support/testcase/Makefile.kmk /vbox/src/VBox/HostDrivers/Support/testcase/tstNtQueryStuff.cpp Certificates/Makefile.kup Certificates/NtRoot-MicrosoftCodeVerificationRoot-729404101f3e0ca347837fca175a8438.cer Certificates/NtRoot-MicrosoftCodeVerificationRoot-729404101f3e0ca347837fca175a8438.taf Certificates/SpcRoot-MicrosoftAuthenticodeTmRootAuthority-01.taf Certificates/SpcRoot-MicrosoftDigitalMediaAuthority2005-6eff330eb6e7569740680870104baaba.taf Certificates/SpcRoot-MicrosoftRootAuthority-00c1008b3c3c8811d13ef663ecdf40.taf Certificates/SpcRoot-MicrosoftRootCertificateAuthority-79ad16a14aa0a5ad4c7358f407132e65.taf Certificates/SpcRoot-MicrosoftRootCertificateAuthority2010-28cc3a25bfba44ac449a9b586b4339aa.taf Certificates/SpcRoot-MicrosoftRootCertificateAuthority2011-3f8bc8b5fc9fb29643b569d66c42e144.taf Certificates/Timestamp-CopyrightC1997MicrosoftCorp-01.taf Certificates/Trusted-OracleCorporationVirtualBox-51ca009816fdbd80f120e015ee75823e.cer Certificates/Trusted-OracleCorporationVirtualBox-51ca009816fdbd80f120e015ee75823e.taf NtCreateSection-template-amd64-syscall-type-1.h NtCreateSection-template-x86-syscall-type-1.h SUPDrv-win.cpp SUPDrvA-win.asm SUPHardenedVerify-win.h SUPHardenedVerifyImage-win.cpp SUPHardenedVerifyProcess-win.cpp SUPLib-win.cpp SUPR3HardenedMain-win.cpp SUPR3HardenedMainA-win.asm SUPR3HardenedNoCrt-win.cpp VBoxSupLib-win.cpp /vbox/src/VBox/Installer/win/VBoxMergeApp.wxi /vbox/src/VBox/Main/src-server/MachineImpl.cpp /vbox/src/VBox/NetworkServices/DHCP/Makefile.kmk /vbox/src/VBox/NetworkServices/NAT/Makefile.kmk /vbox/src/VBox/RDP/client/Makefile.in /vbox/src/VBox/RDP/client/Makefile.kmk /vbox/src/VBox/Runtime/Makefile.kmk /vbox/src/VBox/Runtime/common/asn1/Makefile.kup /vbox/src/VBox/Runtime/common/asn1/asn1-basics.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-cursor.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-default-allocator.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-dump.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-encode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-bitstring-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-bitstring-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-bitstring.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-boolean-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-boolean-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-boolean.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-core-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-core-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-core.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-dyntype-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-dyntype.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-integer-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-integer-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-integer.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-null-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-null.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-objid-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-objid-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-objid.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-octetstring-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-octetstring-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-octetstring.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-string-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-string-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-string-template2.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-string.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-time-decode.cpp /vbox/src/VBox/Runtime/common/asn1/asn1-ut-time-template.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-time-template2.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-time.cpp /vbox/src/VBox/Runtime/common/checksum/md2.cpp /vbox/src/VBox/Runtime/common/checksum/md2str.cpp /vbox/src/VBox/Runtime/common/crypto/Makefile.kup /vbox/src/VBox/Runtime/common/crypto/RTCrStoreCertAddFromFile.cpp /vbox/src/VBox/Runtime/common/crypto/digest-builtin.cpp /vbox/src/VBox/Runtime/common/crypto/digest-core.cpp /vbox/src/VBox/Runtime/common/crypto/iprt-openssl.cpp /vbox/src/VBox/Runtime/common/crypto/pemfile.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-asn1-decoder.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-core.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-init.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-internal.h /vbox/src/VBox/Runtime/common/crypto/pkcs7-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-template.h /vbox/src/VBox/Runtime/common/crypto/pkcs7-verify.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-signature-builtin.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-signature-builtin.h /vbox/src/VBox/Runtime/common/crypto/pkix-signature-core.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-signature-rsa.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-util.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-verify.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-asn1-decoder.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-core.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-init.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-internal.h /vbox/src/VBox/Runtime/common/crypto/rsa-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-template.h /vbox/src/VBox/Runtime/common/crypto/spc-asn1-decoder.cpp /vbox/src/VBox/Runtime/common/crypto/spc-core.cpp /vbox/src/VBox/Runtime/common/crypto/spc-init.cpp /vbox/src/VBox/Runtime/common/crypto/spc-internal.h /vbox/src/VBox/Runtime/common/crypto/spc-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/spc-template.h /vbox/src/VBox/Runtime/common/crypto/store-inmem.cpp /vbox/src/VBox/Runtime/common/crypto/store-internal.h /vbox/src/VBox/Runtime/common/crypto/store.cpp /vbox/src/VBox/Runtime/common/crypto/taf-asn1-decoder.cpp /vbox/src/VBox/Runtime/common/crypto/taf-core.cpp /vbox/src/VBox/Runtime/common/crypto/taf-init.cpp /vbox/src/VBox/Runtime/common/crypto/taf-internal.h /vbox/src/VBox/Runtime/common/crypto/taf-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/taf-template.h /vbox/src/VBox/Runtime/common/crypto/x509-asn1-decoder.cpp /vbox/src/VBox/Runtime/common/crypto/x509-certpaths.cpp /vbox/src/VBox/Runtime/common/crypto/x509-core.cpp /vbox/src/VBox/Runtime/common/crypto/x509-file.cpp /vbox/src/VBox/Runtime/common/crypto/x509-init.cpp /vbox/src/VBox/Runtime/common/crypto/x509-internal.h /vbox/src/VBox/Runtime/common/crypto/x509-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/x509-template.h /vbox/src/VBox/Runtime/common/crypto/x509-verify.cpp /vbox/src/VBox/Runtime/common/err/errinfo-alloc.cpp /vbox/src/VBox/Runtime/common/err/errinfo.cpp /vbox/src/VBox/Runtime/common/err/errmsg.cpp /vbox/src/VBox/Runtime/common/ldr/Makefile.kup /vbox/src/VBox/Runtime/common/ldr/ldr.cpp /vbox/src/VBox/Runtime/common/ldr/ldrELF.cpp /vbox/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h /vbox/src/VBox/Runtime/common/ldr/ldrEx.cpp /vbox/src/VBox/Runtime/common/ldr/ldrFile.cpp /vbox/src/VBox/Runtime/common/ldr/ldrMemory.cpp /vbox/src/VBox/Runtime/common/ldr/ldrNative.cpp /vbox/src/VBox/Runtime/common/ldr/ldrPE.cpp /vbox/src/VBox/Runtime/common/ldr/ldrkStuff.cpp /vbox/src/VBox/Runtime/common/log/log.cpp /vbox/src/VBox/Runtime/common/math/bignum.cpp /vbox/src/VBox/Runtime/common/misc/sg.cpp /vbox/src/VBox/Runtime/common/string/RTStrPrintHexBytes.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16Cat.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16CatAscii.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16CmpAscii.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16Copy.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16CopyAscii.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16End.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16ICmpAscii.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16NLen.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16NLenEx.cpp /vbox/src/VBox/Runtime/common/string/RTUtf16PrintHexBytes.cpp /vbox/src/VBox/Runtime/common/string/base64.cpp /vbox/src/VBox/Runtime/common/string/strncmp.asm /vbox/src/VBox/Runtime/common/string/unidata-flags.cpp /vbox/src/VBox/Runtime/common/string/unidata-lower.cpp /vbox/src/VBox/Runtime/common/string/unidata-upper.cpp /vbox/src/VBox/Runtime/common/string/unidata.cpp /vbox/src/VBox/Runtime/common/string/uniread.cpp /vbox/src/VBox/Runtime/common/string/utf-16-case.cpp /vbox/src/VBox/Runtime/common/string/utf-16-latin-1.cpp /vbox/src/VBox/Runtime/common/string/utf-16.cpp /vbox/src/VBox/Runtime/common/string/utf-8-case.cpp /vbox/src/VBox/Runtime/common/string/utf-8-case2.cpp /vbox/src/VBox/Runtime/generic/memsafer-generic.cpp /vbox/src/VBox/Runtime/include/internal/iprt-openssl.h /vbox/src/VBox/Runtime/include/internal/ldr.h /vbox/src/VBox/Runtime/include/internal/ldrPE.h /vbox/src/VBox/Runtime/nt/RTErrConvertFromNtStatus.cpp /vbox/src/VBox/Runtime/r0drv/nt/toxic-chkstk-r0drv-nt.asm /vbox/src/VBox/Runtime/r3/nt/RTProcQueryParent-r3-nt.cpp /vbox/src/VBox/Runtime/r3/posix/process-posix.cpp /vbox/src/VBox/Runtime/r3/stream.cpp /vbox/src/VBox/Runtime/r3/win/ntdll-mini-implib.c /vbox/src/VBox/Runtime/r3/win/ntdll-mini-implib.def /vbox/src/VBox/Runtime/testcase/Makefile.kmk /vbox/src/VBox/Runtime/testcase/tstRTBigNum.cpp /vbox/src/VBox/Runtime/testcase/tstRTLdrVerifyPeImage.cpp /vbox/src/VBox/Runtime/tools/Makefile.kmk /vbox/src/VBox/Runtime/tools/RTSignTool.cpp /vbox/src/VBox/Runtime/win/RTErrConvertFromWin32.cpp /vbox/src/VBox/Runtime/win/errmsgwin.cpp /vbox/src/bldprogs/bin2c.c /vbox/src/recompiler/Makefile.kmk /vbox/tools/bin/gen-slickedit-workspace.sh