Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PS2EXE — Módulo para compilar scripts de PowerShell a ejecutables. | Kitploit
Herramientas/GitHubGitHub/mscholtes/ps2exe
Generación de PayloadsScripting y AutomatizaciónUtilidades y Frameworks
GitHubmscholtes/ps2exe

PS2EXE

Módulo para compilar scripts de PowerShell a ejecutables.

Ver Repositorio
1.8k24725hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Repositorio libre de IA - la inteligencia artificial está matando la creatividad y nuestra naturaleza

PS2EXE

Refinamiento del gran script de Ingo Karstein con soporte GUI. La salida y entrada GUI se activan con un solo interruptor, se generan ejecutables reales de Windows. Compila solo scripts compatibles con PowerShell 5.x. Con interfaz gráfica opcional Win-PS2EXE.

Versión del módulo.

Puede encontrar la versión basada en script aquí (https://github.com/MScholtes/TechNet-Gallery).

Autor: Markus Scholtes

Versión: 1.0.18

Fecha: 2026-06-06

Instalación

PS C:\> Install-Module ps2exe

o descárguelo desde aquí: https://www.powershellgallery.com/packages/ps2exe/.

Uso

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

o

  ps2exe .\source.ps1 .\target.exe

compila "source.ps1" en el ejecutable target.exe (si se omite ".\target.exe", la salida se escribe en ".\source.exe").

o inicie Win-PS2EXE para una interfaz gráfica con

  Win-PS2EXE

Parámetros

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 = Script de PowerShell que desea convertir a ejecutable (el archivo debe estar codificado en UTF8 o UTF16)
     outputFile = Nombre o carpeta del archivo ejecutable de destino; por defecto, inputFile con extensión '.exe'
   prepareDebug = Crea información útil para la depuración
     x86 or x64 = Compilar solo para tiempo de ejecución de 32 o 64 bits
           lcid = ID de ubicación para el ejecutable compilado. Se usa la configuración regional del usuario actual si no se especifica
     STA or MTA = Modo 'Single Thread Apartment' o 'Multi Thread Apartment'
      noConsole = El ejecutable resultante será una aplicación de Windows Forms sin ventana de consola
        conHost = Forzar inicio con conhost como consola en lugar de Windows Terminal (deshabilita redirecciones)
UNICODEEncoding = Codificar la salida como UNICODE en modo consola
  credentialGUI = Usar GUI para solicitar credenciales en modo consola
       iconFile = Nombre del archivo de icono para el ejecutable compilado
     embedFiles = Archivos a incrustar dados como hash, se extraerán según la clave del hash, los nombres de archivo de origen deben ser únicos
                  (p. ej., -embedFiles @{'RutaArchivoDestino'='RutaArchivoOrigen'} )
          title = Información del título (se muestra en la pestaña de detalles del cuadro de diálogo de propiedades del Explorador de Windows)
    description = Información de descripción (no se muestra, pero se incrusta en el ejecutable)
        company = Información de la empresa (no se muestra, pero se incrusta en el ejecutable)
        product = Información del producto (se muestra en la pestaña de detalles del cuadro de diálogo de propiedades del Explorador de Windows)
      copyright = Información de copyright (se muestra en la pestaña de detalles del cuadro de diálogo de propiedades del Explorador de Windows)
      trademark = Información de marca comercial (se muestra en la pestaña de detalles del cuadro de diálogo de propiedades del Explorador de Windows)
        version = Información de versión (se muestra en la pestaña de detalles del cuadro de diálogo de propiedades del Explorador de Windows)
     configFile = Escribir archivo de configuración (<outputfile>.exe.config)
       noOutput = El ejecutable resultante no generará salida estándar (incluye canalización verbose e información)
        noError = El ejecutable resultante no generará salida de error (incluye canalización warning y depuración)
 noVisualStyles = Deshabilitar estilos visuales para una aplicación GUI de Windows generada (solo con -noConsole)
   exitOnCancel = Sale del programa cuando se selecciona Cancelar o "X" en un cuadro de entrada Read-Host (solo con -noConsole)
       DPIAware = Si la escala de pantalla está activada, los controles GUI se escalarán si es posible (solo con -noConsole)
   requireAdmin = Si UAC está habilitado, el ejecutable compilado se ejecuta solo en contexto elevado (aparece el diálogo de UAC si es necesario)
      supportOS = Utiliza funciones de las versiones más recientes de Windows (ejecute [Environment]::OSVersion para ver la diferencia)
     virtualize = Se activa la virtualización de la aplicación (forzando el tiempo de ejecución x86)
      longPaths = Habilitar rutas largas (> 260 caracteres) si está habilitado en el SO (solo funciona con Windows 10)

Un ejecutable generado tiene los siguientes parámetros reservados:

-? [<MODIFIER>]     Texto de ayuda de PowerShell del script dentro del ejecutable. La combinación de parámetros opcional
                    "-? -detailed", "-? -examples" o "-? -full" se puede utilizar para obtener el texto de ayuda correspondiente.
-debug              Fuerza la depuración del ejecutable. Llama a "System.Diagnostics.Debugger.Launch()".
-extract:<FILENAME> Extrae el script de PowerShell dentro del ejecutable y lo guarda como FILENAME.
                    El script no se ejecutará.
-wait               Al final de la ejecución del script escribe "Hit any key to exit..." y espera que se presione una tecla.
-end                Todas las opciones siguientes se pasarán al script dentro del ejecutable.
                    Todas las opciones anteriores son utilizadas por el propio ejecutable y no se pasarán al script.

Comentarios

Uso de PowerShell Core:

PS2EXE se puede usar con PowerShell Core. Para hacerlo, simplemente instale el módulo PS2EXE en PowerShell Core como se describió anteriormente. Pero dado que .Net Core no incluye un compilador, se usa el compilador de .Net Framework (.Net Framework y PowerShell 5.1 están incluidos en Windows).

Por esta razón, PS2EXE solo puede compilar scripts compatibles con PowerShell 5.1 y genera binarios de .Net 4.x, pero aún se puede usar directamente en todos los sistemas operativos Windows compatibles sin dependencias.

Incrustar archivos en ejecutables compilados:

Con el parámetro -embedFiles seguido de una tabla hash con rutas a archivos, esos archivos se incrustarán en el ejecutable compilado. Al iniciar el ejecutable, esos archivos se escribirán en el disco en las rutas especificadas, p. ej., -embedFiles @{'RutaArchivoDestino1'='RutaArchivoOrigen1';'RutaArchivoDestino2'='RutaArchivoOrigen2'}. Los nombres de archivo de origen deben ser únicos. Se permiten rutas absolutas y relativas. Para las rutas de destino, una ruta relativa que comienza con '.\' se interpreta como relativa al ejecutable, sin el '.\' inicial como relativa a la ruta actual en tiempo de ejecución. Los directorios se crean automáticamente al inicio si es necesario. En la ruta de destino, las variables de entorno en notación cmd.exe como %TEMP% o %APPDATA% se expanden en tiempo de ejecución. Un error al crear uno de los archivos incrustados detendrá inmediatamente la ejecución del ejecutable compilado.

Lista de cmdlets no implementados:

Los comandos básicos de entrada/salida tuvieron que reescribirse en C# para PS2EXE. No están implementados Write-Progress en modo consola (demasiado trabajo) y Start-Transcript/Stop-Transcript (no hay una implementación de referencia adecuada de Microsoft).

Descargar herramienta