首页
社区
课程
招聘
[求助]nasm如何实现动态链接库中的数据共享?(问题已经解决)
发表于: 2009-10-2 21:58 4828

[求助]nasm如何实现动态链接库中的数据共享?(问题已经解决)

2009-10-2 21:58
4828
如题,最近比较郁闷,写远程钩子时需要将.bss段编译成共享属性,但是搜了很久也没有找到一个答案,希望大牛们指点。我使用的链接器是golink,该链接器并没有编译成共享段的选项。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 252
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
为了实现DLL中的数据共享,搜了很久,因为只想使用win32格式的编译文件,但是GoLink却没有提供对数据段属性的设置功能,而其它的开源链接器功能都较弱,所以只好又找来微软自家的链接器Incremental Linker,可使用的选项确实很多,不过要使用此链接器链接nasmx编译的文件还需要找来动态链接库的lib库文件,还有就是需要使用/entry:选项,注意这里要使用/entry:main来指定Dll的入口点,而在Golink中要使用/entry _main来指定Dll的入口点。而且在链接后会出现一条链接提示:example1701.dll : warning LNK4086: entrypoint "_main" is not __stdcall with 12 bytes of arguments; image may not run,不必理会。如果大家发现其它更好的开源链接器,请告诉我一声,谢谢了!呵呵。
     
    完整的链接命令类似下面这样:

link /subsystem:windows /entry:main /section:.bss,S /dll example.obj kernel32.lib user32.lib
2009-10-3 20:29
0
雪    币: 276
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
很不错的示范,自己解决问题并且贴出解决方法,此风值得学习。
2009-10-4 06:34
0
雪    币: 106
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
自己动手修改增强编译链接器吧
2009-11-18 10:33
0
游客
登录 | 注册 方可回帖
返回
//