首页
社区
课程
招聘
[求助]dll 的反汇编中无dllmain,而只有start ,这是怎么实现的,什么情况下需要用这种方法?谢谢。
发表于: 2007-4-18 14:24 10730

[求助]dll 的反汇编中无dllmain,而只有start ,这是怎么实现的,什么情况下需要用这种方法?谢谢。

2007-4-18 14:24
10730
dll 的反汇编中无dllmain,而只有start ,这是怎么实现的,什么情况下需要用这种方法?谢谢。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 380
活跃值: (101)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
2
在DLL被加载,卸载,线程创建,退出时,可以在DllMain中添加相应的响应代码
2007-4-18 15:47
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
3
可以自由指定程序入口,通常DLL中的入口为DllMain
#pragma comment ( linker, "/ENTRY:*****" )
*号地方用自己的函数替换就可以,这就是你的入口
2007-4-18 19:35
0
雪    币: 281
活跃值: (2880)
能力值: ( LV12,RANK:610 )
在线值:
发帖
回帖
粉丝
4
用win32 asm写的dll
2007-4-18 23:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持3楼的
这种情况一般用于减小dll的大小
2007-4-19 08:38
0
雪    币: 235
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
DllMain函数不是必须有的

你不写DllMain函数,DLL一样可以正常工作
2007-4-23 07:14
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
那是因为编译器给你加了DLLMAIN。并不代表不需要DLLMAIN
2007-4-23 19:27
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
who needs dll entry?
#pragma comment(linker,"/NOENTRY")
2007-4-23 19:53
0
雪    币: 199
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
确实不需要dllmain,而不是编译器加了dllmain
2007-4-23 21:57
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
C得CRT需要。/NOENTRY 得话,连最基本得初始化代码都不可能被执行。
除非你用汇编或者对C和微软编译器熟练到能区别自己得哪些代码不需要CRT支持
2007-4-23 22:08
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
你不写DllMain并不代表程序不需要DllMain。
请自己编译一个没有DllMain得DLL反编译看下。DllMain仍然存在,只不过已经简化到
{
return TRUE 的地步
}

你把DLL得ENTRYPOINT清0,在PE定义和WINDOWS加载器看来确实合理,但对一个完整功能的DLL模块来说,并不见得合理
2007-4-23 22:19
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
如果使用CRT动态库应该不会出问题.MSVCRT.DLL的ENTRY会帮你做好一切初始化.
2007-4-24 09:15
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
不好意思,实际上我在做一个插件时曾经有过使用NOENTRY的企图,不过导致一些结构体全局变量编译结果出现问题,更不用说那些全局的类了。

或许我的使用方法不对

还请楼上赐教
2007-4-25 11:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
hehe 谢谢 各位拉,
2007-4-25 20:33
0
游客
登录 | 注册 方可回帖
返回
//