Discord 在我的 GitHub 上编译的 dll 中找到了机器人令牌

Posted

技术标签:

【中文标题】Discord 在我的 GitHub 上编译的 dll 中找到了机器人令牌【英文标题】:Discord finds bot token in my compiled dll on my GitHub 【发布时间】:2021-05-23 16:22:06 【问题描述】:

我正在设置一个将在 Linux VPS 上运行的程序,我有点困惑。

这是我的设置: 我有一个 Linux VPS 正在运行。

每次我将 GitHub 存储库的 dev 分支合并到 master 时,它都会自动将存储库中的发布文件夹部署到包含所有已编译组件的 VPS,包括主 .dll。

我在 VPS 上有一个服务,它可以获取主 .dll 并运行它。

bot 的令牌存储在 .gitignore 文件中的 .resx 文件中,因此不在 repo 中。

我遇到的问题是,Discord 通知我在 GitHub 上已编译的 .dll 中找到了我的机器人令牌。我的印象是,在编译 .dll 时,令牌要么不可能提取,要么极难提取。 我可能错了。

有没有办法解决这个问题?该机器人是用 C# DotNetCore 编写的。

谢谢, 乔什

【问题讨论】:

我认为最好将你的 repo 拉到 VPS 并在那里自动化你的构建,这样你就永远不会在你的 repo 上跟踪编译结果......这难道不可能吗? 【参考方案1】:

下载像 Telerik Just Decompile 这样的反编译器,你会看到字符串。我想你也可以在文本编辑器中找到。

如果您想通过 Discord 在公共存储库中查找令牌的方法,请将您的存储库设为私有。

如果您想在 exe/dll 中存储私有内容并希望它保持私有,您唯一的选择是不分发您的 exe/dll。

【讨论】:

我将创建两个存储库,一个仅用于代码的公共存储库,一个用于部署的私有存储库。谢谢!

以上是关于Discord 在我的 GitHub 上编译的 dll 中找到了机器人令牌的主要内容,如果未能解决你的问题,请参考以下文章

在 Arm 板上编译的 makefile 编译错误

为啥在两台略有不同的机器上编译的库的行为略有不同?

在 Mingw 上编译的 C/C++ 代码能否保证与 GCC 完全兼容(在 linux 和 Mac 上)

在 AXP 服务器上编译的问题

链接在 cygwin 上编译的 .lib 文件

在 Windows 上编译的 Matlab 应用程序是不是可以在 Linux 下运行?