This are basically compiler switches as far as I understand. I am not a C programmer, so also quite difficult for me to link the library statically.
This is what I can read about it here: [ https://msdn.microsoft.com/en-us/library/windows/apps/jj657973.aspx#binscope_2 ]( https://msdn.microsoft.com/en-us/library/windows/apps/jj657973.aspx#binscope_2 ) ==================== /SafeSEH Exception Handling Protection Windows App Certification Kit error message: SafeSEHCheck Test failed An exception handler runs when the app encounters an exceptional condition, such as a divide-by-zero error. Because the address of the exception handler is stored on the stack when a function is called, it could be vulnerable to a buffer overflow attacker if some malicious software were to overwrite the stack. What to do if your app fails this test Enable the /SAFESEH option in the linker command when you build your app. This option is on by default in the Release configurations of Visual Studio. Verify this option is enabled in the build instructions for all executable modules in your app. Remarks The test is not performed on 64-bit binaries or ARM chipset binaries because they don't store exception handler addresses on the stack. Data Execution Prevention Windows App Certification Kit error message: NXCheck Test failed This test verifies that an app doesn't run code that is stored in a data segment. What to do if your app fails this test Enable the /NXCOMPAT option in the linker command when you build your app. This option is on by default in linker versions that support Data Execution Prevention (DEP). Remarks We recommend that you test your apps on a DEP-capable CPU and fix any failures you find that result from DEP. Address Space Layout Randomization Windows App Certification Kit error message: DBCheck Test failed Address Space Layout Randomization (ASLR) loads executable images into unpredictable locations in memory, which makes it harder for malicious software that expects a program to be loaded at a certain virtual address to operate predictably. Your app and all components that your app uses must support ASLR. What to do if your app fails this test Enable the /DYNAMICBASE option in the linker command when you build your app. Verify that all modules that your app uses also use this linker option. Remarks Normally, ASLR doesn't affect performance. But in some scenarios there is a slight performance improvement on 32-bit systems. It is possible that performance could degrade in a highly congested system that have many images loaded in many different memory locations. This test is performed on only apps written in managed code, such as by using C# or .NET Framework. Best regards, Maarten MOSTERT, > "Richard Hipp" <drh at sqlite.org> | > On 4/2/15, maarten.mostert at stakepoint.com > <maarten.mostert at stakepoint.com> wrote: > > > > WARNING > > Binary analyzer > > Warning: The binary analyzer test detected the following errors: > > File C:\Program Files\StakePoint\sqlite3.dll has failed the NXCheck check. > > File C:\Program Files\StakePoint\sqlite3.dll has failed the DBCheck check. > > File C:\Program Files\StakePoint\sqlite3.dll has failed the SafeSEHCheck > > check. > > > > I have no idea what the above means. > > Can you work around it by statically linking SQLite into your > application, rather than using a separate DLL? > -- > D. Richard Hipp > drh at sqlite.org > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >

