-
-
[求助]tls函数列表
-
发表于:
2011-8-15 10:34
4214
-
extern "C" {
const
IMAGE_TLS_DIRECTORY32 _tls_used __attribute__ ((section(".CRT$XLB"))) = {
(DWORD)&check_oep_cc,
(DWORD)&check_IsDebuggerPresent,
(DWORD)&check_find_window_olly,
(DWORD)&check_parent_process,
(DWORD)&check_debugger_port,
// (DWORD)&check_self_debug,
(DWORD)NULL
};
}
以上是定义tls代码,
IMAGE_TLS_DIRECTORY32 中放了5个 check_xxx 函数加一个NULL结尾,5个check_xxx都能正常执行, 如果再加一个check_self_debug,就会编译出错,
提示给
IMAGE_TLS_DIRECTORY32 提供了太多初始值,
看了
IMAGE_TLS_DIRECTORY32 的结构:
IMAGE_TLS_DIRECTORY32 STRUCT
StartAddressOfRawData dd ?
EndAddressOfRawData dd ?
AddressOfIndex dd ?
AddressOfCallBacks dd ?
SizeOfZeroFill dd ?
Characteristics dd ?
IMAGE_TLS_DIRECTORY32 ENDS
第4个参数AddressOfCallBacks 才应该是放check_xxx 的地方吧,为什么照上面的代码也能运行成功?
[课程]FART 脱壳王!加量不加价!FART作者讲授!