Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PS2EXE — وحدة لتجميع نصوص باورشيل إلى ملفات تنفيذية | Kitploit
أدوات/GitHubGitHub/mscholtes/ps2exe
توليد الحمولةالبرمجة النصية والأتمتةالأدوات والمكونات
GitHubmscholtes/ps2exe

PS2EXE

وحدة لتجميع نصوص باورشيل إلى ملفات تنفيذية

عرض المستودع
1.8k24725منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

مستودع خالٍ من الذكاء الاصطناعي - الذكاء الاصطناعي يقتل الإبداع وطبيعتنا!

PS2EXE

إصدار محسّن من النص الرائع لـ Ingo Karstein مع دعم واجهة المستخدم الرسومية. يتم تفعيل الإخراج والإدخال الرسومي بمفتاح واحد، ويتم إنشاء ملفات تنفيذية حقيقية لنظام ويندوز. يقوم بتجميع النصوص البرمجية المتوافقة مع Powershell 5.x فقط. مع واجهة أمامية رسومية اختيارية Win-PS2EXE.

إصدار الوحدة.

يمكنك العثور على الإصدار النصي هنا (https://github.com/MScholtes/TechNet-Gallery).

المؤلف: Markus Scholtes

الإصدار: 1.0.18

التاريخ: 2026-06-06

التثبيت

PS C:\> Install-Module ps2exe

أو التحميل من هنا: https://www.powershellgallery.com/packages/ps2exe/.

الاستخدام

  Invoke-ps2exe .\source.ps1 .\target.exe

أو

  ps2exe .\source.ps1 .\target.exe

يقوم بتجميع "source.ps1" في الملف التنفيذي target.exe (إذا تم حذف ".\target.exe"، يتم كتابة المخرجات إلى ".\source.exe").

أو ابدأ Win-PS2EXE لواجهة أمامية رسومية باستخدام

  Win-PS2EXE

المعاملات

ps2exe [-inputFile] '<file_name>' [[-outputFile] '<file_name>']
       [-prepareDebug] [-x86|-x64] [-lcid <id>] [-STA|-MTA] [-noConsole] [-conHost] [-UNICODEEncoding]
       [-credentialGUI] [-iconFile '<filename>'] [-$embedFiles <hashtable>] [-title '<title>'] [-description '<description>']
       [-company '<company>'] [-product '<product>'] [-copyright '<copyright>'] [-trademark '<trademark>']
       [-version '<version>'] [-configFile] [-noOutput] [-noError] [-noVisualStyles] [-exitOnCancel]
       [-DPIAware] [-requireAdmin] [-supportOS] [-virtualize] [-longPaths]
      inputFile = نص Powershell الذي تريد تحويله إلى ملف تنفيذي (يجب أن يكون الملف بترميز UTF8 أو UTF16)
     outputFile = اسم أو مجلد الملف التنفيذي الهدف، الافتراضي هو inputFile بامتداد '.exe'
   prepareDebug = إنشاء معلومات مفيدة لتصحيح الأخطاء
     x86 or x64 = التجميع لبيئة تشغيل 32 بت أو 64 بت فقط
           lcid = معرف الموقع للملف التنفيذي المُجمّع. ثقافة المستخدم الحالية إذا لم يتم تحديده
     STA or MTA = وضع 'Single Thread Apartment' أو 'Multi Thread Apartment'
      noConsole = سيكون الملف التنفيذي الناتج تطبيق نماذج ويندوز بدون نافذة وحدة تحكم
        conHost = فرض البدء مع conhost كوحدة تحكم بدلاً من Windows Terminal (يعطل إعادة التوجيه)
UNICODEEncoding = تشفير المخرجات كـ UNICODE في وضع وحدة التحكم
  credentialGUI = استخدام واجهة رسومية لمطالبة بيانات الاعتماد في وضع وحدة التحكم
       iconFile = اسم ملف الأيقونة للملف التنفيذي المُجمّع
     embedFiles = الملفات المضمنة تُعطى كـ hash، سيتم استخراجها إلى مفتاح hash، يجب أن تكون أسماء الملفات المصدر فريدة
                  (مثال: -embedFiles @{'Targetfilepath'='Sourcefilepath'} )
          title = معلومات العنوان (معروضة في علامة التبويب 'تفاصيل' في مربع حوار خصائص مستكشف ويندوز)
    description = معلومات الوصف (غير معروضة، ولكن مضمنة في الملف التنفيذي)
        company = معلومات الشركة (غير معروضة، ولكن مضمنة في الملف التنفيذي)
        product = معلومات المنتج (معروضة في علامة التبويب 'تفاصيل' في مربع حوار خصائص مستكشف ويندوز)
      copyright = معلومات حقوق النشر (معروضة في علامة التبويب 'تفاصيل' في مربع حوار خصائص مستكشف ويندوز)
      trademark = معلومات العلامة التجارية (معروضة في علامة التبويب 'تفاصيل' في مربع حوار خصائص مستكشف ويندوز)
        version = معلومات الإصدار (معروضة في علامة التبويب 'تفاصيل' في مربع حوار خصائص مستكشف ويندوز)
     configFile = كتابة ملف التكوين (<outputfile>.exe.config)
       noOutput = لن يُنتج الملف التنفيذي الناتج مخرجات قياسية (يشمل قناة verbose والمعلومات)
        noError = لن يُنتج الملف التنفيذي الناتج مخرجات أخطاء (يشمل قناة التحذير والتصحيح)
 noVisualStyles = تعطيل الأنماط المرئية لتطبيق واجهة ويندوز رسومية (فقط مع -noConsole)
   exitOnCancel = يخرج البرنامج عند تحديد 'إلغاء' أو 'X' في مربع إدخال Read-Host (فقط مع -noConsole)
       DPIAware = إذا تم تفعيل تحجيم العرض، سيتم تحجيم عناصر التحكم في الواجهة الرسومية إذا أمكن (فقط مع -noConsole)
   requireAdmin = إذا كان UAC مفعّلاً، يعمل الملف التنفيذي المُجمّع فقط في سياق مرتفع (يظهر مربع حوار UAC إذا لزم الأمر)
      supportOS = استخدام وظائف أحدث إصدارات ويندوز (نفّذ [Environment]::OSVersion لرؤية الفرق)
     virtualize = تفعيل افتراضية التطبيق (فرض بيئة تشغيل x86)
      longPaths = تمكين المسارات الطويلة (> 260 حرفاً) إذا كانت مفعّلة على نظام التشغيل (يعمل فقط مع ويندوز 10)

للملف التنفيذي المُنشأ المعاملات المحجوزة التالية:

-? [<MODIFIER>]     نص المساعدة لـ Powershell الخاص بالنص البرمجي داخل الملف التنفيذي. يمكن استخدام تركيبة المعامل الاختيارية
                    "-? -detailed" أو "-? -examples" أو "-? -full" للحصول على نص المساعدة المناسب.
-debug              يُجبر الملف التنفيذي على أن يكون في وضع التصحيح. يستدعي "System.Diagnostics.Debugger.Launch()".
-extract:<FILENAME> يستخرج النص البرمجي لـ Powershell داخل الملف التنفيذي ويحفظه كـ FILENAME.
                    لن يتم تنفيذ النص البرمجي.
-wait               في نهاية تنفيذ النص البرمجي يكتب "Hit any key to exit..." وينتظر الضغط على مفتاح.
-end                سيتم تمرير جميع الخيارات التالية إلى النص البرمجي داخل الملف التنفيذي.
                    جميع الخيارات السابقة تُستخدم من قبل الملف التنفيذي نفسه ولن يتم تمريرها إلى النص البرمجي.

ملاحظات

استخدام Powershell Core:

يمكن استخدام PS2EXE مع Powershell Core. للقيام بذلك، ما عليك سوى تثبيت الوحدة PS2EXE في Powershell Core كما هو موضح أعلاه. ولكن نظرًا لأن .Net Core لا تأتي مع مترجم، يتم استخدام مترجم .Net Framework (يتم تضمين .Net Framework و Powershell 5.1 في ويندوز).

لهذا السبب، يمكن لـ PS2EXE فقط تجميع النصوص البرمجية المتوافقة مع Powershell 5.1 وينتج ملفات ثنائية .Net 4.x، ولكن لا يزال من الممكن استخدامها مباشرة على أي نظام تشغيل ويندوز مدعوم بدون تبعيات.

تضمين الملفات في الملفات التنفيذية المُجمّعة:

باستخدام المعامل -embedFiles متبوعًا بجدول تجزئة مع مسارات للملفات، سيتم تضمين تلك الملفات في الملف التنفيذي المُجمّع. عند بدء تشغيل الملف التنفيذي، ستتم كتابة تلك الملفات على القرص إلى المسارات المحددة، مثال: -embedFiles @{'Targetfilepath1'='Sourcefilepath1';'Targetfilepath2'='Sourcefilepath2'}. يجب أن تكون أسماء الملفات المصدر فريدة. المسارات المطلقة والنسبية مسموحة. بالنسبة للمسارات الهدف، المسار النسبي الذي يبدأ بـ '.\' يُفسر على أنه نسبي للملف التنفيذي، وبدون '.\' البادئة على أنه نسبي للمسار الحالي في وقت التشغيل. يتم إنشاء الدلائل تلقائيًا عند بدء التشغيل إذا لزم الأمر. في المسار الهدف، يتم توسيع متغيرات البيئة بتدوين cmd.exe مثل %TEMP% أو %APPDATA% في وقت التشغيل. سيؤدي الفشل في إنشاء أحد الملفات المضمنة إلى إيقاف تنفيذ الملف التنفيذي المُجمّع فورًا.

قائمة cmdlets غير المنفذة:

كان لا بد من إعادة كتابة أوامر الإدخال/الإخراج الأساسية بلغة C# لـ PS2EXE. غير المنفذة هي Write-Progress في وضع وحدة التحكم (عمل كثير) و Start-Transcript/Stop-Transcript (لا توجد تطبيق مرجعي مناسب من مايكروسوفت).

تنسيق المخرجات في وضع الواجهة الرسومية:

افتراضيًا، في Powershell، يتم تنسيق مخرجات cmdlets سطرًا بسطر (كمصفوفة من السلاسل). عندما يُنتج أمرك 10 أسطر من المخرجات وتستخدم مخرجات واجهة رسومية، ستظهر 10 مربعات رسائل كل منها في انتظار تأكيد. لمنع ذلك، قم بتوجيه الأمر الخاص بك إلى cmdlet Out-String. سيؤدي هذا إلى تحويل المخرجات إلى مصفوفة سلسلة واحدة تحتوي على 10 أسطر، وسيتم عرض جميع المخرجات في مربع رسالة واحد (مثال: dir C:\ | Out-String).

ملفات التكوين:

يمكن لـ PS2EXE إنشاء ملفات تكوين باسم الملف التنفيذي المُنشأ + ".config". في معظم الحالات، هذه الملفات التكوينية ليست ضرورية، فهي بيان يخبر بإصدار .Net Framework الذي يجب استخدامه. نظرًا لأنك ستستخدم عادةً .Net Framework الحالي، حاول تشغيل ملفك التنفيذي بدون ملف التكوين.

معالجة المعاملات:

تقوم النصوص البرمجية المُجمّعة بمعالجة المعاملات بنفس الطريقة التي يفعلها النص البرمجي الأصلي. هناك قيد واحد يأتي من بيئة ويندوز: بالنسبة لجميع الملفات التنفيذية، جميع المعاملات لها النوع STRING، إذا لم يكن هناك تحويل ضمني لنوع المعامل الخاص بك، يجب عليك التحويل صراحةً في النص البرمجي الخاص بك. يمكنك حتى توجيه المحتوى إلى الملف التنفيذي بنفس القيد (جميع القيم المُوجّهة لها النوع STRING).

تنزيل الأداة