Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PS2EXE — पावरशेल स्क्रिप्ट्स को एक्जीक्यूटेबल्स में संकलित करने का मॉड्यूल | Kitploit
उपकरण/GitHubGitHub/mscholtes/ps2exe
पेलोड जनरेशनस्क्रिप्टिंग और स्वचालनउपयोगिताएँ और फ्रेमवर्क
GitHubmscholtes/ps2exe

PS2EXE

पावरशेल स्क्रिप्ट्स को एक्जीक्यूटेबल्स में संकलित करने का मॉड्यूल

रिपॉजिटरी देखें
1.8k24763 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

AI मुक्त भंडार - कृत्रिम बुद्धिमत्ता रचनात्मकता और हमारी प्रकृति को खत्म कर रही है!

PS2EXE

Ingo Karstein के महान स्क्रिप्ट का अतिरिक्त कार्य, GUI समर्थन के साथ। GUI आउटपुट और इनपुट एक स्विच से सक्रिय होते हैं, वास्तविक विंडोज़ निष्पादन योग्य बनाए जाते हैं। केवल Powershell 5.x संगत स्क्रिप्ट को संकलित करता है। वैकल्पिक ग्राफिकल फ्रंट एंड Win-PS2EXE के साथ।

मॉड्यूल संस्करण।

आप स्क्रिप्ट आधारित संस्करण यहाँ पा सकते हैं (https://github.com/MScholtes/TechNet-Gallery)।

लेखक: Markus Scholtes

संस्करण: 1.0.18

दिनांक: 2026-06-06

स्थापना

root@kitploit:~
PS C:\> Install-Module ps2exe

या यहाँ से डाउनलोड करें: https://www.powershellgallery.com/packages/ps2exe/।

उपयोग

root@kitploit:~
  Invoke-ps2exe .\source.ps1 .\target.exe

या

root@kitploit:~
  ps2exe .\source.ps1 .\target.exe

"source.ps1" को निष्पादन योग्य target.exe में संकलित करता है (यदि ".\target.exe" छोड़ दिया जाता है, तो आउटपुट ".\source.exe" में लिखा जाता है)।

या ग्राफिकल फ्रंट एंड के लिए Win-PS2EXE को इसके साथ प्रारंभ करें:

root@kitploit:~
  Win-PS2EXE

पैरामीटर

root@kitploit:~
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]
root@kitploit:~
      inputFile = Powershell स्क्रिप्ट जिसे आप निष्पादन योग्य में बदलना चाहते हैं (फ़ाइल UTF8 या UTF16 एन्कोडेड होनी चाहिए)
     outputFile = गंतव्य निष्पादन योग्य फ़ाइल नाम या फ़ोल्डर, डिफ़ॉल्ट inputFile है जिसका एक्सटेंशन '.exe' होता है
   prepareDebug = डीबगिंग के लिए सहायक जानकारी बनाएँ
     x86 या x64 = केवल 32-बिट या 64-बिट रनटाइम के लिए संकलित करें
           lcid = संकलित निष्पादन योग्य के लिए स्थान आईडी। यदि निर्दिष्ट नहीं है तो वर्तमान उपयोगकर्ता संस्कृति का उपयोग करें
     STA या MTA = 'सिंगल थ्रेड अपार्टमेंट' या 'मल्टी थ्रेड अपार्टमेंट' मोड
      noConsole = परिणामी निष्पादन योग्य कंसोल विंडो के बिना एक विंडोज फॉर्म्स ऐप होगा
        conHost = विंडोज टर्मिनल के बजाय कंसोल के रूप में कॉनहोस्ट के साथ प्रारंभ करने के लिए बाध्य करें (रीडायरेक्शन अक्षम करता है)
UNICODEEncoding = कंसोल मोड में आउटपुट को UNICODE के रूप में एन्कोड करें
  credentialGUI = कंसोल मोड में क्रेडेंशियल संकेत देने के लिए GUI का उपयोग करें
       iconFile = संकलित निष्पादन योग्य के लिए आइकन फ़ाइल नाम
     embedFiles = एम्बेड करने के लिए फ़ाइलें हैश के रूप में दी जाती हैं, हैश की कुंजी में निकाली जाएंगी, स्रोत फ़ाइल नाम अद्वितीय होने चाहिए
                  (जैसे -embedFiles @{'Targetfilepath'='Sourcefilepath'} )
          title = शीर्षक जानकारी (विंडोज एक्सप्लोरर के गुण संवाद के विवरण टैब में प्रदर्शित)
    description = विवरण जानकारी (प्रदर्शित नहीं, लेकिन निष्पादन योग्य में एम्बेडेड)
        company = कंपनी जानकारी (प्रदर्शित नहीं, लेकिन निष्पादन योग्य में एम्बेडेड)
        product = उत्पाद जानकारी (विंडोज एक्सप्लोरर के गुण संवाद के विवरण टैब में प्रदर्शित)
      copyright = कॉपीराइट जानकारी (विंडोज एक्सप्लोरर के गुण संवाद के विवरण टैब में प्रदर्शित)
      trademark = ट्रेडमार्क जानकारी (विंडोज एक्सप्लोरर के गुण संवाद के विवरण टैब में प्रदर्शित)
        version = संस्करण जानकारी (विंडोज एक्सप्लोरर के गुण संवाद के विवरण टैब में प्रदर्शित)
     configFile = कॉन्फ़िग फ़ाइल लिखें (<outputfile>.exe.config)
       noOutput = परिणामी निष्पादन योग्य कोई मानक आउटपुट उत्पन्न नहीं करेगा (वर्बोज़ और सूचना चैनल शामिल हैं)
        noError = परिणामी निष्पादन योग्य कोई त्रुटि आउटपुट उत्पन्न नहीं करेगा (चेतावनी और डीबग चैनल शामिल हैं)
 noVisualStyles = उत्पन्न विंडोज GUI एप्लिकेशन के लिए विज़ुअल स्टाइल अक्षम करें (केवल -noConsole के साथ)
   exitOnCancel = जब Read-Host इनपुट बॉक्स में रद्द करें या "X" चुना जाता है तो प्रोग्राम से बाहर निकलें (केवल -noConsole के साथ)
       DPIAware = यदि डिस्प्ले स्केलिंग सक्रिय है, तो GUI नियंत्रण यदि संभव हो तो स्केल किए जाएंगे (केवल -noConsole के साथ)
   requireAdmin = यदि UAC सक्षम है, तो संकलित निष्पादन योग्य केवल उन्नत संदर्भ में चलेगा (यदि आवश्यक हो तो UAC संवाद प्रकट होता है)
      supportOS = नवीनतम विंडोज संस्करणों के कार्यों का उपयोग करें (अंतर देखने के लिए [Environment]::OSVersion निष्पादित करें)
     virtualize = एप्लिकेशन वर्चुअलाइजेशन सक्रिय है (x86 रनटाइम को बाध्य करता है)
      longPaths = यदि OS पर सक्षम है तो लंबे पथ (> 260 वर्ण) सक्षम करें (केवल विंडोज 10 के साथ काम करता है)

एक उत्पन्न निष्पादन योग्य में निम्नलिखित आरक्षित पैरामीटर होते हैं:

root@kitploit:~
-? [<MODIFIER>]     निष्पादन योग्य के अंदर स्क्रिप्ट का Powershell सहायता पाठ। वैकल्पिक पैरामीटर संयोजन
                    "-? -detailed", "-? -examples" या "-? -full" का उपयोग उपयुक्त सहायता पाठ प्राप्त करने के लिए किया जा सकता है।
-debug              निष्पादन योग्य को डीबग करने के लिए बाध्य करता है। यह "System.Diagnostics.Debugger.Launch()" को कॉल करता है।
-extract:<FILENAME> निष्पादन योग्य के अंदर पावरशेल स्क्रिप्ट निकालता है और इसे FILENAME के रूप में सहेजता है।
                    स्क्रिप्ट निष्पादित नहीं की जाएगी।
-wait               स्क्रिप्ट निष्पादन के अंत में यह "Hit any key to exit..." लिखता है और कोई कुंजी दबाने की प्रतीक्षा करता है।
-end                निम्नलिखित सभी विकल्प निष्पादन योग्य के अंदर स्क्रिप्ट को पास किए जाएंगे।
                    पिछले सभी विकल्प निष्पादन योग्य द्वारा स्वयं उपयोग किए जाते हैं और स्क्रिप्ट को पास नहीं किए जाएंगे।

