---
# System prepended metadata

title: EV3 Arm
tags: [HITCON CTF 2019 Quals]

---

# EV3 Arm

The challenge provided a picture of robot commands and a YouTube video of EV3 Robot drawing `hitcon{` with a marker pen.

It also provided a `.rbf` file, which is some program code file of EV3 (the picture is likely the picture in rbf editor).

So I found this: [(Link)](http://ev3treevis.azurewebsites.net/), an online "decompiler"!

So we have a list of operation that the robot will execute like this:

```
ev3_arm-17958868466f3801c4926675e13863b838e8e7cc
 ├─ MediumMotor.Degrees brake: 0 | port_motor: B | rotations: 35 | speed: -15
 ├─ MediumMotor.Degrees brake: 0 | port_motor: A | rotations: 720 | speed: -75
 ├─ MediumMotor.Degrees brake: 0 | port_motor: B | rotations: 35 | speed: 15
 ├─ MediumMotor.Degrees brake: 0 | port_motor: A | rotations: 360 | speed: 75
 ├─ MediumMotor.Degrees brake: 0 | port_motor: B | rotations: 35 | speed: -15
 ├─ Motor.Rotations brake: 1 | port_motor: C | rotations: 2 | speed: 70
 ├─ MediumMotor.Degrees brake: 0 | port_motor: A | rotations: 360 | speed: -75
 ├─ MediumMotor.Degrees brake: 0 | port_motor: B | rotations: 35 | speed: 15
 ├─ MediumMotor.Degrees brake: 0 | port_motor: A | rotations: 720 | speed: 75
 ...
```

And it matches the picture provided.

So next we have to guess (by the youtube video), what A, B, C represent, as well as the +ve/-ve speed and rotations.

After some observation of the Youtube video, I figure out, and write a Python **turtle** script to simulate it lol

(This is the only actual use of the **turtle** module I can found lol, I only used it when I was learning Python in university sosad)


With few tunes of the parameter I can (roughly) get the flag :)

{%gist harrier-lcc/9f05026d12c838c75c888f4c54c7887a %}

###### tags: `HITCON CTF 2019 Quals`