首页 > 解决方案 > 在 JavaScript 中提取 C# 嵌入式资源

问题描述

我正在尝试从 .exe 文件中提取嵌入式资源。我可以像这样轻松地从 C# 代码中获取嵌入式资源:

string changeLog;

/* Get the changelog embedded resource */
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SIPBandVoIPClient.CHANGELOG.md"))
using (var reader = new StreamReader(stream))
{
    changeLog = reader.ReadToEnd();
}

但是,现在我正试图从 JavaScript/nodeJS 中获取嵌入式资源。

我试着对文件中我知道的一些文本进行“grepping”,但我找不到它。也许它是base64编码的?

编辑:我尝试以不同的方式嵌入资源 - 通过使用 Visual Studio 中的属性部分,而不是将文件添加到项目中,并将其标记为资源。

现在,我可以像这样访问它:

string changeLog = Encoding.UTF8.GetString(Resources.CHANGELOG);

此外,我可以在 .exe 中逐字找到文本。在正文之前,有一些(二进制?)数据是这样的:

在此处输入图像描述

(为截图道歉,我认为由于不可打印的字符,文本本身不会很好地呈现)

我想知道是否有办法将其从二进制垃圾转换为可用于搜索 .exe 的标记。我当然可以搜索“此项目的所有显着更改......”并备份一下,但它似乎有点容易出错。知道在哪里准确停止也很方便。

我确实考虑过使用 node-ffi 模块,并连接到 Windows Api 功能,但是,这只是 Windows,我认为我需要 Linux 支持。

标签: javascriptc#node.js

解决方案


推荐阅读