टिप्पणियाँ

पावरशेल कोर का उपयोग:

PS2EXE का उपयोग पावरशेल कोर के साथ किया जा सकता है। ऐसा करने के लिए बस ऊपर बताए अनुसार पावरशेल कोर में मॉड्यूल PS2EXE स्थापित करें। लेकिन चूंकि .Net Core कंपाइलर के साथ नहीं आता है, इसलिए .Net Framework के कंपाइलर का उपयोग किया जाता है (.Net Framework और Powershell 5.1 विंडोज में शामिल हैं)।

इस कारण PS2EXE केवल Powershell 5.1 संगत स्क्रिप्ट को संकलित कर सकता है और .Net 4.x बाइनरी उत्पन्न करता है, लेकिन फिर भी बिना किसी निर्भरता के प्रत्येक समर्थित विंडोज OS पर सीधे उपयोग किया जा सकता है।

संकलित निष्पादन योग्य में फ़ाइलें एम्बेड करना:

पैरामीटर -embedFiles और उसके बाद फ़ाइलों के पथों के साथ एक हैश तालिका का उपयोग करके उन फ़ाइलों को संकलित निष्पादन योग्य में एम्बेड किया जाएगा। निष्पादन योग्य के स्टार्टअप पर वे फ़ाइलें निर्दिष्ट पथों पर डिस्क पर लिखी जाएंगी, जैसे -embedFiles @{'Targetfilepath1'='Sourcefilepath1';'Targetfilepath2'='Sourcefilepath2'}। स्रोत फ़ाइल नाम अद्वितीय होने चाहिए। निरपेक्ष और सापेक्ष पथों की अनुमति है। लक्ष्य पथों के लिए '.\' से शुरू होने वाले सापेक्ष पथ को निष्पादन योग्य के सापेक्ष माना जाता है, अग्रणी '.\' के बिना रनटाइम पर वर्तमान पथ के सापेक्ष माना जाता है। स्टार्टअप पर यदि आवश्यक हो तो निर्देशिकाएं स्वचालित रूप से बनाई जाती हैं। लक्ष्य पथ में cmd.exe संकेतन में पर्यावरण चर जैसे %TEMP% या %APPDATA% का रनटाइम पर विस्तार किया जाता है। एम्बेडेड फ़ाइलों में से एक बनाने में विफलता संकलित निष्पादन योग्य के निष्पादन को तुरंत रोक देगी।

कार्यान्वित नहीं किए गए cmdlets की सूची:

PS2EXE के लिए मूल इनपुट/आउटपुट कमांड को C# में फिर से लिखना पड़ा। कंसोल मोड में Write-Progress (बहुत अधिक काम) और Start-Transcript/Stop-Transcript (Microsoft द्वारा कोई उचित संदर्भ कार्यान्वयन नहीं) लागू नहीं किए गए हैं।

GUI मोड आउटपुट फ़ॉर्मेटिंग:

डिफ़ॉल्ट रूप से पावरशेल में कमांडलेट के आउटपुट को लाइन दर लाइन (स्ट्रिंग्स की एक सरणी के रूप में) स्वरूपित किया जाता है। जब आपका कमांड 10 लाइनों का आउटपुट उत्पन्न करता है और आप GUI आउटपुट का उपयोग करते हैं, तो 10 संदेश बॉक्स दिखाई देंगे, प्रत्येक एक OK की प्रतीक्षा करेगा। इसे रोकने के लिए अपने कमांड को कमांडलेट Out-String में पाइप करें। यह आउटपुट को 10 लाइनों वाली एक स्ट्रिंग सरणी में परिवर्तित करेगा, सभी आउटपुट एक संदेश बॉक्स में दिखाए जाएंगे (उदाहरण के लिए: dir C:\ | Out-String)।

कॉन्फ़िग फ़ाइलें:

PS2EXE उत्पन्न निष्पादन योग्य के नाम + ".config" के साथ कॉन्फ़िग फ़ाइलें बना सकता है। अधिकांश मामलों में ये कॉन्फ़िग फ़ाइलें आवश्यक नहीं हैं, वे एक मेनिफेस्ट हैं जो बताता है कि .Net Framework के किस संस्करण का उपयोग किया जाना चाहिए। चूंकि आप आमतौर पर वास्तविक .Net Framework का उपयोग करेंगे, अपने निष्पादन योग्य को कॉन्फ़िग फ़ाइल के बिना चलाने का प्रयास करें।

पैरामीटर प्रसंस्करण:

संकलित स्क्रिप्ट मूल स्क्रिप्ट की तरह ही पैरामीटर संसाधित करती हैं। एक सीमा विंडोज वातावरण से आती है: सभी निष्पादन योग्य के लिए सभी पैरामीटर STRING प्रकार के होते हैं, यदि आपके पैरामीटर प्रकार के लिए कोई अंतर्निहित रूपांतरण नहीं है तो आपको अपनी स्क्रिप्ट में स्पष्ट रूप से रूपांतरण करना होगा। आप उसी सीमा के साथ निष्पादन योग्य के लिए सामग्री को पाइप भी कर सकते हैं (सभी पाइप किए गए मान STRING प्रकार के होते हैं)।

पासवर्ड सुरक्षा:

अपनी संकलित स्क्रिप्ट में कभी भी पासवर्ड संग्रहीत न करें! कोई भी -extract पैरामीटर के साथ स्क्रिप्ट को आसानी से डीकंपाइल कर सकता है। उदाहरण के लिए

root@kitploit:~
Output.exe -extract:C:\Output.ps1

Output.exe में संग्रहीत स्क्रिप्ट को डीकंपाइल करेगा। और ध्यान दें: स्क्रिप्ट (जानबूझकर) निष्पादन योग्य में स्पष्ट पाठ में संग्रहीत है!

स्क्रिप्ट चर:

चूंकि PS2EXE एक स्क्रिप्ट को निष्पादन योग्य में परिवर्तित करता है, स्क्रिप्ट संबंधित चर अब उपलब्ध नहीं हैं। चर $MyInvocation एक स्क्रिप्ट की तुलना में अन्य मानों पर सेट है।

विशेष रूप से चर $PSScriptRoot खाली है - आप इसके प्रतिस्थापन के रूप में $ScriptRoot का उपयोग कर सकते हैं।

आप निम्न कोड लाइन के साथ संकलित/असंकलित से स्वतंत्र रूप से $PSScriptRoot प्राप्त कर सकते हैं:

root@kitploit:~
if (!$PSScriptRoot) { $PSScriptRoot = $ScriptRoot }

-noConsole मोड में पृष्ठभूमि में विंडो:

जब -noConsole मोड में किसी स्क्रिप्ट में एक बाहरी विंडो खोली जाती है (यानी Get-Credential के लिए या उस कमांड के लिए जिसे cmd.exe शेल की आवश्यकता होती है) तो अगली विंडो पृष्ठभूमि में खोली जाती है।

इसका कारण यह है कि बाहरी विंडो बंद करने पर विंडोज मूल विंडो को सक्रिय करने का प्रयास करता है। चूंकि संकलित स्क्रिप्ट में कोई विंडो नहीं है, इसलिए संकलित स्क्रिप्ट की मूल विंडो सक्रिय हो जाती है, आमतौर पर एक्सप्लोरर या पावरशेल की विंडो।

इसे हल करने के लिए, $Host.UI.RawUI.FlushInputBuffer() एक अदृश्य विंडो खोलता है जिसे सक्रिय किया जा सकता है। $Host.UI.RawUI.FlushInputBuffer() का अगला कॉल इस विंडो को बंद करता है (और इसी प्रकार)।

निम्न उदाहरण अब पृष्ठभूमि में एक विंडो नहीं खोलेगा जैसा कि "ipconfig | Out-String" का एक एकल कॉल करेगा:

root@kitploit:~
$Host.UI.RawUI.FlushInputBuffer()
ipconfig | Out-String
$Host.UI.RawUI.FlushInputBuffer()

परिवर्तन:

1.0.18 - 2026-06-06

  • $PSScriptRoot के प्रतिस्थापन के रूप में पूर्वनिर्धारित चर $ScriptRoot
  • Win-PS2EXE का नया संस्करण

1.0.17 / 2025-08-21

  • संकलित निष्पादन योग्य में फ़ाइलों को एम्बेड करने के लिए नया पैरामीटर -embedFiles

