Win32应用程序中的嵌入式资源

时间:2010-02-18 22:01:27

标签: winapi embedded-resource

我在我的Win32应用程序中嵌入了一个EXE作为资源。

我正在寻找注册表中的某个值。如果值是正确的,那么我将嵌入式EXE复制到本地文件系统并从那里执行它。

我不希望它从我的EXE中提取出来。

我应该做些什么来阻止这种情况,还是已经不可能了?

感谢。

3 个答案:

答案 0 :(得分:1)

没有什么是不可能的,事实上,从可执行文件中剥离资源非常容易。例如,这是Google搜索中的first link。另一方面,您已经剥离了exe并将其保存到用户系统上的文件中,任何足够复杂以找到嵌入式资源的人也将能够找到您提取的文件。我不会花太多时间担心它。

答案 1 :(得分:1)

但你可以将exe作为.obj或静态数组而不是作为资源。这将使攻击者更难在您的代码中找到,但仍然不是不可能的。

您可以使用unix objcopy工具将您的exe转换为.obj文件,然后链接到您的c代码中的文件。有人必须反编译你的代码才能找到.exe,这比使用资源提取器要困难得多。

Embed data in a C++ program

答案 2 :(得分:0)

我必须保护申请。我无法修改应用程序。我所能做的只是在它周围编写小实用程序,比如创建在线串行系统,独特的硬件信息哈希存储,加载器exe等。

但现在我发现,如果不修改原始应用程序,我的意图几乎无用。我会对此表示感谢。