PolySwarm

This page is available in English.

Está página está disponible en español.

このページは日本語でもご利用いただけます。

이 페이지는 한국어로만 표시됩니다.

We use cookies to better understand how you use our site, and to make it easier to use in the future. If you do not consent to our use of cookies, you can change your Privacy Settings or Decline.

Accept

Entorno de desarrollo Windows

(Recomendado) Configuración de invitado de VirtualBox

En este momento, la única configuración plenamente compatible para desarrollar motores sobre Windows es dentro de un invitado de VirtualBox.

Aviso: Las recomendaciones aquí incluidas son el resultado de un trabajo minucioso. Te recomendamos encarecidamente llevar a cabo las pruebas usando los parámetros exactos que se indican. Nos resultará más difícil prestarte ayuda si empleas cualquier otra configuración.

Requisitos del sistema

El desarrollo de motores sobre Windows impone unas exigencias nada despreciables para el host de desarrollo:

  • Windows 10 (probado con Windows 10 Pro, versión 1809)
  • Compatibilidad con VT-x habilitada en la BIOS
  • Mínimo de 16 GB de RAM
  • Mínimo de 4 núcleos de CPU
  • Mínimo de 100 GB de espacio en disco

Usaremos VirtualBox. VirtualBox deberá ser el propietario exclusivo de tu hipervisor. Ello implica que no puedes ejecutar:

  • Hyper-V,
  • Windows Credential Guard,
  • Windows Device Guard,
  • VMWare Workstation o Player, o
  • cualquier otro producto que use extensiones para hipervisor.

Aviso: La virtualización anidada NO es una configuración compatible en la actualidad.

Estas instrucciones asumen que la instalación host de Windows se ejecuta "en limpio". Próximamente se incluirán instrucciones específicas para desarrollar bajo un hipervisor (por ejemplo, AWS).

Requisitos previos

Crea un invitado de Windows

Usa VirtualBox para crear una máquina virtual de Windows usando los siguientes parámetros:

  • Nombre: polyswarm_win
  • Tipo: Microsoft Windows
  • Versión: Windows 10 (64 bits)
  • RAM: 4 GB o más
  • CPU: 2 núcleos o más
  • Memoria de vídeo: 128 MB
  • Espacio en disco: 50 GB o más

Usa la configuración por defecto para las demás opciones. Sobre todo, NO habilites la aceleración 3D.

Instala Windows 10

Usa la ISO que has descargado para instalar Windows en la máquina virtual.

Aviso: No se recomienda realizar actualizaciones de Windows en una máquina virtual de VirtualBox, ya que es muy probable que la dejen en un estado imposible de arrancar. Recomendamos deshabilitar Windows Update tan pronto como instales Windows en ella.

Instala adiciones de invitados de VirtualBox

Las adiciones de invitados (“Guest Additions”) son necesarias para disfrutar de las funciones de portapapeles compartido o copiar y pegar entre el invitado y el host.

Consulta el manual de VirtualBox.

Creación de invitado completada

Una vez instaladas las adiciones de invitados, ya estás listo para Configurar Windows de cara al desarrollo dentro de la máquina virtual.

Configuración personalizada (no compatible)

Aviso: Por ahora, el desarrollo de motores en Windows fuera de una máquina virtual VirtualBox te impedirá ejecutar pruebas de integración. Te recomendamos encarecidamente que, por el momento, lleves a cabo el desarrollo dentro de un invitado Windows de VirtualBox tal y como se ha descrito anteriormente.

Requisitos mínimos del sistema:

  • Windows 10*
  • Mínimo de 4 núcleos de CPU
  • 4 GB de RAM

*Es posible que funcionen versiones anteriores de Windows pero, por ahora, no se han probado ni se ofrece ayuda con ellas.

Configura Windows

Necesitamos privilegios de Administrador para realizar varios cambios en la configuración por defecto de Windows. Para ello, abriremos una consola PowerShell “con privilegios”/”elevada”:

  • busca “PowerShell” en la barra de búsqueda del escritorio;
  • haz clic con el botón derecho en “Windows PowerShell”;
  • selecciona “Ejecutar como administrador”.

Ejecuta lo siguiente en esa consola PowerShell con privilegios:

  1. Autoriza la ejecución de scripts (necesaria para instalar Chocolatey y usar entornos virtuales):

     Set-ExecutionPolicy Bypass -Scope LocalMachine -Force
    
  2. Obliga a PowerShell a usar TLSv2 (requerido por algunas dependencias):

     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    

Instala Chocolatey y los requisitos previos

Chocolatey es un gestor de paquetes para Windows. Lo emplearemos para facilitar la instalación de algunos requisitos previos.

Ejecuta lo siguiente en una consola PowerShell con privilegios.

  1. Instala Chocolatey:

     iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
  2. Usa Chocolatey para instalar los requisitos previos (de uno en uno):

     choco install -y python --version 3.5.4
     choco install -y git
     choco install -y visualcpp-build-tools --version 14.0.25420.1
    

Deshabilita cualquier protección contra código malicioso

Aviso: Te recomendamos encarecidamente deshabilitar todos los productos de protección contra código malicioso, incluida la instalación de Windows Defender integrada. A continuación, indicamos cómo deshabilitar Windows Defender. Se deja al lector el trabajo de deshabilitar cualquier otra solución de terceros.

Se entiende que los motores de PolySwarm deben entrar en contacto con el código malicioso. Cualquier otro sistema de protección contra código malicioso, incluida la instalación de Windows Defender integrada, podría fácilmente interferir y poner en cuarentena o borrar archivos durante el desarrollo.

Deshabilitar Windows Defender consta de dos pasos:

  1. Ejecuta el siguiente comando en un PowerShell con privilegios:

     Set-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender' DisableAntiSpyware 1
    
  2. Reinicia Windows.

Configura un entorno virtual (virtualenv)

Si piensas usar esta instalación de Windows para otros fines, te recomendamos mantener limpios los paquetes de Python que afectan a todo el sistema creando un entorno virtual virtualenv de PolySwarm:

cd ~
python -m venv polyswarmvenv
./polyswarmvenv/Scripts/Activate.ps1

Instala las bibliotecas de polyswarm-client

Información: Si estás usando un entorno virtual (ver arriba), asegúrate de activarlo antes de instalar "polyswarm-client".

Para instalar polyswarm-client en Windows es necesario instalar dos paquetes:

pip install -v -U git+https://github.com/polyswarm/ethash.git#egg=pyethash
pip install polyswarm-client

Verificar la instalación

¡Ahora ya deberías tener un entorno de desarrollo funcional!

Para comprobarlo, intenta importar polyswarmclient:

$ python
Python 3.5.4 (v3.5.4:3f56838, Aug  8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import polyswarmclient
>>>

La importación de polyswarmclient debería llevarse a cabo sin problemas.

A continuación, te guiaremos en la creación de tu propio micromotor de PolySwarm, capaz de detectar el archivo de prueba EICAR.

Crea un micromotor “Hola mundo” →