首页
社区
课程
招聘
[旧帖] 为何DLL加壳后,exe调用报错 “无法加载DLL 内存位置访问无效” 0.00雪花
发表于: 2014-2-13 17:22 5896

[旧帖] 为何DLL加壳后,exe调用报错 “无法加载DLL 内存位置访问无效” 0.00雪花

2014-2-13 17:22
5896
说明:
     运行环境Win7
     dll为VS2008编译的标准DLL,语言c++
     exe为VS2008编译的标准应用程序,语言vb.net
     dll不加壳没有任何问题,但加壳后一运行就上述错误;
     试了aspack,北斗,坛子里的yc12以及 acprotected等加壳软件基本都有此问题,不知何原因
     
     .net程序调用dll有特殊性吗,为什么会导致此现象?求大神解惑!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
晕,dll的文件格式也是PE啊,相对于exe文件加壳后改变的是输入表IAT表,但是DLL文件有的是输出表,这个不一样,可能是这一点导致加壳后的dll文件无法被加载
2014-2-17 20:28
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
以上纯属个人猜测,我是菜鸟有待学习
2014-2-17 20:36
0
雪    币: 2401
活跃值: (1402)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
1. 你的 dll 是 .Net 的,或是 Win32 PE?

2. 先用 UPX 压缩你的 DLL 试试。
2014-2-18 11:51
0
雪    币: 190
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
回楼上:
dll为VS2008编译的标准DLL,语言c++
exe为VS2008编译的标准应用程序,语言vb.net

我不明白是上述加壳工具的问题,还是.net程序调用dll有特殊性,导致那些加壳软件加壳后.net程序调用dll报错,因为上述加壳工具加壳后的dll,delphi写的程序调用没有问题。
该怎么避免,原因何在?
2014-2-18 13:12
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主能不能借15Kx给我?我想转成正式会员,以后还你。
2014-2-19 16:14
0
游客
登录 | 注册 方可回帖
返回
//