首页
社区
课程
招聘
[求助]如何将一个DLL封装进一个EXE文件?
发表于: 2009-5-18 18:24 8973

[求助]如何将一个DLL封装进一个EXE文件?

2009-5-18 18:24
8973
看到下面这个东东。。。

我觉得是不是把DLL作为资源打包进EXE,然后通过HOOK一些关键函数实现的?

这个和VMWare ThinApp有相似之处吗?

------------------------------------------------------------------
iBox 简介:
   iBox 是 RLPack 的独立模块,用于将您程序调用的 DLL 动态链接库文件封装到主 EXE 文件中。也就是说,您的 .dll/.ocx 文件不再存放于硬盘中,而是在主 EXE 文件(或者其它您指定的 DLL 文件)的内部,程序运行时,封装的文件可以被释放到硬盘或内存中。如果您选择将文件释放到硬盘,它们会被解压到您指定的目录(例如 WINDOWS, SYSTEM, SYSTEM32, INSTALLDIR\SomeFolder\ 等目录);如果您选择将文件释放到内存,它们永远都不会解压到硬盘,而是直接释放到内存中。这就意味着第三方程序(例如 LordPE 或 ImpRec )将没有可能使用 EnumProcessModules API 函数枚举您的应用程序究竟调用了多少 .dll/.ocx 文件。
   
   iBox 的封装并不会影响您访问封包内的 .dll/.ocx 文件,您可以使用 LoadLibraryA/W, GetModuleHandleA/W, GetProcAddress 和 FreeLibrary API 函数,就好像封装的 .dll/.ocx 文件仍在硬盘上一样。这样,您不必使用输入表导入封装的数据,只需使用 Windows API 函数导入即可。甚至您还可以从其它封装的 .dll/.ocx 文件中导入函数功能。
   
   iBox 还带有共享模式插件,可以方便的帮助您将您的软件产品转换为共享软件。只需简单的几步,您就可以创建带有 15 或 30 天试用期的共享软件,并且可以提醒您的客户注册或购买他们的拷贝。同时,iBox 的这种特性可以减少您发布文件的数量,是您制作绿色软件的最佳选择。

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
我觉得你的猜想是正确的,它自己实现了一个Loader
2009-5-18 18:36
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
极有.可.能
2009-5-18 18:59
0
雪    币: 220
活跃值: (711)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
RLPack 这个壳和操作系统的兼容性怎么样?
2009-5-18 19:19
0
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
5
类似这样的软件还有MoleBox,Thinstall等。
2009-5-18 19:54
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果楼主能做个实例来说明,就更好了.看看能不能实现。
2009-5-18 21:13
0
雪    币: 243
活跃值: (209)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Memory load dll
2009-5-19 08:59
0
游客
登录 | 注册 方可回帖
返回
//