1.0.16 / 2025-07-20

  • विंडोज टर्मिनल के बजाय कॉनहोस्ट में संकलित निष्पादन योग्य को प्रारंभ करने के लिए बाध्य करने के लिए नया पैरामीटर -conHost

1.0.15 / 2025-01-05

  • यदि केवल पावरशेल कोर में उपयोग किया जाता है तो मॉड्यूल को पावरशेल 5.1 में भी स्थापित करने की आवश्यकता नहीं है

1.0.14 / 2024-09-15

  • मूल पावरशेल स्क्रिप्ट की सहायता दिखाने के लिए संकलित निष्पादन योग्य के लिए नया पैरामीटर -?
  • GUI मोड में विंडो शीर्षक एप्लिकेशन शीर्षक हैं (जब -title पैरामीटर के साथ संकलित किया जाता है)

1.0.13 / 2023-09-26

  • अब स्क्रिप्ट की निर्देशिका नाम में [ और ] समर्थित हैं
  • स्रोत फ़ाइल 16 MB से बड़ी हो सकती है (जिसे भी इसकी आवश्यकता हो)
  • Win-PS2EXE में नया अतिरिक्त पैरामीटर टेक्स्ट फ़ील्ड

1.0.12 / 2022-11-22

  • noConsole मोड में WinForms के लिए स्केलिंग का समर्थन करने के लिए नया पैरामीटर -winFormsDPIAware (केवल विंडोज 10 या उससे ऊपर)

1.0.11 / 2021-11-21

  • 24 वर्णों से अधिक लंबे पासवर्ड त्रुटि को ठीक किया गया
  • noConsole मोड में स्केलिंग का समर्थन करने के लिए नया पैरामीटर -DPIAware
  • इनपुट बॉक्स में रद्द करने पर प्रोग्राम निष्पादन रोकने के लिए नया पैरामीटर -exitOnCancel (केवल noConsole मोड में)

1.0.10 / 2021-04-10

  • पैरामीटर outputFile अब एक गंतव्य फ़ोल्डर स्वीकार करता है (फ़ाइल नाम के बिना)

1.0.9 / 2021-02-28

  • आउटपुट को UNICODE के रूप में करने के लिए नया पैरामीटर UNICODEEncoding
  • पैरामीटर debug को prepareDebug में बदल दिया गया
  • अंततः उन्नत पैरामीटर का उपयोग करने का साहस किया

1.0.8 / 2020-10-24

  • पुनर्रचित

1.0.7 / 2020-08-21

  • एक पाइपलाइन में एक साथ प्रगति पट्टियों के लिए बग फिक्स

1.0.6 / 2020-08-10

  • पसंद के लिए संकेत अब पावरशेल की तरह व्यवहार करता है (केवल कंसोल मोड)
  • पावरशेल कोर के लिए (सीमित) समर्थन (पृष्ठभूमि में विंडोज पावरशेल प्रारंभ करता है)
  • नकारात्मक पैरामीटर मानों के प्रसंस्करण को ठीक किया गया
  • एनिमेटेड प्रगति पट्टियों के लिए समर्थन (केवल noConsole मोड)

1.0.5 / 2020-07-11

  • नेस्टेड प्रगति पट्टियों के लिए समर्थन (केवल noConsole मोड)

1.0.4 / 2020-04-19

  • GUI एप्लिकेशन के लिए Application.EnableVisualStyles() डिफ़ॉल्ट, इसे रोकने के लिए नया पैरामीटर -noVisualStyles

1.0.3 / 2020-02-15

  • git diff की अनुमति देने के लिए फ़ाइलों को UTF-16 से UTF-8 में परिवर्तित किया गया
  • कंसोल मोड में सुरक्षित स्ट्रिंग अनुरोध में नियंत्रण कुंजियों को अनदेखा करें

1.0.2 / 2020-01-08

  • github पर उदाहरण जोड़े गए

1.0.1 / 2019-12-16

  • ps2exe.ps1 और Win-PS2EXE में "GUI विंडो के लिए असीमित विंडो चौड़ाई" समस्या ठीक की गई

1.0.0 / 2019-11-08

  • पहला स्थिर मॉड्यूल संस्करण

0.0.0 / 2019-09-15

  • प्रायोगिक
टूल डाउनलोड करें