tldr; 在底部.
好的,这又是一个有趣的问题,我正在寻找一个有趣而有趣的解决方案.
我目前的项目涉及非常模块化,这意味着程序功能将根据不同的模块轻松更改,程序将适应.
所以我开始使用典型的路由,即使用DLL插件.现在这只是正常的方式,我想在盒子外思考一下.
我的计划中包含的模块是长时间运行的广告系列,可能需要数周才能完成,并且一次会运行许多广告系列.所以稳定性是个大问题,所以我想到了谷歌Chrome的功能.进程,而不是DLL或线程.
所以我有一个框架,我需要一种方法来获取有关每个模块(现在是EXE)的一些信息.现在,对于我的DLL框架,我正在导出一个"注册"功能,可以填写一些信息.
所以我想,自己,EXE可以导出函数,让我们看看它是否真的有效......但事实并非如此.我做了一些关于Windows如何处理这些事情的研究,我不喜欢动态地攻击PE头(但它是开箱即用的那种想法我想要的).
我打算使用命名管道和CLI参数在主程序和模块exe之间传输数据.我可以以寄存器的方式使用它,但我想在这里其他人的想法.
tldr:我使用的是EXE而不是DLL的插件.寻找一种方法来轻松导出一个时间信息,如导出的"注册"功能将在DLL上.思考?
您可能仍然会考虑将模块编写为具有已定义入口点的DLL(例如,Register函数).然后编写加载指定DLL的可执行文件.您的主应用程序将触发驱动程序可执行文件并为其指定插件DLL的名称.
这样,定义和导出必须提供但仍作为单独进程运行的API集仍然很容易.您编写的一个可执行文件可以加载指定的DLL,然后使用主应用程序处理必要的IPC.
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |