Delphi   发布时间:2022-04-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 在C Builder中启用安全异常处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于 Windows 8应用程序认证,有(以及其他)这些要求:

> 3.2您的应用程序必须使用/ SafeSEH标志进行编译,以确保安全的异常处理
> 3.3您的应用程序必须使用/ NXCOMPAT标志进行编译,以防止数据执行
> 3.4您的应用程序必须使用/ DYNAMICBASE标志进行编译,用于地址空间布局随机化(ASLR)

我不知道如何在C Builder XE中启用其中的任何一个.

对于/ NXCOMPAT和/ DYNAMICBASE,可以使用VS中的editbin.exe或来自Cygwin的peflags.exe.然我会对可能的副作用感到更有信心,如果有本土的方式来实现这些功能.

无论如何,我完全失去了/ SafeSEH.

解决方法

首先,/ SafeSEH仅适用于x86,而不适用于x64或ARm.它需要您的编译器生成额外的表,指示由于安全原因被认为是有效的异常处理程序的函数地址.你可以自己做一个很小的机会,但是你需要看看你编译的汇编代码中的fs:0异常处理链,并枚举在该链上被推送的所有地址,然后在这里描述如下http://msdn.microsoft.com/en-us/library/9a89h429(v=VS.80).aspx .你的代码实际上并没有任何处理程序,@R_489_10530@都在C Builder的运行时间(可能使得运行时是一个单独的DLL)变得容易一些.

您应该尝试说服C Builder更新其编译器以支持SafeSEH.自从XP SP2以来,Windows平台已经存在,并插入了一个非常糟糕的安全漏洞(x86中的堆栈中存在异常处理程序地址,只是等待缓冲区溢出将任何随机地址放在那里执行)

大佬总结

以上是大佬教程为你收集整理的delphi – 在C Builder中启用安全异常处理全部内容,希望文章能够帮你解决delphi – 在C Builder中启用安全异常处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。