-
-
[求助]如何将一个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直播授课