
Huan هي أداة توليد محمل PE مشفر قمت بتطويرها لتعلم بنية ملفات PE وعمليات تحميلها. تقوم بتشفير ملف PE المراد تشغيله باستخدام مفاتيح مختلفة في كل مرة وتضمينه في قسم جديد من الملف الثنائي للمحمل. تعمل حاليًا على ملفات PE ذات بنية 64 بت.
أولاً، يقرأ Huan ملف PE المحدد ويقوم بتشفيره باستخدام خوارزمية تشفير AES-128 في وضع CBC. للتشفير، استخدمت Tiny AES in C وأعددت كود حشو لتلبية متطلبات هذه المكتبة. عند اكتمال التشفير، يقوم بتجميع المحمل باستخدام مترجم Visual Studio (MsBuild.exe) وينشئ ملفًا قابلًا للتنفيذ. بعد ذلك، ينشئ قسمًا (يسمى .huan) على هذا الملف القابل للتنفيذ، ويُضمّن المحتوى المشفر، ومعلومات الحجم، والمتجه الابتدائي (IV)، والمفتاح المتناظر. يتم إنشاء كلا المفتاحين بشكل عشوائي لكل نسخة من المحمل. يمكن رؤية تخطيط هذا القسم أدناه.
عند تنفيذ المحمل، يقوم أولاً بأخذ قاعدة الصورة لنفسه عن طريق قراءة كتلة بيئة العملية. بعد معرفة قاعدة الصورة، يقوم بتحليل النسخة المحملة من نفسه للعثور على قسم .huan. ثم يقوم بفك تشفير المحتوى بالكامل، وتخزينه مؤقتًا، وتحميل الملف الثنائي الذي يعتمد على الذاكرة.
للاستخدام في الاختبارات الأمنية المصرح بها فقط. إساءة استخدام هذه الأداة ضد أنظمة دون إذن صريح غير قانوني.