gpt4 book ai didi

带有 C++ 后端的 Electron - 安全吗?

转载 作者:行者123 更新时间:2023-12-03 12:24:10 25 4
gpt4 key购买 nike

我已经用 Electron 编写了一个 UI,我想将它与我的 C++ 代码连接起来。但是,我将销售此产品,因此我想知道这是否使人们更容易破解我的 C++ 代码?显然我知道编译后的 C++ 无论如何都可以破解,但这会以任何方式影响它吗?

此外,在保持最大可能安全性的同时,最好的方法是什么?

谢谢。

编辑:这个怎么样? Is it possible to use c++ as back-end for Electron.js?

编辑2:澄清一下,我的 Electron 应用程序将显示在 C++ 程序中执行的操作的状态。因此,我需要将列表、字典、字符串等从 C++ 发送到 JS,然后 JS 将呈现它。此外,我的 Electron 应用程序上的按钮需要触发 C++ 代码中的操作,例如停止或启动程序的某些部分。

最佳答案

I have written a UI in Electron and I would like to connect it with my C++ code ... I would like to know if this makes it easier for people to crack my C++ code?



使用 Electron 对保护 C++ 源代码没有任何意义。 (您的知识产权)

但是,在 Electron 中运行的 Javascript 代码很容易进行逆向工程,这让用户在试验 C++ 二进制文件时有一个良好的开端。使用缩小和混淆工具至少可以使这更难。

对于 C++ 端,至少可以通过以下两种方式将 C++ 连接到 Electron:
  • 通过动态链接到共享库 ( Node.js C++ Addons )
    在这种情况下,您的 C++ API 将是由共享库导出的函数。有许多工具可以检查共享库 (DLL) 并查看这些函数。
  • 通过使用某种 Inter-process communication 与另一个进程通信.
    在这种情况下,您的 API 将取决于所使用的 IPC 方法。如果是 TCP/UDP 消息,您可以使用 Wireshark检查进程之间的数据包。有多种方法可以检查通过任何类型的 IPC 的消息。

  • 无论哪种方式,您的应用程序都必须通过编译后的二进制文件交付给最终用户。如果您实际将二进制文件提供给用户,则不可能防止二进制文件本身的逆向工程。

    您还应该期望精明的最终用户可以访问其他工具,这些工具可以检查 API 并实现与该 API 对话的第三方代码。

    Additionally, what is the best way to go about this while preserving maximum possible security?



    通过“最大可能的安全性”,我假设您指的是防止在其他应用程序中未经授权使用 C++ 代码。

    您需要一个许可系统来验证使用 C++ 二进制 API 的应用程序。解释这到底是什么对于 Stack Overflow 来说可能是一个太大的答案,您将不得不对如何实现许可系统进行一些研究。

    不过,理论上可能不可能开发出完美的许可制度。看看游戏行业,每发布一款新游戏,就可以绕过许可软件,这需要几天时间。唯一没有完全破解的软件架构是基于云的应用程序,它们实际上并不将带有业务逻辑的编译代码交付给最终用户的计算机。

    关于带有 C++ 后端的 Electron - 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59775149/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com