首页
社区
课程
招聘
[求助]调用EXE中的函数......
发表于: 2010-6-13 12:01 17926

[求助]调用EXE中的函数......

2010-6-13 12:01
17926
收藏
免费 7
支持
分享
最新回复 (29)
雪    币: 253
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
To wzanthony:
      大侠研究的很透,如你所说,将EXE做为DLL使用,初始化是最关键的地方!
但我在试验时发现并不是所有的导出函数都不能使用,只要是函数实现代码中没有类似窗口操作的代码就能在另一个EXE中正常调用(如在函数中只做数学运算)。我认为EXE中加入导出段后,窗口类操作代码的初始化(定位)不正确,如果能获得正确的定位信息相信问题就得到解决了。
2010-6-22 08:39
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
27
并不只是如此而已!之前由于懒得自己写初始化代码,没弄完就放着了。这次借花献佛,抄了nbw代码作初始化,两个项目在附件里,该dllexe.exe可以直接运行,也可以被loadex.exe加载并调用导出函数。

不过就算抄了nbw的初始化程序其结果也不是很完善,一是exe所需的dll应该都是LoadLibrary而不是通过GetModuleHandle再决定是否LoadLibrary;二是没有写对应的FreeLibrary;三是exe被LoadLibrary加载那么该exe只是被当作DataFile,只被系统认为是用来读取资源用的,因此没有调用入口点,由于我那个项目dllexe.exe的DllMain里面啥也没干,所以也懒得调用了,但是DLL_THREAD_ATTACH和DLL_THREAD_DETACH永远没机会触发,却绝对是软肋;四是这段初始化程序只初始化了导入表和重定位表,而Tls表之类的却没有初始化,这些也是需要注意的。
完美的初始化程序实在是太繁琐了!
上传的附件:
2010-6-22 10:27
0
雪    币: 176
活跃值: (267)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
去找灰鸽子的exe注入!源码
2010-7-9 19:37
0
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
《com 本质论》 书上大牛回答了你的问题!
2010-7-9 21:35
0
雪    币: 253
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
正在拜读!谢谢
2010-7-11 13:46
0
游客
登录 | 注册 方可回帖
返回
//