TLS-线程本地储存
1.先于oep执行,是pe中DataDirectory[9]
2.调试器开始调试前须把调试事件设置于tls处
3.PE中查tls回调函数
DataDirectory[9]中第1个DWORD下图这结构的RVA ,
在找出的rva内存地址中是包含6个dword的结构体,其中第4个是函数地址的指针(是个VA地址,以imagebase为基准),最后通过这个VA地址读出里面保存的函数址址(如:401000)。
4.tls函数格式
和DllMain类似,tls回调函数由系统调用。编写汇编的tls回调函数需return 0xc(3个参数要清栈)。
c编写如下: