GCC允许您编写优化插件,该插件可用于混淆编译后的可执行文件,但尚未移植到mingw。 LLVM包含Windows.h时允许类似的东西,但会出现barfs。 >

评论

为什么在编译器中需要Windows.h?

使c在Windows上工作的工作很多。您可能应该传递一些标志(例如-fms-extensions)。我认为此时clang团队宣传他们在Windows.h上工作,我知道我已经在...上工作了。

@IgorSkochinsky请原谅我的无知,是对Microsoft的轻微了解还是我做的事情完全错了?

@Andrew我之前尝试传递-fms-extensions,但是遇到了问题。这已经有几个月了,也许现在已经解决了。谢谢。

“令人困惑”提出了一个问题:为什么?您想实现什么?

#1 楼

您可能需要看几件事:


“ Surpeptitious Software”一书是关于编写混淆的编译器的。
有人基于tcc编译器编写了概念验证混淆器,并提供了源代码。还要检查此线程上的链接。


评论


需要说明的是:这本书非常好,但是它并不是真正针对特定编译器的编写(扩展)。而是涵盖了程序转换的基本概念,以便将混淆处理总体上应用于程序。

– newgre
2013年4月3日9:57



#2 楼

有一个名为phoenix的编译器基础结构。现在它似乎已经死了,对于MS研究页面上的每个链接,我都得到404的标记,因此在我看来,该项目已终止。

如果您有兴趣使用LLVM / CLANG在Windows上,您可能需要看一下该页面,该页面提供了扩展以在VS中使用LLVM。我尝试了一下,不能多说,但是它应该允许您在Windows上编译和构建LLVM扩展。