نظرة عامة موجزة على تعبئة الطيور الحربية في برنامج التحويل البرمجي MSVC
Warbird هو إطار عمل يستخدمه Microsoft في تقنية DRM الخاصة بهم. وهو يدعم أشكالًا متعددة من التشويش بما في ذلك تعبئة التعليمات البرمجية والتشويش الافتراضي للآلة. يتم استخدامه لحماية المكونات الهامة مثل PatchGuard و Recizing معلومات من المهندسين العكسيين.
يتم عرض وظائف Warbird أيضًا من خلال استدعاء نظام NtQuerySystemInformation عند توفيره مع فئة المعلومات SystemControlFlowTransition (185). إنه يرسل إلى WbDispatchOperation حيث يدعم الوظيفة لفك تشفير وتنفيذ حمولة تشفير Feistel الموقعة على الكومة. يمكن العثور على مزيد من المعلومات المتعلقة به في حديث أليكس أيونيسكو. قدمت الأبحاث الأخرى نظرة ثاقبة في استخدامها لحماية صور ترخيص العميل وتكامل الكود.
نظرًا لاستخدامها السائد من قبل Microsoft ، يجب أن يكون المرء فضوليًا بما يكفي للتحقيق فيما إذا كانت أي مراجع موجودة في مترجم MSVC. يمكن اكتشاف مراجع السلسلة في الصور المترجمة الخلفية ( c2.dll ) وصور Linker ( link.exe ).
في ProcessLinkerSwitches ، هناك العديد من أعلام الارتباطات المتعلقة بـ Warbird المستخدمة داخليًا:
/wbrdcfg/wbrddll/wbrdlog/wbrdreporterrors/wbrdschema/wbrdsummary/wbrdtestencrypt إذا تم تزويد أعلام رابط Configuration و DLL Warbird أثناء عملية بناء القابلة للتنفيذ ، فسوف تتصل بـ Warbird::CWarbirdServer::CreateObfuscator2 . سيقوم الروتين بتحميل DLL المقدم بواسطة العلامة واتصل وظيفة مصدرة باسم CreateObfuscator2 مع وسيطات علامة الرابط ونوع الجهاز وقاعدة Opfuscator.
تكشف أسماء وظائف Warbird الأخرى أن هناك تحويلات رمز مماثلة لتلك المذكورة سابقًا.
void __fastcall Enclave::CObfuscationEnclave::Initialize (Enclave::CObfuscationEnclave * this )
{
if ( ( int ) Enclave::CEnclave::AddRuntimeSymbol ((__int64) this , (__int64) " NtQuerySystemInformation " , 0 , 2 ) >= 0
&& ( int ) Enclave::CEnclave::AddRuntimeSymbol ((__int64) this , (__int64) " WarbirdRuntime::EnclaveWrapper " , 1 , 1 ) >= 0 )
{
Enclave::CEnclave::AddRuntimeSymbol ((__int64) this , (__int64) " WarbirdRuntime::g_ulSubSystemCallID " , 2 , 3 );
}
}cl / Zi .examplemain.cpp / link / wbrddll:warbird - obfuscate.dll / wbrdcfg:wbrd.cfgcl.exe: aa9374078fcdce84bca034fd1bb395fdd3825614656e898017435ced17ff1061link.exe: 849e7bd1f234957b5e9be65f94a864e45ea4e05fea598b2164523b398603f61514.28.29336.0