Rust fixme 1 writeup

Descripción

Have you heard of Rust? Fix the syntax errors in this Rust file to print the flag! Download the Rust code here.

Rust fixme 1 solución

Nos descargaremos el archivo y obtendremos un ‘.tar.gz’. Tendremos que descomprimirlo con el siguiente comando:

tar -xvzf fixme1.tar.gz

Esto nos devolverá una carpeta llamada fixme1.

Ahora, procederemos a instalar cargo, el compilador de Rust (si no lo tenemos instalado):

sudo apt-get install cargo

Nos moveremos a la carpeta ‘/fixme1’ y lanzaremos el siguiente comando para compilar el proyecto:

cargo build

Esto nos devolverá todos los errores que tiene el programa:

Editaremos el archivo fuente:

nano src/main.rs

Ahora, tendremos que hacer tres cambios para que el programa pueda compilar:

  1. Poner un ‘;’ detrás del statement
let key = String::from("CSUCKS"); // How do we end statements in Rust?
  1. Hacer que una función finalice si hay un error
if res.is_err() {
    return; // How do we return in rust?
}
  1. Arreglar la impresión de la flag
println!(
    "{:?}", // How do we print out a variable in the println function?
    String::from_utf8_lossy(&decrypted_buffer)

Una vez hecho esto, compilaremos el proyecto:

cargo build

Y lo ejecutaremos

cargo run

Esto nos devolverá la flag:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *