Peverify.exe (أداة PEVerify)
تقوم الأداة PEVerify بمساعدة المطورون الذين قاموا بإنشاء Microsoft intermediate language (MSIL) (مثل الكتاب المترجم و مطورين مشغل البرنامج النصي و هكذا) لتحديد ما إذا إلتقت التعليمات البرمجية MSIL و بيانات التعريف المقترنة مع متطلبات تأمين النوع, و يقوم بعض المترجمون بإنشاء تعليمات برمجية لآمان النوع القابل للتحقق منه فقط إذا تجنبت استخدام ثوابت لغة معينة, و في حالة استخدام المطور محول برمجي من هذا النوع فإنه قد يحتاج للتحقق من عدم وجود اختراق لتأمين النوع للتعليمات البرمجية الخاصة به, ففي هذه الحالة، يمكنه تشغيل الأداة PEVerify على الملفات للتحقق من MSIL و بيانات التعريف.
يتم تلقائياً تثبيت الأداة PEVerify مع Visual Studio, و لتشغيل الأداة استخدم موجه أوامر Visual Studio.. في موجه الأوامر، اكتب ما يلي:
peverify filename [options]
المعلمات
الوسيطة |
الوصف |
---|---|
filename |
الملف المحمول القابل للتنفيذ (PE) للتحقق في MSIL و بيانات التعريف. |
الخيار |
الوصف |
---|---|
/break=maxErrorCount |
إحباط التحقق من بعد أخطاء maxErrorCount. هذه المعلمة غير معتمدة في الإصدار 2.0 أو الإصدارات الأحدث من برنامج .NET Framework. |
/clock |
يقيس و يعد تقارير بالميلي ثانية حول أوقات التحقق التالية:
الأوقات دورة MD Val. و دورة IL Ver. تتضمن الوقت المطلوب لتنفيذ الإجراءات الضرورية لبدء التشغيل و الإيقاف, و الأوقات MD Val. خالص و إصدار IL خالص تعكس الوقت المطلوب لتنفيذ التحقق من الصحة أو التحقق فقط. |
/help |
يقوم بعرض بناء جملة الأمر والخيارات للأداة. |
/hresult |
يقوم بعرض رموز الخطأ بالتنسيق الست عشري. |
/ignore=hex.code [, hex.code] |
يتجاهل رموز الخطأ المحددة. |
/ignore=@responseFile |
يتجاهل رموز الخطأ المسرودة في ملف الاستجابة المحدد. |
/il |
ينفذ التحقق من تأمين النوع MSIL للتحقق من الأساليب المطبقة في التجميع المحدد بواسطة اسم الملف, و تقوم الاداة بإعادة الوصف المفصل حول كل مشكلة تم العثور عليها ما لم تحدد الخيار /quiet. |
/md |
ينفذ التحقق من صحة بيانات التعريف للتحقق من التجميع المحدد بواسطة اسم الملف, و هذا يدخل بنية بيانات التعريف الكاملة في الملف و يعد تقارير لجميع مشاكل التحقق. |
/nologo |
يمنع عرض معلومات الإصدار وحقوق النشر حول المنتجات. |
/nosymbols |
في .NET Framework version 2.0, يمنع أرقام الأسطر للتوافق في الخلفية. |
/quiet |
تحديد الوضع الهادئ; يمنع إخراج التقارير الخاصة بمشكلة التحقق, و لا يزال Peverify.exe يعد تقارير ما إذا كان الملف من النوع الآمن و لكن لا يصدر معلومات حول المشكلات التي تمنع التحقق من تأمين النوع. |
/transparent |
التحقق من الأساليب الشفافة فقط. |
/unique |
يتجاهل تكرار رموز الخطأ. |
/verbose |
يعرض معلومات إضافية في رسائل التحقق من MSIL في .NET Framework لإصدار 2.0. |
/? |
يقوم بعرض بناء جملة الأمر والخيارات للأداة. |
ملاحظات
يعتمد وقت تشغيل اللغة العامة على تنفيذ أمان النوع للتعليمات الربمجية للتطبيق للمساعدة في فرض آليات الأمان و العزل, فعادةً، لا يمكن تشغيل التعليمات البرمجية التي ليست أمان النوع القابل للتحقق على الرغم من أنه يمكنك تعيين نهج الأمان للسماح بتنفيذ التعليمات البرمجية موثوق بها و لكن غير قابلة للتحقق منها.
إذا لم يتم تحديد الخيارات /md أو /il فإن Peverify.exe ينفذ كلا النوعين من الاختبارات, ينفذ Peverify.exe التحقق من /md أولاً, و إذا لم يوجد أخطاء فإن إجراء اختبارات على /il قد تم, و إذا قمت بتحديد كلا /md و /il فإن إجراء اختبارات على /il قد تم على الرغم من وجود أخطاء في بيانات التعريف, و بالتالي، إذا لم يكن هناك أخطاء في بيانات التعريف فإن peverifyاسم الملف يكافئ peverify filename /md /il.
يقوم Peverify.exe بتنفيذ عمليات التحقق الكاملة لـ MSIL استناداً إلى تحليل تدفق البيانات بالإضافة إلى قائمة بمئات القواعد على بيانات التعريف الصالحة, و لمزيد من المعلومات حول تنفيذ عمليات التحقق لـ Peverify.exe, راجع "مواصفات التحقق من صحة بيانات تعريف" و "تعليمة MSIL لتعيين المواصفات" في أدوات مجلد مطورين الدليل في عدة تطوير برامج Windows (SDK).
علماً بأن برنامج .NET Framework لإصدار 2.0 أو الإصدار الأحدث يدعم إمكانية التحقق من byref للإرجاع المحدد باستخدام إرشادات MSIL التالية: dup و ldsflda و ldflda و ldelema و call و unbox.
أمثلة
يقوم الأمر التالي بتنفيذ عمليات التحقق من بيانات التعريف و تأمين النوع لـ MSIL للأساليب المطبقة في التجميع myAssembly.exe,
peverify myAssembly.exe /md /il
عند الإتمام بنجاح للطلب الوارد أعلاه, يقوم Peverify.exe بعرض الرسالة التالية.
All classes and methods in myAssembly.exe Verified
يقوم الأمر التالي بتنفيذ عمليات التحقق من بيانات التعريف و تأمين النوع لـ MSIL للأساليب المطبقة في التجميع myAssembly.exe, و تقوم الأداة بعرض الوقت المطلوب لتنفيذ هذه الاختبارات.
peverify myAssembly.exe /md /il /clock
عند الإتمام بنجاح للطلب الوارد أعلاه, يقوم Peverify.exe بعرض الرسالة التالية.
All classes and methods in myAssembly.exe Verified
Timing: Total run 320 msec
MD Val.cycle 40 msec
MD Val.pure 10 msec
IL Ver.cycle 270 msec
IL Ver.pure 230 msec
يقوم الأمر التالي بتنفيذ عمليات التحقق من بيانات التعريف و تأمين النوع لـ MSIL للأساليب المطبقة في التجميع myAssembly.exe, و توقف Peverify.exe عندما يصل عدد الأخطاء كحد أقصى من 100, و تقوم الأداة أيضاً بتجاهل رموز الأخطاء المحددة.
peverify myAssembly.exe /break=100 /ignore=0x12345678,0xABCD1234
الأمر التالي يعطي نفس النتيجة مثل المثال السابق أعلاه و لكن يعيّن رموز الخطأ لتجاهل ملف الاستجابة ignoreErrors.rsp.
peverify myAssembly.exe /break=100 /ignore@ignoreErrors.rsp
يمكن أن يحتوي ملف الاستجابة على قائمة مفصولة بفواصل لرموز الخطأ.
0x12345678, 0xABCD1234
بدلاً من ذلك، يمكن أن يتم تنسيق ملف الاستجابة مع رمز خطأ واحد لكل خط.
0x12345678
0xABCD1234