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
> 

Reply via email to