微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创build一个生成DLL的应用程序

目前,我有一个MFC C ++ visual studio项目,是build立在一个DLL。 我们称之为FinalDLL

我需要这个FinalDLL是可configuration的。 所以,我想要一个GUI,以便用户可以根据通过GUI进入的信息生成FinalDLL 。 请考虑我不想在任何地方提供资源。

我不清楚如何整合这些步骤。 我想到的解决scheme是在我的GUI中有一个button,所以当点击时, FinalDLL根据通过GUIinput的信息生成。 有没有可能做这样的事情? 可能我需要另一个DLL库,因为通过GUIinput的信息可以调用FinalDLL代码中使用的函数

是控制 – 在Windows上input一个普遍接受的快捷方式来表示“接受”?

如何在使用箭头导航的bash脚本中创build接口?

Java服务与GUI工具

如何在MFC中禁用CListCtrl的水平ScrollBar?

实时logging

我如何创build我自己的menuconfig GUI?

用户界面缩放(input/输出)行为的标准键是什么?

当对话框重新打开时,访问键应该保持下划线?

哪里可以findWindows应用程序的用户界面(UI)devise模式?

访问数组重新创build对象中的对象?

对此的解决方案将是非常复杂和复杂的,主要是因为你不想公开源代码的DLL。

基本上你需要编译这些源文件,每当你想要生成DLL,而没有用户访问它们。

首先,你也希望你的DLL生成器应用程序分发给用户

其次,你需要将这些文件存储在应用程序的某个地方,并以加密的形式存储,这样黑客就不会只看你的应用程序二进制文件提取DLL的源代码

作为用户端一个先决条件,他需要有一个兼容的Visual Studio安装,它将被用于编译源代码文件

DLL生成器应用程序需要做的是通过应用程序将呈现的形式,随时编译这些源代码文件以及自定义文件

所以你需要做什么(由于复杂的要求,列表可能并不完整):

收集构建项目时Visual Studio执行的所有编译器/链接器命令

将所有源代码文件以加密的形式存储到您的应用程序中。 现在,如果你想允许你的应用程序解码这些文件,那么你需要将加密密钥存储在应用程序中,并对其进行混淆处理,这样就不那么容易找到,或者让应用程序与你的服务器通信,并要求加密密钥通过https(这是一个更安全的方法,但是这不是100%的防弹,坚持/训练的黑客仍然可以偷看你的应用程序使用的内存)

用户填写所有DLL生成细节后,应用程序将需要解密源代码文件,更新受自定义参数影响的源代码文件,并使用在步骤#1收集的命令启动构建过程。 编译器/链接器应该允许从stdin读取,所以你将使用管道将源代码内容写入编译器/链接器stdin,并从stdout中获得编译/链接的对象。

正如我所说的,解决方案不是很好,主要的问题是用户安装一个带有与你的机器兼容的编译器的Visual Studio,否则你在第一步收集的命令将不起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