首页
社区
课程
招聘
[牛人们勿入]TLS资料收集
发表于: 2009-2-7 15:31 10974

[牛人们勿入]TLS资料收集

2009-2-7 15:31
10974

虽然说是牛人们N年前手中的玩物,我却是最近才知道有这回事
  资料也不多,昨天BAIDU+论坛搜索弄了很久,有点搜获,不敢独享,发出来和大家共享。
---------------------------------------------------------------------
  话说很久很久以前我们就知道,main,WinMain,DllMain等在一般情况下并不是应用程序或动态链接库执行的起点,所以我们经常在crt0上进行一些OOXX的事情。
结果现在发现,在crt0之前,我们还能做一些事情,这个OOXX的事情就是所谓的Thread Local Storage技术带来的tls回调函数??!!
一个让我觉得很牛逼的东西。当然鸡肋还是有一点的,那就是非常明显地暴露了我们要执行特定意图代码的位置。
不管怎么说,我们小菜还是来学习下吧!
PS.
如果用VC写代码,在TLS回调函数中不要使用C库的函数,因为此时MSVCRTXXX.DLL还没加载,至少我的VS2K3是这样的。另外如果要执行可能出现异常的代码,一定要try/catch。不然操作系统不会报错,而是直接跑到OEP去了。
再PS.
牛人们请自觉,这个是菜鸟交流的帖子。。。。你们就不要来OOXX了。。。。
---------------------------------------------------------------------
资料链接:
820K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3j5X3u0K6K9s2c8E0L8q4)9J5c8X3u0T1M7K6N6Q4x3V1k6H3k6h3c8A6P5e0N6Q4x3X3b7$3y4U0N6Q4x3X3g2Z5N6r3@1`.
http://bbs.pediy.com/showthread.php?p=80239
http://bbs.pediy.com/showthread.php?threadid=31875
b68K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4G2k6r3g2H3M7X3!0B7k6h3y4@1i4K6u0W2j5$3!0E0i4K6u0r3d9@1u0Q4x3V1k6@1K9s2u0W2j5h3c8K6i4K6u0r3N6r3I4K6i4K6u0W2j5i4y4H3P5l9`.`.
http://bbs.pediy.com/showthread.php?t=63237&highlight=tls
http://bbs.pediy.com/showthread.php?threadid=17828
http://bbs.pediy.com/showthread.php?threadid=17839
http://bbs.pediy.com/showthread.php?threadid=12532
http://bbs.pediy.com/showthread.php?threadid=18144
---------------------------------------------------------------------
TLS表结构
typedef struct _IMAGE_TLS_DIRECTORY32 {
    DWORD   StartAddressOfRawData;
    DWORD   EndAddressOfRawData;
    DWORD   AddressOfIndex;             // PDWORD
    DWORD   AddressOfCallBacks;         // PIMAGE_TLS_CALLBACK *
    DWORD   SizeOfZeroFill;
    DWORD   Characteristics;
} IMAGE_TLS_DIRECTORY32;
---------------------------------------------------------------------
表里面的其他项都可以填0,但是要求AddressOfIndex指向一个数组,数组存放所有TLS的回调函数的地址,以NULL结束数组
---------------------------------------------------------------------
TLS回调函数的函数原型
extern "C" void NTAPI TLS_callback ( PVOID DllHandle, DWORD Reason, PVOID Reserved );
其中Readson的意义和DllMain()的差不多
---------------------------------------------------------------------
一个简单的使用TLS的实例
来源1bdK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2A6i4K6u0W2j5X3q4A6k6s2g2Q4x3X3g2U0L8$3#2Q4x3V1k6*7K9r3q4F1k6$3I4A6L8X3N6#2L8K6p5I4i4K6u0r3j5X3I4G2k6#2)9J5c8X3W2@1k6h3#2Q4x3V1j5#2k6o6N6U0z5e0j5J5x3$3x3J5j5U0u0T1k6e0f1@1z5e0V1J5x3X3g2V1y4o6q4Q4x3X3g2Z5N6r3#2D9


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
2
多谢分享...
2009-2-7 15:34
0
雪    币: 197
活跃值: (52)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
今天就遇到一个tls的毒。。。真是。。。
2009-2-7 20:02
0
雪    币: 210
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我是菜鸟,还得努力呀。。。
2009-2-7 20:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
别呀,应该欢迎牛人门来谈谈自己的看法呀,增加交流才是王道
期盼牛人们 xxoo
2009-2-19 15:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢楼主分享!
2009-2-20 15:18
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=;]...[/QUOTE]
能不能把资料集中整理好后提供下载.......
2009-2-20 19:04
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有人知道如何清除TSL表吗?
2009-7-11 08:44
0
雪    币: 183
活跃值: (1289)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
谢谢  分享 学习中。。。
2009-12-3 15:41
0
雪    币: 170
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
占楼学习中~
2009-12-3 23:04
0
雪    币: 389
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有点乱了,希望整理好之后再放出
2009-12-6 16:00
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这些我目前都看不懂,不知道什么时候才可以。
2009-12-15 08:27
0
游客
登录 | 注册 方可回帖
返回