關于PS2EXE
PS2EXE是一個可以將PowerShell腳本編譯為可執行程序的模塊,在GUI和Ingo Karstein腳本的支持下,該模塊能夠生成真正的Windows可執行程序。除此之外,PS2EXE還支持PowerShell 5.x和圖形化前端。
注意事項
有一些人可能會濫用PS2EXE來編譯他的計算機病毒腳本,因此越來越多的病毒掃描程序會將使用PS2EXE創建的程序識別為惡意程序并將其刪除。因此,希望大家不要將其用于惡意目的。
工具安裝
首先,我們需要使用下列命令將該項目源碼克隆至本地:
- gitclonehttps://github.com/MScholtes/PS2EXE.git
接下來,運行下列命令安裝PS2EXE:
- PSC:\>Install-Moduleps2exe
工具使用
- 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][-UNICODEEncoding]
- [-credentialGUI][-iconFile'<filename>'][-title'<title>'][-description'<description>']
- [-company'<company>'][-product'<product>'][-copyright'<copyright>'][-trademark'<trademark>']
- [-version'<version>'][-configFile][-noOutput][-noError][-noVisualStyles][-requireAdmin]
- [-supportOS][-virtualize][-longPaths]
參數解釋
- inputFile=你需要轉換為可執行程序的PowerShell腳本(文件需要是UTF8或UTF16編碼)
- outputFile=目標可執行文件名稱或目錄
- prepareDebug=創建調試幫助信息
- x86或x64=編譯運行時32位或64位代碼
- lcid=編譯可執行程序的位置ID
- STA或MTA=單線程模式或多線程模式
- noConsole=生成的可執行文件為Windows應用程序,不帶終端窗口
- UNICODEEncoding=將輸入編碼為UNICODE(終端模式)
- credentialGUI=使用GUI彈出憑證窗口(終端模式)
- iconFile=編譯可執行文件的圖標文件名
- title=標題信息
- description=描述信息
- company=公司信息
- product=產品信息
- copyright=版權信息
- trademark=商標信息
- version=版本信息
- configFile=編寫配置文件(<outputfile>.exe.config)
- noOutput=生成可執行文件,不帶標準輸出
- noError=生成可執行文件,不帶錯誤輸出
- noVisualStyles=禁用WindowsGUI應用程序的可視化風格
- requireAdmin=如果啟用的UAC,編譯的可執行文件只會在提權上下文中執行
- supportOS=使用最新Windows版本的功能
- virtualize=激活應用程序虛擬化
- longPaths=啟用長路徑支持
項目地址
PS2EXE:【GitHub傳送門】
原文地址:https://www.freebuf.com/articles/system/290918.html