草庐IT

RtlAddFunctionTable

全部标签

windows - 在 Windows x64 上使用 RtlAddFunctionTable 描述动态生成的代码

我的应用程序(用Delphi编写,但这并不重要)动态生成代码块(它包含一个内置编译器)。为了让异常在Windowsx64上正常工作,我需要通过RtlAddFunctionTable来描述生成的函数。到目前为止一切顺利,我已经将代码生成器更改为仅使用官方序言和结尾形式,并且通过设置包含UNWIND_INFO等的RUNTIME_FUNCTION对它们进行了编码。但是,生成代码中的(故意的)访问冲突仍然会导致应用程序立即终止,因此显然有问题。使用windbg,我看到以下内容(其中0x4c5006f是异常地址):0:000>.fnent0x4c5006fDebuggerfunctionentr