
مكتبة لإنشاء وقراءة وتحرير ملفات PE ووحدات .NET.
AsmResolver هي مكتبة لقراءة وتعديل وإعادة بناء ملفات Portable Executable (PE). وهي تدعم صور PE التي تعمل أصلاً على Windows، بالإضافة إلى الصور التي تحتوي على بيانات وصفية مُدارة (.NET).
صدر AsmResolver بموجب رخصة MIT.
يحتوي AsmResolver على الكثير من الميزات. فيما يلي قائمة غير شاملة بأبرزها:
System.Reflection.
البنى المستقرة:
البنى الليلية:
يمكن بناء الحل باستخدام .NET SDK أو بيئة تطوير متكاملة (IDE) تعمل معه (مثل Visual Studio و JetBrains Rider). تستهدف الحزم الرئيسية إصدارات LTS من مختلف بيئات تشغيل .NET (.NET Framework 3.5، .NET Standard 2.0، .NET Standard 2.1، .NET Core 3.1، .NET 6.0، .NET 8.0، .NET 9.0، .NET 10.0).
لبناء المشروع من سطر الأوامر، استخدم:
$ dotnet build
لتشغيل جميع الاختبارات، استخدم:
$ dotnet test
لتشغيل الاختبارات بنجاح، ستحتاج إلى تثبيت إصدارات إضافية من بيئة تشغيل .NET (بما في ذلك إصدارات STS أو الإصدارات المُعلَن أنها وصلت إلى نهاية الدعم (EOL))، حيث تتحقق اختبارات الوحدة من قراءة ثنائيات تستهدف بيئات تشغيل .NET مختلفة.
لتشغيل الاختبارات بنجاح على MacOS و Linux، يُتوقع أيضاً تثبيت mono و wine.
بدأ AsmResolver كمشروع هواية لكنه نما ليصبح مشروعاً مجتمعياً يضم مساهمين مختلفين. لولا هؤلاء الأشخاص، لما وصل AsmResolver إلى ما هو عليه اليوم!
شكر خاص لجميع الأشخاص الذين ساهموا مباشرة بترميزات برمجية أو مالياً عبر رعاة GitHub.
شكر خاص للأشخاص في @MonoMod لمساعدتهم في تحقيق التوافق مع .NET Framework 3.5.
وشكر كبير آخر لجميع الأشخاص الذين اقترحوا ميزات جديدة، وقدموا ملاحظات حول تصميم API، وأجروا اختبارات مكثفة، و/أو أبلغوا عن أخطاء على لوحة المشكلات، عبر البريد الإلكتروني، أو من خلال الرسائل الخاصة.
إذا شعرت أنك لم تحصل على التقدير الكافي في هذه الإشادات، فلا تتردد في التواصل معنا.