DEV Community

Cover image for Executando Assembly com QEMU no WSL
Kailane Felix
Kailane Felix

Posted on • Edited on

4 2

Executando Assembly com QEMU no WSL

Instalar o WSL 2

Apenas execute o comando abaixo no prompt de comando do Windows:

wsl --install
Enter fullscreen mode Exit fullscreen mode

Para isso funcionar, o WSL precisa estar na versão 2. Você pode verificar rodando o seguinte comando no no prompt de comando do Windows:

wsl -l -v
Enter fullscreen mode Exit fullscreen mode

A saída esperada é o número 2 na coluna Version:

Saída esperada do comando

Caso esteja versão certa, sorria e passe pra próxima fase! Caso contrário, atualize o WSL.

Para fazer a atualização do WSL 1 para o WSL 2, use o comando: wsl --set-version <distro name> 2 substituindo pela distribuição do Linux que você deseja atualizar. Use wsl --set-version Ubuntu-20.04 2 definirá sua distribuição do Ubuntu 20.04 para usar o WSL 2.

Atualizar o sistema do WSL

Antes de instalar os programas necessários, precisamos atualizar o Ubuntu que está rodando no WSL. Para fazer isso, execute o seguinte comando no prompt dentro do WSL:

sudo apt update && sudo apt upgrade
Enter fullscreen mode Exit fullscreen mode

Você pode executar esse comando de vez em quando para atualizar os programas já instalados.

Instalar o nasm

O Netwide Assembler (nasm), é um montador e desmontador que suporta as arquiteturas IA-32 e x86-64. Ele é responsável por transformar os códigos em assembly para linguagem de máquina. Para instalar, basta executar o seguinte comando:

sudo apt install nasm
Enter fullscreen mode Exit fullscreen mode

Instalar o qemu

O QEMU é um emulador e virtualizador de máquinas de código aberto e genérico. Para instalar o QEMU, execute o seguinte comando:

sudo apt install qemu qemu-system-x86
Enter fullscreen mode Exit fullscreen mode

Isso instala o qemu e o suporte para emular x86 (i386 e x86_64).

Compilar

nasm -f bin input.asm -o output.bin
qemu-system-i386 output.bin
Enter fullscreen mode Exit fullscreen mode

Erros comuns e como resolver:

Se você executa o programa, janelinha do QEMU não abre e você se depara com um erro como esse:

Mensagem de erro

Siga os seguintes passos:

Instalar e configurar o VcXsrv

Baixe o instalador do VcXsrv e conclua a instalação do programa. Ele nos permitirá abrir janelas do Linux pelo WSL como janelas do Windows, assim poderemos executar nossos códigos com uma interface gráfica.

Para configurar, abra o aplicativo e avance na configuração padrão, atenção para deixar a opção 'Disable Access Control' marcada.

Lembre-se de manter o programa aberto e rodando na hora de compilar o programa.

Depois disso, executar os seguintes comandos no terminal WSL (somente uma vez):

echo "export DISPLAY=\$(awk '/nameserver/{print \$2; exit;}' /etc/resolv.conf):0.0" >> ~/.bashrc
source ~/.bashrc
echo $DISPLAY
Enter fullscreen mode Exit fullscreen mode

O resultado se parecerá com isso : 172.18.0.1:0.0 ou isso 192.168.32.1:0.0.

Execute seu programa e seja feliz :)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs