首页
社区
课程
招聘
[原创]线程初始化过程 PK 加载DLL过程(详细)
发表于: 2014-3-20 11:51 26355

[原创]线程初始化过程 PK 加载DLL过程(详细)

2014-3-20 11:51
26355
收藏
免费 5
支持
分享
最新回复 (41)
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
"但是代码太风骚了,可以做手脚↓↓↓"

我觉得LZ也很风骚...
2014-3-24 15:26
0
雪    币: 3
活跃值: (52)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
27
你玩的那个exe呢,能share下看看吗,Drop Split
2014-3-25 11:28
0
雪    币: 3
活跃值: (52)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
28
你玩的那个exe呢 ,能share下看看吗
2014-3-25 11:29
0
雪    币: 74
活跃值: (1013)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
膜拜学习
2014-3-25 22:58
0
雪    币: 659
活跃值: (509)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
30
createthread不可用?Dll中创建窗口就得用这个
2014-3-26 15:54
0
雪    币: 81
活跃值: (115)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
31
硬要用也能用起来,会遇到些奇怪的问题,所以不理解为什么
2014-3-26 15:57
0
雪    币: 659
活跃值: (509)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
32
网上标准的代码,不创建线程如何建窗口,我都当模板用了,没见出过问题
2014-3-26 18:05
0
雪    币: 281
活跃值: (33)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
33
可以用,我说的是dllmain不返回的使用情况  
2014-3-26 18:22
0
雪    币: 1063
活跃值: (3613)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
还是不理解为什么大部分情况下,在dllmain里面LoadLibrary是没问题的,只有很少的时候会出问题。
2014-3-26 22:46
0
雪    币: 1063
活跃值: (3613)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
楼主能帮我解释一下,有时在DllMain里面LoadLibrary卡死,到底是什么原因导致的,可不可以规避掉??
2014-3-26 23:00
0
雪    币: 219
活跃值: (878)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
36
TDL3
2014-3-28 00:31
0
雪    币: 281
活跃值: (33)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
37
被发现了 tdss
2014-3-28 00:38
0
雪    币: 51
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
38
mark下,风骚的飘过~~~~
2014-3-30 21:23
0
雪    币: 77
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
mark
2014-3-31 16:24
0
雪    币: 185
活跃值: (111)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
40
进入DllMain已经得到LdrLoaderLock了,所以表面上LoadLibrary是不会有问题的,因为LoadLibrary可以得到这个锁。但是被加载的库可能会引起其他的线程竞争这个锁,会引起死锁。DllMain里面调用任何API都要了解这个API的行为,否则都是危险的。有个例子,比如当前线程在COM STA (SINGLE THREAD APARTMENT), DllMain里面创建一个CoCreateInstance一个MTA的COM, COM DLL会被另外一个线程加载,也进入LoadLibrary,在MTA线程获得LdrLoaderLock之前,当前STA线程的CoCreateInstance不会返回,所以死锁了。

这里有篇非常详细的文档:
fd7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2K6k6r3&6Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6W2L8W2)9J5k6s2g2K6i4K6u0r3L8r3W2T1M7X3q4J5P5g2)9J5c8Y4N6A6L8X3c8G2N6%4y4Q4x3V1k6V1k6i4y4C8N6r3!0H3i4K6u0r3k6r3^5$3x3K6x3&6y4K6q4Q4x3U0f1J5z5s2k6Q4x3@1c8$3M7#2)9J5k6e0R3#2i4K6t1#2x3U0W2Q4x3X3g2S2M7%4m8^5
2014-4-13 17:47
0
雪    币: 256
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
搞定了。。。
2014-6-30 18:07
0
雪    币: 45
活跃值: (538)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
mark 回头慢慢看
2015-3-3 07:55
0
游客
登录 | 注册 方可回帖
返回