那么,您可以根据这些说明创建一个 RAM 驱动器,然后将内存中的 DLL 复制到那里的文件中并使用 LoadLibrary()。
当然,如果您计划将其部署为某种产品,那么这不是很实用,因为人们会注意到正在安装驱动程序、安装后重新启动以及“我的电脑”下的新驱动器号。此外,这实际上并没有隐藏 DLL,因为它只是位于 RAM 驱动器中供每个人观看。
我感兴趣的另一件事是你为什么要这样做?也许您的最终结果可以通过除了从内存加载 DLL 之外的其他方式来实现。例如,当使用UPX等二进制打包程序时,磁盘上的 DLL 与最终执行的 DLL 不同。在使用 LoadLibrary 正常加载 DLL 后,解包程序立即启动并使用未压缩的二进制文件重写 DLL 加载到的内存(DLL 标头确保分配了足够的空间)
| 归档时间: |
|
| 查看次数: |
11622 次 |
| 最近记录: |