最近我在Visual Studio 14(2015)的编译器中发现了一个名为Warbird的东西。
我用谷歌搜索但没有发现任何东西。除了这里可能有4个参考:http://msdn.microsoft.com/en-us/library/mt656776.aspx之类的
编译器警告C4992 Warbird:函数'%$ pD'标记为__forceinline未内联,因为它包含无法保护的内联汇编
没有证件。
关于%ProgramFiles%\Microsoft Visual Studio 14.0\VC\bin\c2.dll
中的一些字符串引用
Warbird Transform Function Pre-lower
Warbird Transform Function Pre-Encode
某种程度上让我猜测Warbird是一些代码混淆/保护系统,它构建在Microsoft编译器中。
在过去我第一次遇到一些神秘的微软混淆是在winlogon.exe中发现Windows XP产品激活检查时。而目前在64位Windows中存在与Kernel Patch Protection的这种扼杀,试图阻止驱动程序搞乱内核。
正在进行逆向工程......
Warbird是微软的代码保护框架,显然是在十多年前开发的。现在有一些消息来源记录它:
根据ThisIsSecurity.net的研究:
Warbird是Windows 8/2012中引入的Windows许可证验证的增强功能。前一个系统太容易拦截和伪造,所以微软决定提供一些更难以逆向工程和虚假的东西。
VBA的一些dll也参考了Warbird,例如VBEUI.dll
Warbird Code Verification Hook
Warbird Hooks
Warbird Heap Execution Hook