我已经用 Electron 编写了一个 UI,我想将它与我的 C++ 代码连接起来。但是,我将销售此产品,因此我想知道这是否使人们更容易破解我的 C++ 代码?显然我知道编译后的 C++ 无论如何都可以破解,但这会以任何方式影响它吗?
此外,在保持最大可能安全性的同时,最好的方法是什么?
谢谢。
编辑:这个怎么样?是否可以使用 C++ 作为 Electron.js 的后端?
EDIT2:澄清一下,我的 Electron 应用程序将显示在 C++ 程序中执行的操作的状态。因此,我需要将列表、字典、字符串等从 C++ 发送到 JS,然后 JS 将呈现它。此外,我的 Electron 应用程序上的按钮需要触发 C++ 代码中的操作,例如停止或启动程序的某些部分。
我已经用 Electron 编写了一个 UI,我想将它与我的 C++ 代码连接起来……我想知道这是否能让人们更容易破解我的 C++ 代码?
使用电子对保护 C++ 源代码没有任何意义。(您的知识产权)
但是,在电子中运行的 Javascript 代码很容易逆向工程,这让用户在试验 C++二进制文件时有一个良好的开端。使用缩小和混淆工具至少可以使这更难。
对于 C++ 端,至少可以通过以下两种方式将 C++ 连接到 Electron:
无论哪种方式,您的应用程序都必须通过编译后的二进制文件交付给最终用户。如果您实际将二进制文件提供给用户,则不可能防止二进制文件本身的逆向工程。
您还应该期望精明的最终用户可以访问其他工具,这些工具可以检查 API 并实现与该 API 对话的第三方代码。
此外,在保持最大可能安全性的同时,最好的方法是什么?
通过“最大可能的安全性”,我假设您指的是防止在其他应用程序中未经授权使用 C++ 代码。
您需要一个许可系统来验证使用 C++ 二进制 API 的应用程序。解释这到底是什么对于 Stack Overflow 来说可能是一个太大的答案,您将不得不对如何实施许可系统进行一些研究。
不过,理论上可能不可能开发出完美的许可制度。看看游戏行业,每发布一款新游戏,就可以绕过许可软件,这需要几天时间。唯一没有完全破解的软件架构是基于云的应用程序,它们实际上并不将带有业务逻辑的编译代码交付给最终用户的计算机。
| 归档时间: |
|
| 查看次数: |
4075 次 |
| 最近记录: |